蓝雨LOVE诗
获得 0 次赞
帮助过0人
我要写一个程序,主要思路如下: 首先定时器设定一个初值1000,然后定时器自加,加到1000后,跳入中断,执行一次判断 if(P1IN&BIT0==0),若满足条件则 k++;我要的数据就是k的值。但是,我现在有个问题,在中断程序里,我必须给K赋初值,k=0。这样的话,不管我跳入几次中断,满足几次条件,K最多等于1。我该怎么改? 程序如下: void main(void) { //int k=0,i; WDTCTL = WDTPW+WDTHOLD; //关闭看门狗 P1DIR &=0X00;//~BIT0; CCTL0=CCIE+CM1; CCR0=1000; TACTL=TASSEL_1+MC_1; //用外部特定的引脚信号,增计数模式 _BIS_SR(LPM3_bits+GIE); //开中断允许 //LPM0; } #pragma vector=TIMERA0_VECTOR __interrupt void Timer_A (void) { int k=0; void Delay4000ms(); if(P1IN&BIT0==0) k++; LcdReset(); //显示程序的初始化 Disp1Char(11,0,shuzi[k]); 在1602中显示k的值 }
我的思路是这样的,给随便一个IO口接电路,电路时高低电平变化的,设k初值为0.每变换一次额高低电平,k加1.最后输出K的值.我的电路设计的高低电平变换最多只有6次. 这只是我的想法,最总怎么实现,想问问各位大神的意见,请教教我程序应该怎么写?,
P1DIR = 0XFF;P1OUT = 0XFF; P2DIR = 0XFF;P2OUT = 0XFF; P3DIR = 0XFF;P3OUT = 0XFF; P4DIR = 0XFF;P4OUT = 0XFF; P5DIR = 0XFF;P5OUT = 0XFF; P6DIR = 0XFF;P6OUT = 0XFF; 我看到很多程序开头都这样写,我不知道为什么430的程序开头要关闭所有的IO口?请大神指教。
我想用霍尔传感器测量一本书的厚度,用霍尔传感器测位移的原理,大概要能测出1~4cm吧,想问问大神们有没有什么建议,我该选线性霍尔元件,还是开关式霍尔元件? 我只是一个思路,具体的怎么测呢,我还不清楚,本人第一次用霍尔传感器,有谁能指点我一下吗?感激不尽。
protues里有没有精密的运放??因为我要用430做东西,所以想找个精密的运放,但是我不知道哪个才是。像opa3**,opa4****系列的。有哪位大神知道吗?
MSP430F249MPMEP和MSP430F249TPMR的区别是什么?我要买元件。但是又两种,我不敢乱买,请大神指教。谢谢。