这个板子呢原先没有接触过,但是根据我刚拿到板子的猜想它应该和32的开发板差不多,学习之后发现还是有一点区别的,最突出的就是超低功耗,说白点就是省电,特别省电,但是就处理能力来说,与stm32相比,430还是有一定差距的,所以说430适用的地方就是需要低功耗的设备,如手持仪表等。虽然它的处理能力和32比起来有差距,但是还是要学习的,今天我们就先来进行第一步,也是每一种单片机学习的第一步----点灯。
首先介绍一下使用的软件----IAR,当然你也可以用CCS,但是感觉下来IAR会更好用一些。
接下来直接写步骤吧
(一)、新建工程
(二)、选择型号
(三)、配置DEBUG
(四)、查相关手册
通过查看MSP430F5529的原理图,可以得知LED1由P10端口控制,LED2由P47端口控制,皆为高电平有效:
通过查看MSP430F5529的数据手册,结合本次项目目的,使用了该开发板IO口的两个控制寄存器:
1.输出寄存器
PxOUT
当IO管脚配置为IO口功能且为输出方向时,每个PxOUT寄存器的每一位就对应着在相应管脚输出的值。
Bit = 0:输出为低;
Bit = 1:输出为高。
2.输入/输出方向寄存器
PxDIR
不论管脚的功能,PxDIR寄存器中的每一位选择相应IO管脚的方向。当管脚被设置为其它功能时,PxDIR位必须按照其他功能的需要进行设置。
Bit = 0:管脚为输入方向;
Bit = 1:管脚为输出方向。
(五)、编写代码
#include "io430.h" void delayMs(unsigned int xms); int main( void ) { // Stop watchdog timer to prevent time out reset WDTCTL = WDTPW + WDTHOLD; P1DIR |= 0x01; P4DIR |= 0x80; while(1) { P1OUT = 0x01; P4OUT = 0x00; delayMs(500); P1OUT = 0x00; P4OUT = 0x80; delayMs(500); } } // 粗略延时 void delayMs(unsigned int xms) { char i; while(xms--) { for(i = 0; i < 100; i++); } }
编译下载到板子里,两个灯就会交替亮灭,本次点灯就到此结束了......