- /* Set pin mode */
- PINS_SetMuxModeSel(LED_RED_PORT_BASE, LED_RED_PIN, PM_MUX_AS_GPIO);
- PINS_SetMuxModeSel(LED_GREEN_PORT_BASE, LED_GREEN_PIN, PM_MUX_AS_GPIO);
- PINS_SetMuxModeSel(LED_BLUE_PORT_BASE, LED_BLUE_PIN, PM_MUX_AS_GPIO);
- /* Set pin interrupt */
- PINS_SetPinIntSel(LED_RED_PORT_BASE, LED_RED_PIN, PM_DMA_INT_DISABLED);
- PINS_SetPinIntSel(LED_GREEN_PORT_BASE, LED_GREEN_PIN, PM_DMA_INT_DISABLED);
- PINS_SetPinIntSel(LED_BLUE_PORT_BASE, LED_BLUE_PIN, PM_DMA_INT_DISABLED);
- /* GPIO Initialization */
- PINS_SetPins(LED_RED_GPIO_BASE, 1U << LED_RED_PIN);
- PINS_SetPins(LED_GREEN_GPIO_BASE, 1U << LED_GREEN_PIN);
- PINS_SetPins(LED_BLUE_GPIO_BASE, 1U << LED_BLUE_PIN);
- /* Set pin as output */
- PINS_SetPinDir(LED_RED_GPIO_BASE, LED_RED_PIN, 1U);
- PINS_SetPinDir(LED_GREEN_GPIO_BASE, LED_GREEN_PIN, 1U);
- PINS_SetPinDir(LED_BLUE_GPIO_BASE, LED_BLUE_PIN, 1U);
主程序代码如下:- PINS_ClrPins(LED_BLUE_GPIO_BASE, 1U << LED_BLUE_PIN);
- OSIF_TimeDelay(500);
- PINS_WritePin(LED_GPIO, BLUE_LED_PIN, 1);
- PINS_WritePin(LED_GPIO, GREEN_LED_PIN, 1);
- PINS_WritePin(LED_GPIO, RED_LED_PIN, 1);
- OSIF_TimeDelay(500);
- PINS_ClrPins(LED_RED_GPIO_BASE, 1U << LED_RED_PIN);
- OSIF_TimeDelay(500);
- PINS_WritePin(LED_GPIO, BLUE_LED_PIN, 1);
- PINS_WritePin(LED_GPIO, GREEN_LED_PIN, 1);
- PINS_WritePin(LED_GPIO, RED_LED_PIN, 1);
- OSIF_TimeDelay(500);
- PINS_ClrPins(LED_GREEN_GPIO_BASE, 1U << LED_GREEN_PIN);
- OSIF_TimeDelay(500);
- PINS_WritePin(LED_GPIO, BLUE_LED_PIN, 1);
- PINS_WritePin(LED_GPIO, GREEN_LED_PIN, 1);
- PINS_WritePin(LED_GPIO, RED_LED_PIN, 1);
- OSIF_TimeDelay(500);
试验现象:板载的LED灯,以蓝 、红、绿的顺序,以每500MS的间隔进行LED灯闪烁。
实物测试图片如下所示:使用DAP进行调试
开发后记:
在使用keil5开发时候,需要注意下使用arm编译器版本为6.19 低版本的会有问题,导致编译报错,无法正常开发。
然后我使用的调试器是野火的DAP,DAP模式,我是用J-LINK的版本估计比较低,使用的时候会报错,如下所示: