MSP430之学习札记
在MSP430的C语言中,支持3种形式的进制类型,即十进制(无前缀或后缀)、八进制(添加前缀“0”)和十六进制(添加前缀“0x”)。
令匠人郁闷的是,编译器居然不支持二进制的写法!?这让习惯于与二进制打交道的匠人抓狂不已!呜呼!吐血!
补充:后来和行家聊及此事,被告知C51里也不支持二进制的写法。看来是怪匠人自己平时用汇编多,而用C太少,少见多怪了。
在这一点上,还是飞思卡尔的编译器做的更好,他们支持BIN格式
2.
IAR软件自带的编辑器,其默认值为按一次TAB键对应2个空格,这不符合匠人自己的习惯。特寻找出修改方法如下:
3.
如下:
asm
4.
经过测试,当VCC=3V,上拉电阻开通后,如果该IO口外接到低电平,则该IO口上的电流≈80uA 。也就是说,其内部电阻≈37KΩ。
因此,在一些对静态耗电要求更高的地方,可以考虑用外部电阻,并选用更大的阻值,以降低系统的功耗。
5.
点击菜单“project”下的“Options”项,进入Category列表中C/C++ compiler界面的List标签,选择生成LST文件并进行相关设置,如下图所示:
6.
当一个IO口被设置为输入口,且其输入状态为高电平时,不能对其进行写0操作,否则会改变其读入的状态。例如:
先执行以下指令:
P1DIR = 0x7f;
P1REN = 0x80;
P1OUT = 0x00;
此时如果再去判别P1IN,发现读进来的P1.7口电平=0了。将上述第3行指令改成下面的形式:
P1OUT &= 0x80;
经过这样的操作,则P1.7口读入电平=1。
7.
MSP430有一个活动模式(AM)和5个低功耗模式(LPM0~LPM4)。因此,和以往的思路所不同的是,MSP430官方建议我们平时让系统处于待机状态(某一种低功耗模式),而由中断来唤醒并执行相关功能。中断完成后让系统再次进入低功耗待机模式。
评论