STM32开发 您所在的位置:网站首页 lora无线通信 STM32开发

STM32开发

2024-02-23 16:32| 来源: 网络整理| 查看: 265

后记: 在调试完成后的一段时间,还写了另一篇记录,有新的发现,大家可以参考 正点原子LORA模块-调试记录 对LORA想入非非已久, 可惜工作任务重, 一直未能找到机会. 正好原子哥出了模块, 而工作中又刚好需要数传, 哈~~~马上出手. 之前已买了排针版, 放着吃尘, 10号原子哥发布新品, 有了邮票孔版本. 在这里插入图片描述 图中红色PCB是自己打的转接板, 说起这个板, 心里苦吖 其实这模块真的很简单,只是明白简单前, 倍受磨难. 刚开始调试明, 用先买的排针版本, A方=开发板+排线, B方=工作PCB+排线, 原以为串口收发数据, 很容易调好, 天天打交道, 寄存器都能背七七八八的, 结果… 差点从入门到放弃. 硬是没调好, 找原因呗, 硬件, 资料, PDF, 还是时通时断的, 后来, 火大了, 丢掉开发板和排线, 爷打个板, 专门服侍这模块, 板子回来后, OK, 命令, 参数, 收, 发 , 各种简单清晰, 砍柴还是要磨刀的, F-U-C-K !!! 只能怨自己喽. 在这里插入图片描述 苦水吞完, 说说重点: 1: 使用真的很简单, 想成高大上不好, 2: USART接收和发送, 和用USART输出数据到串口助手一个道理, 3: 原子哥的模块例程, 主要在LCD显示 和 设置命令 这些地方, 可用性不大, 别花大把时间 , 4: 下面把代码贴出来, 其中把设置命令的代码全弃掉了(最麻烦就这部分), 反正我不用, 也用不到 5: 硬件连线: 模块TX usart_RX, 模块RXusart_TX, 接上3.3v, 接上GND 6: 编程步骤: 初始化GPIO > 初始化USART > 写发送函数 > 写接收中断 > 7: 接收中断这里, 这一秒收到的, 和下一秒收到的是不是同一串数据呢? 如何判断一组数据的结束, 要处理好, 原子哥例程中的处理, 转来转去, 我不太好理解, 也改了, 也用0xD和0xA作为接收结束标志, 和原子哥的顺序有点反, 感觉这样处理换行更合理, 也好理解. 另外, 用TIM7作时间判断, 有80ms没收到, 这一组就结束,

* @file LoRa.c AUX MD0 * @author L 通信 0 0 * @version 配置 0 1 * @date 2019-7-13 升级 1 1 * @brief 初始化 LoRa **************************************************************************************************/ #include "lora.h" #include "led.h" #include "delay.h" char T7_count=0; static char RxOldChar=0; // 上一个字符 static u16 RxState=0; // 接收状态 [15]:0_没有接收到数据; 1_接收到了一批数据; [14:0]:接收到的数据长度 static u8 RxBuf[100]="0"; // 接收缓冲, 最大USART3_MAX_RECV_LEN个字节. /************************************************ 1 * @Fun LORA_RX_OK * @brief 已完成一组字符串的接收, 开始处理 * @arg */ void LORA_RX_OK() // 注意:这个函数是我自己工作中的特定功能, 你们可以改成自己的功能 { TIM7->CR1 &=~ (1CNT=0; // 计数器清零 TIM7->DIER|=1SR&=~(1


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有