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


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


1. 硬件环境:函数

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

标签为 BJRF007 也就是 ARF2496K。.net


2. 软件环境:开发

使用 ST Visual Develop 进行开发。文档


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

针对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修正说明。原理


下载位置:点击打开连接
随机数