找回密码
 注册
查看: 514|回复: 2
打印 上一主题 下一主题

【问题解答】串口收发控制LED的亮灭,代码怎么写?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-5-17 00:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
本帖最后由 jacky401 于 2022-11-28 11:03 编辑

请教老师们,从QCOM发送命令“LED_ON”,则PC13所控LED点亮;  发送命令“LED_OFF”,则PC13所控LED熄灭。
这个代码应该怎么写,找不到思路
用串口发送10位字节的代码改可以吗,大概知道用HAL GPIO Writen函数点亮灯,但怎么检测判断输入的字符LED_ON和LED_OFF,检测的时候要输出打印语句吗?


该用户从未签到

2#
发表于 2022-5-17 09:06 | 只看该作者
需要打印语句的

该用户从未签到

3#
发表于 2022-5-18 13:25 | 只看该作者
本帖最后由 jacky401 于 2022-5-18 13:30 编辑

可参考如下代码:

  1.                 printf("\r\n *** weclome to Elec-Nest! ***\r\n");
  2.                 printf("请发送命令 LED_ON 或 LED_OFF: \r\n");               

  3.                 HAL_UART_Transmit(&huart2,(uint8_t *)"32372E3036362E30",16,0xff);      //发送模拟数据
  4.                 while(__HAL_UART_GET_FLAG(&huart2,UART_FLAG_TC)!=SET);       //等待发送结束      
  5.                 printf("\r\n");         //掺入换行                                

  6.                 HAL_Delay(1000);               

  7.                 if(USART2_RX_STA&0x8000)
  8.                 {
  9.                         len = USART2_RX_STA&0x3FFF;         //得到此次接收到的数据长度                       

  10.                         printf("\r\n 你发送的命令是: \r\n");
  11.                         HAL_UART_Transmit(&huart2,(uint8_t *)USART2_RX_BUF,len,0xff);    //接收到的数据
  12.                         while(__HAL_UART_GET_FLAG(&huart2,UART_FLAG_TC)!=SET);       //等待发送结束      
  13.                         printf("\r\n");      //掺入换行      
  14.                         USART2_RX_STA=0;                        

  15.                         if(strcmp((const char*)USART2_RX_BUF, "LED_ON") == 0)
  16.                         {
  17.                                 HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13,  GPIO_PIN_SET);
  18.                         }
  19.                         else if(strcmp(USART2_RX_BUF, "LED_OFF") == 0)
  20.                         {
  21.                                 HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13,  GPIO_PIN_RESET);
  22.                         }
  23.                 }
复制代码


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

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-5-28 23:52 , Processed in 0.062500 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表