拿到了MSP432有一段时间了,前段时间刚好搞好仿真器驱动的问题。瞄了一下MSP432的手册,跟MSP430的差不多。 首先我们看看手册IO 部分的介绍。 跟MSP430的手册答题相似,所以看起来就很简单明了。
PxSEL0和PxSEL1这两个位是设置IO的模式,如下图: 然后还要根据MSP432的收据手册的管脚映射部分,就可以知道该怎样配置管脚相应的模式。
如下图部分的管脚的配置模式。 前面简单介绍了IO的部分的特性。
现在来用寄存器的方式来点亮板子的LED。我这次用的编译器是mdk 5.14。想用MDK开发MSP432的童鞋们,要把MDK升级到5.14版本。我使用了TI的函数库和寄存器的方式点了个灯。工程我会发上来。那么我们的函数库怎么能拿到,这个很简单。我们可以从CCS6.1中可以找到库函数的源代码。如下图的路径: 如下图,我把工程添加到自己的工程中: 然后我们把他们添加到面板中: 然后我们要在keil的宏定义框中填上几个参数:
TARGET_IS_MSP432P4XX,__MSP432P401R__,keil 最关键的是要填上keil 这个参数,否则编译器会报错。通过查找,我们可以定位到这个参数的的作用: 因为在cpu.c有些指令在不同编译器是不同的,所以TI的把这个文件做成多编译器兼容的,通过画着红色框的宏开关来控制。所以这里为什么要填上keil参数的原因了。 废话少说,马上进入点灯的环节。我们按一下步奏走: (1)关看门狗。 (2)设定IO的方向 (3)IO翻转,实现LED闪烁。 代码如下: #include "msp.h" // Device header #include "driverlib.h" int main() { volatileuint32_t i;
// Stop watchdog timer WDT_A_hold(WDT_A_BASE);
//P1DIR|= 0x01;//设定P1.0为输出
GPIO_setAsOutputPin( GPIO_PORT_P1, GPIO_PIN0 );
while(1) { //P1OUT^= 0x01;// 翻转P1.0实现LED闪烁 GPIO_toggleOutputOnPin(GPIO_PORT_P1,GPIO_PIN0); // Delay for(i=10000; i>0; i--); }
}
仿真器的配置方法如下: 板子上集成的仿真器模块下载程序有些慢,大家耐心等待下。 代码很简单:用到就3函数。 关看门狗函数:WDT_A_hold 设置IO方向函数:GPIO_setAsOutputPin( GPIO_PORT_P1, GPIO_PIN0 ); IO翻转函数:GPIO_toggleOutputOnPin(GPIO_PORT_P1,GPIO_PIN0); 相信大家一看这些函数就大概知道怎么用了,这里我就不多说了。 我还写了一小段的寄存器的,我注释了,设置也很简单。
上个图: 最近有些忙,少上坛子逛了
msp432.pdf
(1.28 MB, 下载次数: 49)
myprj.zip
(302.27 KB, 下载次数: 56)
msp432datasheet.pdf
(5.64 MB, 下载次数: 61)
msp432.pdf
(1.28 MB, 下载次数: 49)
myprj.zip
(302.27 KB, 下载次数: 56)
最后放下小广告:
https://bbs.eeworld.com.cn/huodong/RIGOL20150527/
希望大家也帮我投个票,倒数第三个,倒数第三个,谢谢
|