基于串口透传模块,单片机无线串口空中下载测试

基于串口透传模块,单片机无线串口空中下载测试


✨无线串口下载,其本质还是串口下载方式,只不过省去了单片机和ISP上位机工具之间的物理有线连接,中间的数据通过无线串口透传模块进行数据中转,传递到单片机串口上。串口透传模块起到数据中继作用。

  • 🎬STM32通过STM32CubeProgrammer 软件串口空中下载演示:(和有线串口下载操作相同,单片机需要提前进入ISP模式)

  • 🌿想通过串口下载前提是,单片机支持串口下载。这是必要条件,否则只能当作无线空中串口调试模块来使用。

  • 🔧2.4GHz串口透传模块:GC2400-TC017 为例

  • 🌿通过AT模式配置模块串口通讯模式

  • 🎞串口透传模块配置演示:

🛠串口透传模块实现串口下载参数设置

所有设定参数都要和串口透传模块设定的参数一致。

  • 🌿串口波特率
  • 不能超出串口透传模块传输设定的波特率范围。
  • 🌿数据位
  • 一般设定是8个数据位。
  • 🌿校验位
  • 🔖针对于STM32单片机在使用STM32CubeProgrammer串口下载时,必须设置校验位:even(偶校验)或者odd(奇校验),否则无法通讯连接上。
  • 🌿停止位
  • 该位一般设定为1个停止位。
  • 设定好透传模块串口参数后,通过串口透传模块,使用STM32CubeProgrammer,成功连接STM32单片机。

⛳针对STC下载失败说明

  • 🏳‍🌈STC-ISP上位机软件在下载程序时,需要调节对应的下载频率,STC单片机下载时,下载频率设置在4800或以下容易成功,而串口透传模块在透传模式下,串口参数是固定的,串口透传模块最低可设置的波特率9600,没法设置更低波特率,测试没有成功。
  • 🔰STC单片机下载时,串口参数默认采用了奇校验位。
  • 🌿在测试STC单片机空中下载方式时,只能做到检测目标单片机,会移植卡在调节频率阶段或重新握手阶段。
  • 🌿使用提前烧录好的串口自动下载检测程序也测试失败。
c 复制代码
u8 uart_ser_n;//计数变量
void uart1_ser() interrupt 4
{ 
		RI=0;        //清空接收标志位
		if(SBUF==0x7f)  //STC下载指令0X7F
		{ 
				uart_ser_n++;   //判断位自加
				if(uart_ser_n >5) //如果收到10次0X7F
				{
						uart_ser_n=0;   //判断位清0
						IAP_CONTR=0x60;//复位命令  
				}
		}
		else
		{
				uart_ser_n=0;	//若不匹配,则需要从头开始
		}
} 
  • 📺操作演示:

总之对于通过串口透传模块只能实现提前固定串口参数协议的通讯。至于控制传输误码率问题应该和通讯空间距离有关系,尽量缩短空间距离和障碍物。

相关推荐
智联物联1 个月前
串口服务器赋能工业自动化物联网应用
物联网·串口透传·工业通信·串口服务器·串口协议·串口转网口