再说一句,在学习C语言的时候,我们知道有一个实现了标准输入输出的库文件stdio.h,里面实现了printf函数,可以将一些字符之类的显示到控制台上,而这里,利用上面的串口收发数据的函数重写一些函数,就可以实现printf向电脑的上位机写数据了!具体还请参考固件库里面的stdio_adapter.c文件。现在,利用这些函数,我们就可以实现自己的一些功能了。我们将main函数修改如下:
- uint8_t buff = 0;
- int sum = 0;
- int main (void)
- {
- /* 初始化板子 */
- init_board ();
- // 设置为输出
- GPIO_SetPinDir (BSP_GPIO_LED_RED_PORT , BSP_GPIO_LED_RED_PIN , true);
- // 设置为高电平,灯不导通
- GPIO_SetPinLogic (BSP_GPIO_LED_RED_PORT , BSP_GPIO_LED_RED_PIN , true);
- while (1)
- {
- if (UART0_IsRxBufferFull()) // 不停地轮询标志位
- {
- buff = UART0_GetRxData(); // 读数据,这一操作会使得标志位清零
- printf("Character Received: %c ", buff); // 向上位机发送
- printf("Total Characters Received: %d\n", ++sum);
- // 灯闪烁
- GPIO_TogglePinLogic(BSP_GPIO_LED_RED_PORT, BSP_GPIO_LED_RED_PIN);
- }
- }
- }
|