应用于BJ8F101(STM8S903)主控的2.4G标签


基于STM8S + ARF2496K的2.4G标签程序


1. 硬件环境:

主控为 BJ8F101 博巨兴的一款主控MCU,其实就是STM8S903,原理图几乎一致。

标签为 BJRF007 也就是 ARF2496K。


2. 软件环境:

使用 ST Visual Develop 进行开发。


该项目的一些描述信息: (这只是一个标签程序,对应的还有2.4G主控程序,主控端可以采用STM8,也可以是STM32,或者其他MCU,只要2.4G无线模块一致即可)

针对BJ8F101(STM8S903)这款MCU和对应的BJRF007(ARF2496K)
        模块开发一款用于单向通信的标签,标签端发送频率为2s一次,
        工作时间可以使用示波器测量出来.目前没有使用外部晶振,由内部HSI
        提供4分频的CPU工作频率.可使用的外设有Tim1,Tim2(Tim5),
        Tim4(Tim6),ADC,AWU,WWDG,IWDG(最好不要使用).对于主板还有外置
        SHT21温湿度传感,LED,KEY.
        Tim1 用于产生随机数,开启后不做任何操作,也不产生中断,避免给系统
        带来损耗.
        Tim2 用于结合WFI(等待模式)做相对精确且节省功耗的延时,如延时
        125ms,不必为了延时而浪费125ms的工作时间.
        Tim4 暂未使用,原意是使用来进行定时喂独立看门狗.(不能这样使用)
        ADC 可以采样外部电压和内部电压,标签可使用ADC功能监控电池电压.
        AWU 用于标签发射数据时间隔2s定时唤醒.当然也可以外部唤醒.
        修改AWU用于更过功能,主要是做延时,因为AWU功耗很低,电流为uA级
        ,比等待模式的功耗低了很多很多。
        WWDG 用于监控程序是否正常工作.不正常时产生复位.
        IWDG 没有采用.
    注意: 程序目前运行与STM8S903,是从之前的STM8S103上做移植过来的,手册
    上明确表示STM8S903没有定时器2和定时器4,却有定时器5和定时器6.其实这
    两个定时器是一样的,Tim2和Tim5的基址一致,Tim4和Tim6一致.
        为了避免多个标签发送数据时产生冲突,采用随机算法,随机数使用Tim1
    作为变动的srand种子.每次发送前先进行延时操作,这里延时的时间与
    rf_tx_on函数相关,必须大于这个函数运行时间.


这份代码,可用于对STM8S进一步的熟悉,代码中有详尽的注释,压缩文档中,也有具体的描述,以及BUG修正说明。


下载位置:点击打开链接


     

你可能感兴趣的:(2.4G,无线)