MSP432入门之流水灯实验


最近在电赛培训网参加活动,中了一块TI的单片机开发板,具体型号为SimpleLink Ethernet MSP432E401Y Microcontroller LaunchPad。
这两天打算简单学一学这款单片机。
不得不说,网上关于MSP432单片机的资料是真的少,关于MSP432E4的资料更是少的可怜。
无奈只能从读TI官方给出的SDK和datasheet开始学习了。

开发环境的选择

MSP432可以采用keil,ccs,iar来进行开发,这里我选择了官方主推的ccs来进行学习。
从ti的官网下载ccs和MSP432E4的SDK,并将ccs和SDK配置好,之后就可以进行我们的开发了。

driverlib和tidriver

关于MSP432,官方的SDK中给出了两大类库,driverlib和tidriver.
driverlib更接近底层,能实现的功能也更加的丰富。
tidriver更加的抽象,也更容易理解和使用,更重要的是,tidriver可以采用图形化的操作来配置单片机的外设。
当然,tidriver的功能可能不是特别的完善,所以有时候也可以调用driverlib中的部分功能或者直接操作寄存器来实现某些功能,不过tidriver和driverlib的某些文件可能会产生冲突,这一点在使用时是需要注意的。

流水灯实验

SDK中提供了很多demo,我们可以直接通过导入demo的工程来进行开发,这里我们采用tidriver的工程来进行开发,对于初学者来说,图形化的外设配置相比于代码要容易好多。
首先我们打开css,导入一个tidriver库中的demo,随便挑选一个就可以。

  • 导入工程

通过项目管理栏可以看出,工程中主要有两个c文件,main_nortos.c主要负责开发板的初始化启动,启动后跳转到gpiointerrupt.c中的mainThread函数中运行,这里我们不需要进行改动。

  • mainnortos.c

gpiointertupt.c文件中有一个mainThread函数,我们要在mainThread函数中书写我们需要的用户代码。

外设的配置
打开资源管理栏后缀名为syscfg的配置文件,在其中配置我们需要使用的设备。
这里我们配置4个LED灯就可以。

  • 图形化外设配置

保存之后,我们对外设的配置都会保存到ti_driver_config.c(.h)文件中.

  • ti_driver_config.h

打开interrupt函数,删掉原有代码,编写我们需要的代码。

  • interrupt.c

点击导航栏进行编译和烧录

  • 编译和烧录

之后,就可以看到板子上的4个LED轮流点亮和熄灭了。

  • 运行效果

部分源码

void delay(){
int i=0;
for(i=0;i<1000000;i++);
}

void *mainThread(void arg0)
{
/
Call driver unit functions /
GPIO_init();
/
Configure the LED and button pins */
GPIO_setConfig(CONFIG_GPIO_1, GPIO_CFG_OUT_STD | GPIO_CFG_OUT_LOW);
GPIO_setConfig(CONFIG_GPIO_2, GPIO_CFG_OUT_STD | GPIO_CFG_OUT_LOW);
GPIO_setConfig(CONFIG_GPIO_3, GPIO_CFG_OUT_STD | GPIO_CFG_OUT_LOW);
GPIO_setConfig(CONFIG_GPIO_4, GPIO_CFG_OUT_STD | GPIO_CFG_OUT_LOW);
while(1){
delay();
GPIO_toggle(CONFIG_GPIO_1);
delay();
GPIO_toggle(CONFIG_GPIO_2);
delay();
GPIO_toggle(CONFIG_GPIO_3);
delay();
GPIO_toggle(CONFIG_GPIO_4);
}
return (NULL);
}


文章作者: pcl
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 pcl !
评论
  目录