找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 652|回复: 1
收起左侧

stm32 SubGHz_Phy_PingPong(点对点通信)例程无线收发数据问题

[复制链接]
ID:1078076 发表于 2023-5-17 15:53 | 显示全部楼层 |阅读模式
官方程序的逻辑是,主设备发送PING给从设备,从设备回复PONG给主设备,一直重复这个过程。在官方程序中,每次发送PING(PONG)都发送了32字节的数据,但是实际上PING(PONG)只需要4个字节,剩下28个字节都是0。
现在需要将几十K的数据发送给从设备。
软件逻辑是,从设备收到PING,发送PONG给主设备,主设备收到PONG开始数据收发过程。主设备每发送一个数据包,就会进入接收模式,直到接收到下一个pong。从设备接收到数据,就发送一个pong给主设备。

官方程序设定最大有效负载长度为256字节   函数原型void    ( *SetMaxPayloadLength )( RadioModems_t modem, uint8_t max );

第一次实验,每次发送8字节数据,代码运行成功,耗时2.5小时
第二次实验,每次发送32字节数据,代码运行成功,耗时0.5小时
第三次实验,每次发送64字节数据,代码运行结束,数据有丢失
第四次实验,每次发送40字节数据,代码运行结束,数据有丢失
发现只要超过官方例程的32字节就会有数据丢失,上位机软件会打印IRQ_CRC_ERROR,这个信息好像是硬件中断函数打印的,但是我没找到中断回调函数在哪
//设置发送参数

  Radio.SetTxConfig(MODEM_LORA, TX_OUTPUT_POWER, 0, LORA_BANDWIDTH,//模式LoRa,发送功率14dbm,0 FSK模式下频移参数,信号带宽124KHz
                    LORA_SPREADING_FACTOR, LORA_CODINGRATE,           //数据传输速率1024bps,编码率
                    LORA_PREAMBLE_LENGTH, LORA_FIX_LENGTH_PAYLOAD_ON, //前导长度8、是否固定数据包长度(否)
                    true, 0, 0, LORA_IQ_INVERSION_ON, TX_TIMEOUT_VALUE);//是否CRC校验(是),是否频率跳变,频率跳变周期,IQ采样反转大多数情况为0,发送超时时间3秒


//设置接收参数

  Radio.SetRxConfig(MODEM_LORA, LORA_BANDWIDTH, LORA_SPREADING_FACTOR, //模式,信号带宽,数据传输速率
                    LORA_CODINGRATE, 0, LORA_PREAMBLE_LENGTH,     //编码率,0设置FSK的AFC自动频率控制,前导长度
                    LORA_SYMBOL_TIMEOUT, LORA_FIX_LENGTH_PAYLOAD_ON, //超时符号数,是否固定数据包长度
                    0, true, 0, 0, LORA_IQ_INVERSION_ON, true);  //0若为固定数据包则有这个参数设置长度,CRC校验true,是否频率跳变0,频率跳变周期0,IQ采样反转大多数情况为0,true


  Radio.SetMaxPayloadLength(MODEM_LORA, MAX_APP_BUFFER_SIZE); //设置最大负载长度255

回复

使用道具 举报

ID:1078076 发表于 2023-5-17 22:03 | 显示全部楼层
问题已经得到解决。STM32 Pingpong 收发例程是基于串口通信的,如果你遇到了数据丢失的问题,很可能是因为数据传输速率过快导致。你可以尝试调整波特率降低传输速率并重新测试。

IRQ_CRC_ERROR 表示接收到的数据在 CRC 校验时出错,这可能是由于信号干扰、噪声或者其他原因导致的。你可以检查一下你的硬件连接是否稳定,并且确认发送端和接收端设置的参数是否匹配。

此外,如果你使用的是 DMA 方式进行传输,也有可能是 DMA 缓冲区溢出导致的数据丢失。你可以查看 DMA 配置以确认是否存在这种情况。

最后,如果你无法确定具体的问题所在,可以尝试利用调试工具(如逻辑分析仪)来对串口通信进行抓包分析,以便更好地定位问题。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表