stm32 hal 串口发指令控制

通过利用比较字符串的方法来识别串口输入指令strncmp,这个是比较字符串函数,

使用方法

int strncmp(const char *str1, const char *str2, size_t n)

里面的参数

  • str1-- 要进行比较的第一个字符串。//这个一般是串口传入的字符串

  • str2-- 要进行比较的第二个字符串。//自己定义的字符串

  • n-- 要比较的最大字符数。

返回值

该函数返回值如下:

  • 如果返回值 < 0,则表示 str1 小于 str2。

  • 如果返回值 > 0,则表示 str2 小于 str1。

  • 如果返回值 = 0,则表示 str1 等于 str2。

我们下面的代码就是利用了相等==的关系

如果输入的指令和我们设置的一样就执行相应的函数语句

while (1)
{	
		
    if(HAL_UART_Receive(&huart2, (uint8_t*)rxData,4, 100) == HAL_OK) 
        {
          if(strncmp(rxData, "LED_ON",5)==0)//比较字符串,
              {
                LED_ON();开灯
				HAL_UART_Transmit(&huart2, "Received LED_ON command\r\n",strlen("Received LED_ON command\r\n"), 100); 
              }
               else if(strncmp(rxData,"LED_OFF",7)==0)
                  {
                    LED_OFF();//关灯
				HAL_UART_Transmit(&huart2, "Received LED_OFF command\r\n",strlen("Received LED_ON command\r\n"), 100);
				
                  }
			    else if(strncmp(rxData,"LED_BLINK",9)==0)
			       {
				     LED_BLINK();//闪烁
				     HAL_UART_Transmit(&huart2, "Received LED_BLINK command\r\n", strlen("Received LED_BLINK command\r\n"), 100);
			        }
			     
				
            }
   
  }
相关推荐
苏慕TRYACE2 小时前
RT-Thread+STM32L475VET6——USB鼠标模拟
stm32·单片机·嵌入式硬件·计算机外设·rt_thread
楼台的春风8 小时前
【MCU驱动开发概述】
c语言·驱动开发·单片机·嵌入式硬件·mcu·自动驾驶·嵌入式
Moonnnn.8 小时前
51单片机学习——动态数码管显示
笔记·嵌入式硬件·学习·51单片机
LS_learner9 小时前
小智机器人CMakeLists编译文件解析
嵌入式硬件·机器人
小鸡岛保安10 小时前
学习笔记-8MQTT-韦东山
stm32·物联网
暗碳10 小时前
stm32 74hc238流水灯
stm32·单片机·嵌入式硬件
1101 110110 小时前
STM32-温湿度上传OneNET项目
stm32·单片机·嵌入式硬件
余衫马11 小时前
ESP32-S3 实战指南:BOOT-KEY 按键驱动开发全解析
驱动开发·单片机·嵌入式硬件
文军的烹饪实验室14 小时前
处理器架构、单片机、芯片、光刻机之间的关系
单片机·嵌入式硬件·架构
Leiditech__15 小时前
人工智能时代电子机器人静电问题及电路设计防范措施
人工智能·嵌入式硬件·机器人·硬件工程