STM32与ESP8266的uart通信

本文介绍了在课设中使用STM32通过UART串口与ESP8266通信的过程,包括ESP8266的UART配置,将uart0设置为通信模式,以及STM32的5个UART模块中使用UART1进行数据发送和接收。遇到的问题是在发送INT或DOUBLE型数据时,由于字符形式处理导致接收方显示异常。解决方案是利用union将多字节数据拆分成单字节发送,接收方再重组。

STM32与ESP8266的uart通信

课设中用到了ESP8266这个模块,用着着实十分的方便,唯一不足之处便是引脚数量太少导致引脚数量不足。因此只能外接一个单片机,通过单片机读取传感器的数据之后通过uart串口通信传送至8266。

ESP8266:

8266只有两个uart串口,默认的是uart0串口打印debug信息等,而uart1只有一个发送引脚(TXD),因此将默认打印信息的uart为uart1,并连接USB转TTL至电脑,接收打印的debug信息。将uart0设置为uart通信模式,将发送与接收引脚分别与单片机连接。而后便可以在中断中接收和处理接收到的信息了,值得注意的是,8266uart中断中官方示例程序中对其进行了诸多任务操作形式的数据处理,比较麻烦,直接删掉重写反而更加简洁。

	int fifo_len;

	//1 接收中断禁用,用于不再接受数据,因为现在处于处理数据中
	uart_rx_intr_disable(UART0);

	//2 清楚中断标志
	WRITE_PERI_REG(UART_INT_CLR(UART0), UART_RXFIFO_FULL_INT_CLR);
	CLEAR_PERI_REG_MASK(UART_INT_ENA(UART0)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值