-
不知道是不是中断服务函数里的case有问题,里面的case2对应的应该是CCR1的CCIFG中断标志,但我用的不知道是不是CCR1寄存器,如果不是那又怎么改?
-
这位朋友,还是不行,无论像4楼所说使能上拉电阻与否,再加上你的TAIE中断,灯还是依旧不闪
-
加了句P1REN=BIT2;使能P1.2上下拉电阻,LED2还是不闪
-
刚才试了下,LED2状态还是不变的,应该是程序有问题了
-
我用的IAR版本是V5.5.02,听说有自带的固件降级程序,你知道怎么用吗?
-
那请问固件怎么降级的?
-
我也不是很清楚,但记得是430在安装驱动的时候我点击过某些东西,我用的是IAR,固件升级的话好像要在IAR的某些选项中设置的吧,我没在IAR中设置过什么的,但真的不确定是什么原因?所以要是固件升级这问题那又如何解决,另外下载器是不是就是板子自带的仿真器?
-
我也不是很清楚,但记得是430在安装驱动的时候我点击过某些东西,我用的是IAR,固件升级的话好像要在IAR的某些选项中设置的吧,我没在IAR中设置过什么的,但真的不确定是什么原因?所以要是固件升级这问题那又如何解决,另外下载器是不是就是板子自带的仿真器?
[ 本帖最后由 WPD 于 2013-5-10 17:48 编辑 ]
-
感谢版主,能先告诉我为什么要这样做吗?
我明天去学校的实验室试试看!
-
多问一句是杜邦线插上一条排针吗?那排针是直接焊在显示屏的接线孔上的吗
-
不知道能不能在别人的帖子里提问的,不能的话就提醒一句,我另开一个贴
最近准备学习MSP430连接LCD12864液晶显示屏,但在网上总能看到LCD后面总会有一个类似于接口电路之类的,比较疑惑,请问楼主(下图)显示屏后面只是一个普通的排针还是什么特殊电路吗?
[ 本帖最后由 WPD 于 2013-5-3 14:26 编辑 ]
-
十分感谢上面几楼的回答,确实如此,我把1000改成50000(50ms)之后,确实能看到闪烁了,1ms确实太快了,肉眼分辨不出来,“TASSEL2是选择定时器时钟为SMCLK, MCLK是不可能给timer做时钟源的,vloclk是12khz的,所以你的时钟为83.3us, 翻转时间则变成了83.3*1000=83.3ms, 约为12Hz, 低于25Hz,人眼可以分辨”,解决了我的疑惑!
-
下载下来学习,谢谢分享
-
今天偶尔看到这个帖子https://bbs.eeworld.com.cn/thread-314354-1-3.html,研究了附件的代码后,终于把这个问题解决了,在此也希望给在这个问题上同样有疑问的同学一个答案,所以给出新的源代码以供参考:
#include "io430.h"
#include "intrinsics.h"
void main(void)
{
WDTCTL = WDTPW + WDTHOLD;
P1DIR |= 0x41;
P1REN=0x08;//使能P1.3的拉电阻
P1OUT=0x09;//设置P1.0输出高点平,并设置P1.3的拉电阻为上拉方式
while(1)
{
if(!(P1IN&0x08))
{
__delay_cycles(3500);//精确时延
if(!(P1IN&0x08))
{
while(!(P1IN&0x08))
P1OUT^=0x41;
}
}
}
}
该代码实现了按下P1.3键切换红黄两灯的交替闪烁
注:PXREN要和PXUOT配合使用才能实现板子内部拉电阻的上下拉
PxDIR=1时输出
{
PxREN=1只有拉电阻起作用
PxOUT=1上拉
PxOUT=0下拉
PxREN=0推挽输出无拉电阻
PxOUT=1输出高
PxOUT=0输出低
}
PxDIR=0时输入
{
PxREN=1有拉电阻起作用
PxOUT=1上拉
PxOUT=0下拉
PxREN=0时IO呈高阻状态 高阻状态
}
-
感谢你的回答,再问一句那个头文件怎么看,我用的编程工具是IAR,MSP430型号是G2553
-
感谢你的回答,很详细,再问一句那个头文件怎么看,我用的编程工具是IAR,MSP430型号是G2553?
-
感谢分享
-
嗯,看来正如版主所言,我随便拿了个能让红黄灯交替变换闪烁的代码写进去,实验板能实现灯的闪烁了,然后在CCS里随便写了一个,debug了下,灯确实不亮,看来像上次那样把我那错误代码给写进去了,现在想把那实验板的示例代码研究下,我没有那代码,即按下P1.3键能让LED1,LED2停止交替闪烁,按下RESET键就能重新让灯恢复闪烁的功能,不知道版主有没有那代码?
-
感谢分享