本帖最后由 jinglixixi 于 2019-12-4 19:31 编辑
要想点亮LED,提前要做好相应的准备工作,如安装好对应开发工具,本人是选取惯常使用的Keil V5.23。 此外,还应安装好调试器的驱动程序。由于有以前的开发基础,把开发板的USB调试接口连到电脑后,即可见到新增的虚拟串口。 当然下载好对应的例程来参考和分析也是十分必要的。 在准备工作完成后,通过Keil可见到图1和图2所示的界面。此外,就具备了程序代码的能力。因为在LPC51U68开发板上是具备调试下载功能的。 图1
图2
在开发板对应的例程中,有一个gpio使用的示例,其功能是当按下唤醒键时,对LED灯的状态进行一次切换。 其主程序如下: - int main(void)
- {
- uint32_tport_state = 0;
- /* Define theinit structure for the output LED pin*/
- gpio_pin_config_t led_config = {
- kGPIO_DigitalOutput,
- 0,
- };
- /* Board pin,clock, debug console init */
- /* attach 12MHz clock to FLEXCOMM0 (debug console) */
- CLOCK_AttachClk(BOARD_DEBUG_UART_CLK_ATTACH);
- /* enable clockfor GPIO*/
- CLOCK_EnableClock(kCLOCK_Gpio0);
- CLOCK_EnableClock(kCLOCK_Gpio1);
- BOARD_InitPins();
- BOARD_BootClockFROHF48M();
- BOARD_InitDebugConsole();
- /* Print a noteto terminal. */
- PRINTF("\r\n GPIO Driver example\r\n");
- PRINTF("\r\n The LED is taking turns to shine.\r\n");
- /* Init outputLED GPIO. */
- GPIO_PortInit(GPIO, APP_BOARD_TEST_LED_PORT);
- GPIO_PortInit(GPIO, APP_SW_PORT);
- GPIO_PinInit(GPIO, APP_BOARD_TEST_LED_PORT, APP_BOARD_TEST_LED_PIN,&led_config);
- GPIO_PinWrite(GPIO, APP_BOARD_TEST_LED_PORT, APP_BOARD_TEST_LED_PIN, 1);
- /* Port masking*/
- GPIO_PortMaskedSet(GPIO, APP_BOARD_TEST_LED_PORT, 0x0000FFFF);
- GPIO_PortMaskedWrite(GPIO, APP_BOARD_TEST_LED_PORT, 0xFFFFFFFF);
- port_state =GPIO_PortRead(GPIO, APP_BOARD_TEST_LED_PORT);
- PRINTF("\r\n Standard port read: %x\r\n", port_state);
- port_state =GPIO_PortMaskedRead(GPIO, APP_BOARD_TEST_LED_PORT);
- PRINTF("\r\n Masked port read: %x\r\n", port_state);
- while (1)
- {
- port_state= GPIO_PortRead(GPIO, APP_SW_PORT);
- if(!(port_state & (1 << APP_SW_PIN)))
- {
- PRINTF("\r\n Port state: %x\r\n", port_state);
- GPIO_PortToggle(GPIO, APP_BOARD_TEST_LED_PORT, 1u << APP_BOARD_TEST_LED_PIN);
- }
- delay();
- }
- }
复制代码
从这里我们可以学到在该开发板上使用GPIO口进行输入、输出的方法。 在该示例中,所使用的LED与P1.10,也就是发绿光的那一个。编译下载后,其显示效果如图3所示。 图3
要想更换为其它颜色的LED,只需修改LED连接引脚的定义。 其初始的定义为: #defineAPP_BOARD_TEST_LED_PORT 1U #defineAPP_BOARD_TEST_LED_PIN 10U 根据图4的LED连接图,若发图5所示的蓝光,则改为: #defineAPP_BOARD_TEST_LED_PORT 1U #defineAPP_BOARD_TEST_LED_PIN 9U 若发红光,则改为: #defineAPP_BOARD_TEST_LED_PORT 0U #defineAPP_BOARD_TEST_LED_PIN 29U 图4
图5
若连接上串口,则可见到图6所示的显示信息。 图6
LED示例工程:
|