关于C2000系列驱动0.96寸OLED屏幕的问题(TMS320F28377为例)

目录

1.背景

2.实际情况

3.对比STM32

4.总结


 

 

1.背景

最近刚把TMS320F28377D的IIC协议调通,本打算利用IIC驱动一下显示屏,不过左也搞不动右也搞不动,最后想起来有一次偶然看到网上有人也说过这个问题他说要在每一条语句后面加延时,我试了试果然。

 

2.实际情况

程序如下图所示

29049a184ae94c3e8f8902a9341b982d.png

看一下实际情况

9f2528a33a32442aafc7bb46dfff18cb.jpg

 

用逻辑分析仪抓一下波形

0ef354ec7d87418b852838eb4fed6af7.png

什么鬼为啥就发送一个命令就直接发数据了?

 

在每一条发送指令或数据后面都加入延时

243de8d0c8904e05a06a99dd12d89bd2.png

 

看一下实际情况

2a69c546df884f638f33414f6c1ae630.jpg

 

再用逻辑分析抓一下波形

f2c9136317f747d8b9da08de94f0759a.png

 

3.对比STM32

STM32模拟IIC的波形如图,主要对比两个字段直接的时间

e34bce8c467e4dcdbc194172a200cb32.png

 

F28377硬件IIC波形如图

b617c21d3dfb40a8b74b259cbe8aaf83.png

不知道该说些啥了。。。。

 

4.总结

我轮流试了一下最低延迟时间我压到300uS就是最快了,再快就又不显示了,语句是TI官方的延迟

DEVICE_DELAY_US(300);

通信速率是100KHz,原本我想降低速率来减少延迟的,但是再低屏幕就不显示了。

 

我这里用的是TMS320F28377D但是我看到网上有人用TMS320F28335也是同样情况。

 

其实出现这个情况还说挺让我失望的,原本以为用了硬件IIC后刷新率能比软件高,好嘛结果告诉我还要加延迟,这情况还比软件糟糕,只能说是凑合着用了。

 

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值