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

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


✨无线串口下载,其本质还是串口下载方式,只不过省去了单片机和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单片机空中下载方式时,只能做到检测目标单片机,会移植卡在调节频率阶段或重新握手阶段。
  • 🌿使用提前烧录好的串口自动下载检测程序也测试失败。
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;	//若不匹配,则需要从头开始
		}
} 
  • 📺操作演示:
    在这里插入图片描述
总之对于通过串口透传模块只能实现提前固定串口参数协议的通讯。至于控制传输误码率问题应该和通讯空间距离有关系,尽量缩短空间距离和障碍物。
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值