再说一句,在学习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);
}
}
}
|