应用于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修正说明。


下载位置:点击打开链接


     

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值