最近要用到一个lora无线透传模块,然后就先用两个32开发板(用的STM32F103C8T6)试试简单的收发数据。结果,第一步串口发送一句话就寄了,我串口打印了"hi",结果出现了一堆乱码,我寻思着,就这一句代码也不至于还能错吧。。。然后我以为是USB-TTL的问题,换了一个能用的还是一样。。。但是很奇怪,就是不能发送的那个板子,用的一个官方工程的时候,我发现是能够正常用串口输出数据的,然后我用了另一个c8t6开发板(跟前面那个不一样,但是都是C8T6)又能正常的发出去,说明代码没问题,硬件也没问题。
搞半天发现是晶振不对。可以看到下面的图圈出来的地方,左边的晶振是16M的,右边的就是8M+32.768K的晶振。
修改:
- HAL库
在某一个.c文件里面找到stm32f1xx_hal_conf.h,再找到HSE_VALUE的定义,修改为16000000即可
- 标准库
完成有线收发后,开始配置lora模块。
1.分别准备两块lora模块接到电脑串口,并分别打开两个HC-T串口调试。
HC-14 | USB-TTL |
---|---|
VCC | VCC |
GND | GND |
RX | TX |
TX | RX |
KEY | AT配置的时候接低电平,两个lora模块发数据的时候悬空 |
STA | - |
我用的是汇承的模块,相应的测试的串口工具和一些教程在他们的官网有的https://www.hc01.com/