你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

freertos 中如何实现软件I2C 不被打断

[复制链接]
su-409464 提问时间:2020-12-23 23:12 /
有一个 产品 用到 了smbus 的电池芯片,但是由于主控芯片的SDK 提供的 I2C API 不符合 SMBUS 的要求。

导致需要用到 软件模拟的I2C.

但又有一个致命的问题,系统有一个1ms 的定时器,定时器的优先级最高。

当要读取电池多字节信息的时候,  就会不断的被1ms 的定时器打断,导致读取失败。

请问这种情况下应该如何处理。

收藏 评论2 发布时间:2020-12-23 23:12

举报

2个回答
不咸不要钱 回答时间:2020-12-24 08:54:38
定时器中断为什么会打断模拟IIC时序?不行读的时候就关掉中断,
su-409464 回答时间:2020-12-24 22:33:00
_sa 发表于 2020-12-24 08:54
定时器中断为什么会打断模拟IIC时序?不行读的时候就关掉中断,

会啊,因为这个软件IIC是用来 读取BQ4050的电池信息,它不是正规的IIC,是smbus协议, 一旦读取的字节多了, 总是被切成一块一块

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版