PAN3060、CIU32F003

dropLin 4b00befd0e 增加串口日志打印,增加震动马达 10 månader sedan
BSP d0f3f1abbb first commit 11 månader sedan
CIU32F003_LIB d0f3f1abbb first commit 11 månader sedan
CMSIS d0f3f1abbb first commit 11 månader sedan
DOC d0f3f1abbb first commit 11 månader sedan
SN_Port d0f3f1abbb first commit 11 månader sedan
SN_Tool d0f3f1abbb first commit 11 månader sedan
Startup d0f3f1abbb first commit 11 månader sedan
User 4b00befd0e 增加串口日志打印,增加震动马达 10 månader sedan
project 4b00befd0e 增加串口日志打印,增加震动马达 10 månader sedan
radio d0f3f1abbb first commit 11 månader sedan
.gitignore d0f3f1abbb first commit 11 månader sedan
gitFocePushRemote.bat d0f3f1abbb first commit 11 månader sedan
readme.md 4b00befd0e 增加串口日志打印,增加震动马达 10 månader sedan

readme.md

简要

  • 射频方案:PAN3060
  • 无线频段:433MHz
  • 主控方案:京中电华大电子CIU32F003
  • 射频驱动SDK:PAN3029_3060_DK_V1.0.1

功能

该项目作为发射端演示,RF_SetPreamLen用来设置发送的前导长度,可以用于配合接收端的无线唤醒。理论上,前导长度越长,唤醒成功率越高,但是发送时间会越长,各方面的功能都需要配合使用。

  • PB6:暂时作为串口日志打印输出,和SWD烧录口的SWD口复用

代码说明

1、radio\myRadio.c

.c文件封装了常用的射频操作函数,包括:

  • myRadio_init:初始化射频模块
  • myRadio_abort: 射频进入休眠状态
  • myRadio_cadReceiver: 进入CAD接收状态,可以通过控制window_ms参数来控制接收窗口,窗口越大,接收成功率越高,但是功耗越大,interval_ms参数控制接收间隔,间隔越大,功耗越小,但是接收成功率越低。定义了定时器1来计时。
    • window_ms:CAD接收窗口
    • interval_ms:CAD接收间隔
  • myRadio_process: 射频处理函数,用于处理射频接收和发送的中断,需放在主循环中调用

2、radio\myRadio_gpio.c

.c文件封装了射频驱动的所有硬件的操作,比如中断触发、spi接口初始化等。

注意事项:

  • spi的clk时钟频率不能超过10MHz,主频为48MHz,spi的分频最小只能是8
  • spi片选脚使用的是软件cs控制
  • 遥控器端不需要CAD接收,进入接收只需调用myRadio_receiver();函数,进入接收之前需设置前导为默认长度,如下:

    RF_SetPreamLen(RF_PREAMBLE_DEFAULT);
    myRadio_receiver();
    
  • 遥控器端发送之前需先设置前导长度,设置前导是为了更好的唤醒接收端如下:

    RF_SetPreamLen(50);
    myRadio_transmitArray("hello world", 10);