魏十一 发表于 2024-7-15 22:49:17

STC8A8K64D4软件模拟IIC失败

      家人们,我最近准备用STC8A8K64D4芯片开发一款桌面摆件,其中用到了0.96寸的0LED屏幕显示。但是IIC软件模拟死活用不了,但有个很奇怪的现象:我偶尔开启摆件之后,OLED屏幕能显示,但是大部分情况都不能,很不稳定。现在我的疑惑是软件模拟需要用开漏输出还是推挽输出?
      我现在用的方案如下:
      1. 开始时 SDA 和 SCL 都是推挽输出,并且我把外部上拉电阻焊掉了,没保留
      

      2.当到应答模式时,SDA 改为 标准输入输出

       但是就是死活不行,求求各位大佬指点一手,非常感谢{:4_201:}


      附上原理图、pcb图和实物代码图


   
      

魏十一 发表于 2024-7-15 22:53:12

各位大佬,是不是和我的频率有关系呢,现在用的是12mhz的主频,我用stm32F103使用72mhz成功移植了oled屏幕,这个是不是频率太低无法驱动oled呢

网老四 发表于 2024-7-15 23:31:37

I2C用推挽,不怕烧芯片吗?{:lol:}

网老四 发表于 2024-7-15 23:33:23

OLED点屏不难,I2C更容易,随便找个例程翻翻看就会了

DebugLab 发表于 2024-7-16 00:18:23

用硬件I2C啊,硬件的太好用了
IO模式设置为双向或开漏(感觉双向由低变高时有2个时钟强上拉,发送时能加速电平翻转,好一些),开内部4K上拉,可以不要外部电阻

频率低没有问题,高不行,示波器或逻辑分析仪测一下I2C时钟频率
时钟占空比50%时频率最高,可以超频到900多k(额定400k),不要大于1M(SOLOMON SYSTECH 的 COG IC)

hsrzq 发表于 2024-7-16 10:38:53

{:4_184:}都用上STC8A8K64D4,为啥还要软件模拟IIC啊?直接用硬件IIC多好呀……

魏十一 发表于 2024-7-16 16:47:35

网老四 发表于 2024-7-15 23:31
I2C用推挽,不怕烧芯片吗?

我这个只是3v的电池供电而已,应该不至于吧{:4_199:}

魏十一 发表于 2024-7-16 16:47:51

hsrzq 发表于 2024-7-16 10:38
都用上STC8A8K64D4,为啥还要软件模拟IIC啊?直接用硬件IIC多好呀……

硬件给另一个温湿度用了

魏十一 发表于 2024-7-16 16:48:26

wnagming 发表于 2024-7-16 07:21
I2C还是用开漏模式吧,你都加了上拉电阻了,怎么想不开使用推挽模式呢?

好的,我试试

魏十一 发表于 2024-7-16 16:49:14

DebugLab 发表于 2024-7-16 00:18
用硬件I2C啊,硬件的太好用了
IO模式设置为双向或开漏(感觉双向由低变高时有2个时钟强上拉,发送时能加速 ...

现在pcb都搞好了,换不过去了,之前是听别人说硬件可能有问题,就用了软件模拟,说多了都是泪啊~
页: [1] 2
查看完整版本: STC8A8K64D4软件模拟IIC失败