1回答

0收藏

[分享] GD32之串口调试 - 使用串口终端模式控制LED亮灭

GD32 GD32 5917 人阅读 | 1 人回复 | 2015-08-03

当硬件板本身没有显示装置时串口终端模式是一种方便的沟通方式,透过串口接口让上位机与硬件板连接,由上位机下命令给硬件板或者是硬件板通过串口回传运行状态或是数据在上位机显示。

这一个程序的功能就是透过串口终端模式控制 GD32 Colibri-F150R8 开发板上的 2 颗 LED 亮灭状态:

输入字元 1 控制 LED1 状态翻转并回送状态讯息。
输入字元 2 控制 LED2 状态翻转并回送状态讯息。
输入字元 ? 回送 LED1 与 LED2 状态讯息。
输入其他字元回送 ??? 讯息。

主 while 回圈:
  1. while(1)
  2. {
  3.     if(USART_GetBitState(USART1, USART_FLAG_RBNE) == SET)
  4.     {
  5.         switch (USART_DataReceive(USART1))
  6.         {
  7.             case '1':
  8.                 if(fg_LED1 == LED_ON)
  9.                 {
  10.                     fg_LED1 = LED_OFF;
  11.                     EVB_LEDControl(LED1, LED_OFF);
  12.                     EVB_Uart1WriteStr("LED1 OFF\n");
  13.                 }
  14.                 else
  15.                 {
  16.                     fg_LED1 = LED_ON;
  17.                     EVB_LEDControl(LED1, LED_ON);
  18.                     EVB_Uart1WriteStr("LED1 ON\n");
  19.                 }
  20.                 break;
  21.             case '2':
  22.                 if(fg_LED2 == LED_ON)
  23.                 {
  24.                     fg_LED2 = LED_OFF;
  25.                     EVB_LEDControl(LED2, LED_OFF);
  26.                     EVB_Uart1WriteStr("LED2 OFF\n");
  27.                 }
  28.                 else
  29.                 {
  30.                     fg_LED2 = LED_ON;
  31.                     EVB_LEDControl(LED2, LED_ON);
  32.                     EVB_Uart1WriteStr("LED2 ON\n");
  33.                 }
  34.                 break;
  35.             case '?':
  36.                 if(fg_LED1 == LED_ON)
  37.                     EVB_Uart1WriteStr("LED1:ON , ");
  38.                 else
  39.                     EVB_Uart1WriteStr("LED1:OFF , ");
  40.                 if(fg_LED2 == LED_ON)
  41.                     EVB_Uart1WriteStr("LED2:ON\n");
  42.                 else
  43.                     EVB_Uart1WriteStr("LED2:OFF\n");
  44.                 break;
  45.             default:
  46.                 EVB_Uart1WriteStr("???\n");
  47.                 break;
  48.         }
  49.     }
  50. }
复制代码
程序运行后,输入 ? 查询 LED 状态:


开发板 LED 状态


输入 1


开发板 LED 状态


输入 1 2


开发板 LED 状态


输入 1 ?


开发板 LED 状态


输入其他字元




程序代码:
uart_test.rar (703 Bytes, 下载次数: 55)




GD32之双串口调试 - RFID ID读取显示



评分

参与人数 1与非币 +5 收起 理由
loveeeboard + 5 三周年铜板双倍!

查看全部评分

分享到:
回复

使用道具 举报

回答|共 1 个

倒序浏览

沙发

王祥_ba120b

发表于 2021-11-3 18:38:30 | 只看该作者

骗子,大家别下
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条