esp32与stm32串口通信,stm32代码,且当STM32收到5时STM32控制的LED亮
时间: 2024-12-03 17:17:18 浏览: 13
两个stm32f103c8t6控制两个esp8266相互通信,并根据收到的数据执行相关指令
5星 · 资源好评率100%
在STM32中,如果你想要当接收到ESP32传来的数字5时点亮LED,你需要编写一个简单的程序来监听串口输入并解析数据。这里是一个基础的示例,假设已经设置了串口通信,并且使用了Keil MDK或者STM32CubeMX生成的HAL库:
```c
#include "stm32f1xx_hal.h"
#include "stdio.h"
// LED和串口的相关配置
GPIO_TypeDef *ledGPIO = GPIOB;
uint16_t ledPin = GPIO_PIN_0;
USART_HandleTypeDef usartHandle;
void USART_Init() {
// 初始化串口
usartHandle.Instance = USART1;
usartHandle.Init.BaudRate = 9600; // 配置波特率
usartHandle.Init.WordLength = UART_WORDLENGTH_8BIT;
usartHandle.Init.StopBits = UART_STOPBITS_1;
usartHandle.Init.Parity = UART_PARITY_NONE;
HAL_UART_Init(&usartHandle);
}
int main(void) {
USART_Init();
while (1) {
uint8_t receivedChar;
HAL_UART_Receive(&usartHandle, &receivedChar, 1, HAL_MAX_DELAY);
if (receivedChar == '5') { // 当接收到5时
GPIO_SetBits(ledGPIO, ledPin); // 点亮LED
printf("Received '5', LED on.\n");
} else {
GPIO_ResetBits(ledGPIO, ledPin); // LED熄灭
}
}
return 0;
}
阅读全文