|
1 week ago | |
---|---|---|
STM32F10x_FWLib | 9 months ago | |
app | 9 months ago | |
core | 9 months ago | |
keil_v5 | 1 week ago | |
peripheral | 9 months ago | |
project | 1 week ago | |
radio | 1 week ago | |
.gitignore | 9 months ago | |
README.md | 1 week ago | |
gitFocePushRemote.bat | 1 week ago | |
keilkilll.bat | 9 months ago |
adapterBoardDriver
演示板
无线数据收发、测试通讯距离
无
6个
S1
按键可以移动光标(选择的项会反显)向上选择设置项,或向上设置数值,可以循环移动选择S2
按键可以返回上一个界面S3
按键可以移动光标(选择的项会反显)向下选择设置项,或向上设置数值,可以循环移动选择S4
按键功能待定S5
按键,功能1:开机界面时,按下进入功能选择界面。功能2:确定选择项目。功能3:退出设置状态
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
433MHz、490MHz、510MHz、868MHz、915MHz
CMT2300A
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
448MHz
的中心频点ret = rf_init();
这个返回值是否等于OK
keil工程已经设置了4个选项:
projecet_AT
:表示该工程的MCU型号选择的是雅特力AT32F413RCT7单片机,不带自定义boot功能,即不设置偏移地址projecet_ST
:表示该工程的MCU型号选择的是ST意法半导体STM32F103RCT6单片机,不带自定义boot功能,即不设置偏移地址projecet_AT_APP
:表示该工程的MCU型号选择的是雅特力AT32F413RCT7单片机,带自定义boot功能,设置偏移地址为0x000C800
projecet_ST_APP
:表示该工程的MCU型号选择的是ST意法半导体STM32F103RCT6单片机,带自定义boot功能,设置偏移地址为0x000C800
模块演示板出厂默认烧录project_ST_APP
工程,该工程是带boot功能的,默认选择的Debug工具是CMSIS-DAP Debugger
工具,在Option->Debug->Setting->Flash Download->Programming Algorithm->Start
中设置了起始地址,如果更换了Debug工具,起始地址会恢复默认,需要重新设置起始地址。
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
,无线应用开发,可以参考借鉴。
驱动IO口均定义在project/board.h
中
RST
引脚,上电初始化需要用到IO1
引脚,用于接收芯片操作的中断响应输出指示,本工程该引脚用于做发送接收中断响应指示,用户可以配置中断映射功能IO3
引脚,用于接收芯片操作的中断响应输出指示,本工程该引脚未使用,用户可以配置中断映射功能busy
引脚,用于检测射频芯片工作状态是否忙状态,其他IO口未使用,可根据实际情况移植
避免使用中心频率为射频芯片使用的晶体频率整数倍的,比如晶体频率为32MHz,就需要避免使用448MHz
的中心频点
首先保证SPI通讯正常,具体SPI时序需根据射频芯片要求设置,可通过示波器或者逻辑分析仪进行硬件分析
SPI通讯正常后,进一步调试查看寄存器操作,读写寄存器,若能正常操作,基本可判定移植成功了
影响无线传输距离的因素
无线电频谱,包括使用的无线频段和无线波特率
发射功率
天线增益,不同增益的天线对无线信号的接收效果影响很大
路径损耗,主要是包括无线使用的周围环境,比如楼宇、树木山峰遮挡
其他的无线信号干扰
V04
..\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()
射频基本参数初始化
射频运行底层执行API-void myRadio_process(void)
放在while循环中执行
射频进入休眠API-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、本工程所有文件可以用于商业性项目移植,无需向本司申请。