2020-07-30

STM32 FreeRTOS下读取HX711

HX711读取数据时时钟周期只有几十微秒,直接在线程中调用例程中的没法实现,因此考虑将数据口设置为输入中断模式,时钟口用定时器PWM发送脉冲,在定时器中断中取每个bit的数据。具体方法如下:

  1. 设置外部中断下降沿触发
  2. 当单片机外部中断发生时,先关闭外部中断
  3. 等待数据口变高电平
  4. 打开定时器PWM,产生25个脉冲
  5. 在定时器中断中读取数据口状态,并按位赋值到变量,
  6. 当发送到最后一个脉冲时,关闭PWM. 打开外部中断
  7. 发送消息给OS
  8. OS处理消息

这样一个读取周期完成了,要注意的是,实际HX711数据是24bit的,所以最终处理数据前要将数据右移一位。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值