MSP430之学习札记
时间:11-23
来源:互联网
点击:
1. MSP430支持的进制类型
在MSP430的C语言中,支持3种形式的进制类型,即十进制(无前缀或后缀)、八进制(添加前缀“0”)和十六进制(添加前缀“0x”)。
令匠人郁闷的是,编译器居然不支持二进制的写法!?这让习惯于与二进制打交道的匠人抓狂不已!呜呼!吐血!
补充:后来和行家聊及此事,被告知C51里也不支持二进制的写法。看来是怪匠人自己平时用汇编多,而用C太少,少见多怪了。
在这一点上,还是飞思卡尔的编译器做的更好,他们支持BIN格式
2. 如何修改tab键对应的空格
IAR软件自带的编辑器,其默认值为按一次TAB键对应2个空格,这不符合匠人自己的习惯。特寻找出修改方法如下:
先选择“Tools”菜单下的“Options…”子菜单,如下图:
打开“IDE Options”窗口,先切换到“Editor”标签页。然后设置TAB键代表的空格数和缩进尺寸等,具体设置可以按各人的习惯进行。然后按“确定”按钮保存设置即可。详细情况见下面的两个图:
注意上图中的“Configure…”按钮,点击后会弹出下面这个对话框,设置自动对齐规则:
3. 如何在C语言中插入汇编指令
如下:
asm ( "nop" ) ;
4. 关于内部的上拉电阻
经过测试,当VCC=3V,上拉电阻开通后,如果该IO口外接到低电平,则该IO口上的电流≈80uA 。也就是说,其内部电阻≈37KΩ。
因此,在一些对静态耗电要求更高的地方,可以考虑用外部电阻,并选用更大的阻值,以降低系统的功耗。
5. 如何生成LST文件
点击菜单“project”下的“Options”项,进入Category列表中C/C++ compiler界面的List标签,选择生成LST文件并进行相关设置,如下图所示:
6. 关于IO口的输入/输出
当一个IO口被设置为输入口,且其输入状态为高电平时,不能对其进行写0操作,否则会改变其读入的状态。例如:
先执行以下指令:
P1DIR = 0x7f; //P1.7口设置为输入状态,其他口设置为输出状态
P1REN = 0x80; /P1.7口上拉使能(外部悬空,未接地)
P1OUT = 0x00; //P1口输出00
此时如果再去判别P1IN,发现读进来的P1.7口电平=0了。将上述第3行指令改成下面的形式:
P1OUT &= 0x80; // P1.0~P1.6口输出0;P1.7口维持原样。
经过这样的操作,则P1.7口读入电平=1。
7. 工作模式
MSP430有一个活动模式(AM)和5个低功耗模式(LPM0~LPM4)。因此,和以往的思路所不同的是,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官方建议我们平时让系统处于待机状态(某一种低功耗模式),而由中断来唤醒并执行相关功能。中断完成后让系统再次进入低功耗待机模式。
MSP430学习札 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)