开发板拿到的第一件事情是开箱,第二件事就是点灯了。只有点亮了灯,才能说明开发工作可以正常进行。
下载官方的mspm0_sdk_1_20_00_05.exe后安装到电脑,会解压出来一堆文件,其中有一些例子,接下来就先在例子的基础上跑一个Blinky试试看。
C:\ti\mspm0_sdk_1_20_00_05\examples\nortos\LP_MSPM0L1306\driverlib\gpio_toggle_output
/* Port definition for Pin Group GPIO_LEDS */
#define GPIO_LEDS_PORT (GPIOA)
/* Defines for USER_LED_1: GPIOA.27 with pinCMx 28 on package pin 31 */
#define GPIO_LEDS_USER_LED_1_PIN (DL_GPIO_PIN_27)
#define GPIO_LEDS_USER_LED_1_IOMUX (IOMUX_PINCM28)
/* Defines for USER_LED_2: GPIOA.26 with pinCMx 27 on package pin 30 */
#define GPIO_LEDS_USER_LED_2_PIN (DL_GPIO_PIN_26)
#define GPIO_LEDS_USER_LED_2_IOMUX (IOMUX_PINCM27)
/* Defines for USER_LED_3: GPIOA.13 with pinCMx 14 on package pin 17 */
#define GPIO_LEDS_USER_LED_3_PIN (DL_GPIO_PIN_13)
#define GPIO_LEDS_USER_LED_3_IOMUX (IOMUX_PINCM14)
打开后,逐步分解程序,找到配置代码,如上所示,而根据开发板的手册,红色的LED在PA0上,低电平点亮。所以以上默认的代码不能操作到红色的独立LED。
阅读原理图发现开发板上还有一个RGB三色LED灯,在PA13,PA26,PA27上,因此上述的默认配置是该RGB LED灯的。所以咱们先测试一下默认代码看看。
配置烧录器选项
然后单击烧录,发现可以下载了,完成下载后,按单片机开发板的复位按钮,三色RGB开始闪烁,发现不是循环点亮的,修改代码让它三色循环。
int main(void)
{
/* Power on GPIO, initialize pins as digital outputs */
SYSCFG_DL_init();
/* Default: LED1 and LED3 ON, LED2 OFF */
DL_GPIO_clearPins(GPIO_LEDS_PORT, GPIO_LEDS_USER_LED_1_PIN | GPIO_LEDS_USER_LED_2_PIN | GPIO_LEDS_USER_LED_3_PIN);
DL_GPIO_setPins( GPIO_LEDS_PORT, GPIO_LEDS_USER_LED_1_PIN | GPIO_LEDS_USER_LED_2_PIN | GPIO_LEDS_USER_LED_3_PIN);
while (1) {
/*
* Call togglePins API to flip the current value of LEDs 1-3. This
* API causes the corresponding HW bits to be flipped by the GPIO HW
* without need for additional R-M-W cycles by the processor.
*/
delay_cycles(10000000);
DL_GPIO_togglePins(GPIO_LEDS_PORT, GPIO_LEDS_USER_LED_1_PIN);
delay_cycles(10000000);
DL_GPIO_togglePins(GPIO_LEDS_PORT, GPIO_LEDS_USER_LED_2_PIN);
delay_cycles(10000000);
DL_GPIO_togglePins(GPIO_LEDS_PORT, GPIO_LEDS_USER_LED_3_PIN);
}
}
|