关于关键字和宏定义的问题, 我来补充下.51与MSP430都有自已一套指令集,如何是汇编的话,两者的区别是非常大的;C语言的话,它们的相通之处还是很多的.如在51中,要把数据放在FLASH中,可以用 unsigned char code 而MSP430呢,可以用const unsigned char 它们是等效的.在MSP430中,monitor关键字的意思是在执行这个子程序的时候不允许中断. 而51就没有这个关键字.宏定义呢,差别不大,由于MSP430不支持位操作,当然也可以自已定义.比如我们要给P1口的D0置位,可用 P1OUT |=BIT0; 清零可用,P1OUT &=~BIT0;
关于中断问题。 51中,中断的是可以嵌套的。而MSP430呢,也可以。不过要注意的MSP430进行中断之后呢,会立刻关闭总中断的,中断服务程序执行完之后又自动打开,如果你要在430中断之后又要进入另一个中断的话,那你就要打开总断了。不过这样的话,处理不当会引起程序跑飞的。
关于MSP430与外围器件的设计问题。 大家都知道430是3.3V电平的。有不少的器件是5V是电平的。这样就涉及到逻辑电平匹配的问题,该不该用3.3V到5V或者是5V到3.3V的电平转换呢。我个人认为,得根据具体情况具体分析,一般来说,用3.3V来驱动5V是没有问题的,而输入呢,5V的电平MSP430可以承受,不过最好是用5V到3.3V的电平转换了。
说得不对的,请网友指正。望网友继续补充下去。关于MSP430编程的问题,这部分待其他网友来补上吧。MSP430的速度是比较快的,还有它有很多的外围模块,设计与编程时该如何安排等.
|