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);
			        }
			     
				
            }
   
  }
相关推荐
蜀黍@猿1 小时前
【GD32】存储器架构介绍
单片机·mcu
Aczone283 小时前
硬件(六)arm指令
开发语言·汇编·arm开发·嵌入式硬件·算法
EkihzniY10 小时前
OCR 证件识别:驱动澳门酒店自助入住智能化
嵌入式硬件·ocr
好家伙VCC10 小时前
数学建模模型 全网最全 数学建模常见算法汇总 含代码分析讲解
大数据·嵌入式硬件·算法·数学建模
伴杯猫10 小时前
【ESP32-IDF】基础外设开发2:系统中断矩阵
c语言·单片机·嵌入式硬件·mcu·物联网·github
搬砖的小码农_Sky10 小时前
常见的显示器接口技术
嵌入式硬件·计算机外设·显示器
茯苓gao10 小时前
STM32G4 速度环开环,电流环闭环 IF模式建模
笔记·stm32·单片机·嵌入式硬件·学习
点灯小铭12 小时前
基于STM32单片机的智能粮仓温湿度检测蓝牙手机APP设计
stm32·单片机·智能手机·毕业设计·课程设计
沐欣工作室_lvyiyi12 小时前
基于单片机的智能路灯(论文+源码)
单片机·嵌入式硬件·毕业设计
Yyq1302086968212 小时前
SIT1050 5V 供电,±40V 接口耐压,1Mbps 高速 CAN 总线收发器
单片机·嵌入式硬件