网上down一个IIC模拟程序分析一下就是了,时序要求没那么精确的,大于多少ns就行了。稍作延时。上拉电阻一般就弄个10K。无论是对于哪种芯片IIC的时序是没多大差别的,弄个大概出来,在用示波器看,再比较手册,看哪不对再改。这样是调IIC最好方法。
还有,我不是记得STM32有硬IIC核吗,为何还需要用模拟IIC时序的方式去实现
驱动文件中,函数可以根据参数来调用不同的语句实现
例如:
iic_read( char x)
{
if(x ==1)
{
*** 作P11,P12
}
else
{
*** 作P13,P14
}
}
设定一个线为时钟,把你的数据转换为十六进制然后在时钟低进行反转。
读取时别忘了地址加一,另外程序要使用串行结构这样才能同步。
并口焊接一个330OHM电阻限流。
暂时就想到这么多
只有STM32F103 C8051F 等档次较高的单片机才有IIC总线接口.
大多数单片机都没有IIC总线接口,用普通IO口模拟程序也不复杂,传输速度也不低,所以一般都用模拟IIC时序
以上就是关于stm32引脚模拟IIC读写atmel 24C128,我是初级菜鸟,哪位大神可以赐教全部的内容,包括:stm32引脚模拟IIC读写atmel 24C128,我是初级菜鸟,哪位大神可以赐教、C语言模块化编程中定义两组IIC端口,用模拟IIC方式实现,怎样才能重复利用IIC驱动代码、如何用Labview编程实现并口模拟IIC总线等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)