STM32IIC-IIC模拟从模式如何实现
来源:互联网 发布:yum安装的软件在哪里 编辑:程序博客网 时间:2024/06/05 14:15
网上的资料大部分都是模拟IIC主模式的,很少有资料告诉我怎么实现模拟IIC从模式。
因为特殊要求,我们在做汽车电容屏升级的时候,要扔掉原车屏的一个部件,即IIC从机部分,只保留IIC主芯片,并采用STM32替代被扔掉的IIC从机功能。
要实现IIC从机功能,最核心的部分就是如何精确的抓住IIC_SCL,也就是IIC主机发出来的时钟信号。只有抓住精确的时钟SCL,才能正确的读取到SDA的数据,才能真正模拟出IIC时序。
但是要抓住SCL信号可不容易,IIC最高速度有400K,最小有效脉宽达到1.6us(数字0/1),最小脉冲是0.4us(应答和STOP信号产生的尖刺),采用中断来识别SCL是不可能的做到的,因为即使在最高主频72MHZ情况下,STM32最小指令周期是1/72(us),从SCL中断发生到STM32进入中断响应,至少要要40个指令周期,也就是40/72(us),加上堆栈操作及变量,很可能已经错过了SCL信号。
所以只能采用查询方式来识别SCL,而到目前为止,我还没有看到哪篇文章是采用查询SCL的方式来模拟IIC从模式。
所以很多文章说模拟IIC从模式的内容都是假的,要么骗人要么就是从来没有实践过。
写这篇文章,就是想提醒很多跟我一样的人,不要老是拷贝别人的程序,以为改改就行了的,这样的想法肯定是会吃苦头的;
越是简单的事情,越是要多花时间来理顺,因为这是大厦的基石;
这是花了好多时间走了很多弯路,很愤怒差点被带沟里的博主,写于20160711。
0 0
- STM32IIC-IIC模拟从模式如何实现
- STM32 模拟IIC主设备 非IIC静默模式
- 模拟IIC
- 一主两从模式如何提升新主库的切换模拟实验
- 基于51单片机实现模拟IIC总线时序
- 基于51单片机实现模拟IIC总线时序
- STM32使用模拟IIC实现24C02读取
- 【STM32 IIC详解】stm32 IIC从机模式(中断方式收发数据)
- STM32IIC简介
- STM32F103单片机IIC从机模式调试记录
- i/o 模拟IIC
- 模拟IIC协议
- C语言模拟IIC
- 模拟IIC移植
- STM32模拟 IIC
- linux模拟iic代码
- STM32软件模拟IIC
- 模拟IIC协议时序
- hdu4301(递推)
- aef
- JZOJ.1429. 着色
- Python学习总结(一) 双Python版本环境配置
- git-忽略指定文件【ubuntu】
- STM32IIC-IIC模拟从模式如何实现
- iOS 无限轮播图片
- mysql alter table 操作
- Qt学习之路(48): 自定义委托
- [学习]:[Linux] grep用法
- 数据结构与算法系列----平衡二叉树(AVL树)
- 关于 .xcconfig文件中 变量的定义的坑:
- 委托和事件的纠缠之美
- Android M 开发中wifi列表显示问题的实践