dropLin edfe5cc158 更新readme | 3 ay önce | |
---|---|---|
STM32F10x_FWLib | 7 ay önce | |
app | 7 ay önce | |
core | 7 ay önce | |
keil_v5 | 7 ay önce | |
peripheral | 7 ay önce | |
project | 3 ay önce | |
radio | 7 ay önce | |
.gitignore | 7 ay önce | |
README.md | 3 ay önce | |
keilkilll.bat | 7 ay önce |
adapterBoardDriver
演示板
无线数据收发、测试通讯距离
无
2个
D5
蓝色LED,发送成功指示灯灯D4
红色LED,接收成功指示灯灯
深圳市晶联讯电子的液晶模块JLX19296G-382-PN
该液晶模块支持4线SPI串行接口和IIC接口,本项目使用IIC接口驱动,显示大小192*96 点阵
无
支持三种供电
USB的MICRO-B插头供电
3*5号电池供电
2pin的PH座子供电,注意电压不能超过5V
87mm*131.5mm
A7169
AT32F413RCT7
该MCU与STM32F103RCT6
软硬件兼容
无
P7
串口转USB
J1
J2
MCU的GPIO口
P1
microBIT插槽,用于无线模块转接板连接
P7
MICRO-B类型USB座子,供电
P6
外部供电
P5
仿真烧录接口
MDK-ARM Standard Version: 5.14.0.0
C99标准
STM32F10x_StdPeriph_Lib_V3.5.0
radio
中的API全部移植,与硬件相关的已全部定义在radio/myRadio_gpio.c
中,若目标平台也是C语言环境,将文件夹radio
中的文件拷贝过来后,只需对应的修改radio/myRadio_gpio.c
文件中的GPIO定义既可,由于myRadio_gpio.c
中用到的GPIO是宏定义在project/board.h
,所以也需要将radio/board.h
中的定义移植过来。如果MCU平台也是相近的,只需修改project/board.h
中对应的宏定义即可。本公司为了统一demo程序,将射频相关的操作重新定义了一层,详见radio/myRadio.c
,无线应用开发,可以参考借鉴。
避免使用中心频率为射频芯片使用的晶体频率整数倍的,比如晶体频率为32MHz,就需要避免使用448MHz
的中心频点
首先保证SPI通讯正常,具体SPI时序需根据射频芯片要求设置,可通过示波器或者逻辑分析仪进行硬件分析
SPI通讯正常后,进一步调试查看寄存器操作,读写寄存器,若能正常操作,基本可判定移植成功了
影响无线传输距离的因素
无线电频谱,包括使用的无线频段和无线波特率
发射功率
天线增益,不同增益的天线对无线信号的接收效果影响很大
路径损耗,主要是包括无线使用的周围环境,比如楼宇、树木山峰遮挡
其他的无线信号干扰
V04
规格书的章节9.1 Control Register Table
的寄存器分为3部分,
基础寄存器,地址:0x00~0x0f,Systemclock
--
PAGEA寄存器,地址:0x00~0x0f
PAGEB寄存器,地址:0x00~0x34
SLEEP
:1.5uA
DEEP SLEEP
:0.5uA
Stand
:0.45mA
RX
:3.8mA
TX
:xmA
RF芯片在下降沿的时候改变数据状态 MCU可以在上升沿后读取spi数据
RF在上升沿的时候读取SDIO的状态
..\adapterBoardDriver_xxxxxxxxxxxxxxx_Vxx
├──app \\常用应用模块封装
| └──
├──core \\MCU内核文件
| └──
├──STM32F10x_FWLib \\MCU官方库函数
└──
├──image \\md文件显示用的图片
| └──
├──keil_v5 \\keil编译器工程文件,包含编译生成的HEX文件
| └──Object \\编译生成的HEX文件在此文件夹
├──peripheral \\项目用到的MCU外设
| └──
├──project \\项目的主函数和GPIO定义包含文件
| └──
├──radio \\射频底层驱动文件
| ├──myRadio_gpio.c \\射频驱动接口硬件初始化
| └──myRadio.c \\为无线应用通用封装API
void myRadio_init(int agr0, void *agr1_ptr)
射频芯片驱动IO口初始化-myRadio_gpio_init()
射频基本参数初始化void myRadio_process(void)
放在while循环中执行void myRadio_abort(void)
uint32_t myRadio_getFrequency(void)
void myRadio_setFrequency(uint32_t freq)
int8_t myRadio_getTxPower(void)
void myRadio_setTxPower(int8_t power)
uint8_t myRadio_getBaudrate(void)
void myRadio_setBaudrate(uint8_t br)
void myRadio_transmit(rfTxPacket_ts *packet)
void myRadio_receiver(void)
void myRadio_setCtrl(controlMode_te mode, uint32_t value)
单载波发射功能,预留
进入direct模式,预留
连续调制波,预留void myRadio_gpioCallback(uint8_t index)
外部中断检测定义在myRadio_gpio.c
其他,官方未定义,属于第三方定义的常用API,不同厂家的射频方案不一定都能用
1、本工程驱动软件只提供做演示项目使用,未经过大批量项目验证,客户需谨慎使用,如果使用在正式项目中引发的所有问题,本司概不负责。使用过程若发现任何问题,可及时与本司相关人员联系。 2、本工程所有文件可以用于商业性项目移植,无需向本司申请。