OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 8163|回复: 5

OLED屏幕IIC模式在输出推挽下无法工作

[复制链接]

5

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
51
金钱
51
注册时间
2015-5-5
在线时间
0 小时
发表于 2015-7-24 10:18:43 | 显示全部楼层 |阅读模式
5金钱
我使用IIC模式驱动OLED屏幕,驱动代码相同,但是配置端口的时候,配置开漏输出OLED能显示,配置推挽输出OLED无法显示。
使用逻辑分析仪显示两种代码时序相同,时间间隔也都基本相同。
请问如何解决?可能是什么原因?
写BYTE代码如下。
[mw_shl_code=c,true]void Write_IIC_Byte(unsigned char IIC_Byte) { unsigned char i; delay_us(time); for(i=0;i<8;i++) { if(IIC_Byte & 0x80) SDA=high; else SDA=low; delay_us(time); SCL=high; delay_us(time); SCL=low; IIC_Byte<<=1; } SDA=1; delay_us(time); SCL=1; delay_us(time); SCL=0; } [/mw_shl_code]
写COMMAND代码如下
[mw_shl_code=c,true]void Write_IIC_Command(unsigned char IIC_Command) { IIC_Start(); Write_IIC_Byte(0x78); //Slave address,SA0=0 Write_IIC_Byte(0x00); //write command Write_IIC_Byte(IIC_Command); IIC_Stop(); } [/mw_shl_code]

START STOP代码
[mw_shl_code=c,true]/********************************************** //IIC Start **********************************************/ void IIC_Start(void) { SCL = high; delay_us(time); SDA = high; delay_us(time); SDA = low; delay_us(time); SCL = low; delay_us(time); } /********************************************** //IIC Stop **********************************************/ void IIC_Stop(void) { SCL = low; delay_us(time); SDA = low; delay_us(time); SCL = high; delay_us(time); SDA = high; delay_us(time); } [/mw_shl_code]






正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

686

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
10729
金钱
10729
注册时间
2014-6-12
在线时间
1031 小时
发表于 2015-7-24 11:50:00 | 显示全部楼层
看iic标准总线要求oc上拉,不可以推挽。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165462
金钱
165462
注册时间
2010-12-1
在线时间
2114 小时
发表于 2015-7-25 11:41:05 | 显示全部楼层
帮顶。。。。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

5

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
51
金钱
51
注册时间
2015-5-5
在线时间
0 小时
 楼主| 发表于 2015-7-25 20:43:23 | 显示全部楼层
回复【2楼】xuyaqi:
---------------------------------
IIC是自己写的,因为是单工通信所以允许推挽输出,其他单片机上实现了推挽点亮。但是这里始终不行
回复

使用道具 举报

2

主题

686

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
10729
金钱
10729
注册时间
2014-6-12
在线时间
1031 小时
发表于 2015-7-26 20:29:06 | 显示全部楼层
回复【4楼】stopium:
---------------------------------
数据线要求双向,送出可以推挽接收时口不可推挽。
回复

使用道具 举报

5

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
51
金钱
51
注册时间
2015-5-5
在线时间
0 小时
 楼主| 发表于 2015-7-27 09:01:23 | 显示全部楼层
回复【5楼】xuyaqi:
---------------------------------
没事儿,我这个IIC是纯输出。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-4-20 16:28

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表