完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
你好,我想用I2C控制一个LCD屏幕。我用代码配置器来生成I2C代码。我写了一个简单的程序,每秒调用写例程。但是,SCL和SDA电压输出不正确,正如在示波器上看到的那样……以下是我试图调用例程的方法……变量声明:I2C_MESSAGE_STATUS MSG_STATUS;I2C_MESSAGE_STATUS*PT_MSG_STATUS;PT_MSG_STATUS=&MSG_STATUS;uint8_t write_value;uint8_t*pt_write_value;pt_write_value=&write_value;函数调用:write_value=0b10101010;I2C_MasterWrite(pt_write_value,1,0x78,PT_MSG_STATUS);谁能告诉我做错了什么?谢谢,约翰。
|
|
相关推荐
16个回答
|
|
|
您的范围没有设置好正确地SE信号。加快速度,这样你就可以看到单个位。
|
|
|
|
|
|
你好,NKurzman,谢谢你的回复。我以前已经尝试过,只是周期性地看到一个脉冲。我重试它,这样我就能给你看,得到一个真实的波形。不知道为什么。刚刚得到这个新的SimeSeLe:我似乎比我想象的更近,但是波形仍然不正确。时钟线(底部)看起来正确,但数据线不是(我正试图发送01010101)。请参阅下面的截图。有什么想法吗?
|
|
|
|
|
|
如上所述,如果你的范围软件支持它,使用“峰值检测”模式,而不是“采样”模式。
|
|
|
|
|
|
谢谢你们的回复。我现在意识到它实际上是正常工作的。它正在发送地址(0x78),但是没有从LCD显示器获得确认,因此它生成一个停止位,然后不发送数据。我检查了我的硬件,SDA线松动了。我要把它焊回去然后再试一次。敬请期待。。。如果它不能解决问题,你可能会得到另一个问题:
|
|
|
|
|
|
我重新连接了SDA线。另外,我把上拉电阻从2.2k改为10k,因为我读了一个论坛,论坛上有人说,由于显示器不能吸收用2.2k电阻将线路拉低所需的电流,所以解决了他们的问题。然而,它仍然没有发挥作用。微处理器正在发送正确的数据,但是显示器没有拉动SDA线来确认接收。有人有这个展览或类似的经验吗?编辑:忘记将链接添加到显示器……www.digikey.com/.-./en/NHD-C0220BIZ-FS(RGB)-FBW-3VM/NHD-C0220BIZ-FS(RGB)-FBW-3VM-ND/3507740
|
|
|
|
|
|
这个命令应该怎么做?write_value=0b10101010;I2C_MasterWrite(pt_write_value,1,0x78,PT_MSG_STATUS);(有时,“Write Address”必须在调用库函数之前预先移位,有时则不能。在我看来值得一试
|
|
|
|
|
|
嗨,DarioG,我想微电脑发送正确的命令,除非我误解了I2C的基本原理。我是I2C的新手,所以如果我错了请纠正我。这里是范围输出…如果我读的正确,从主机发送的数据是(顶行)是11110000。前七位是地址(0x78)。最后一位是R/W位。然后,LCD应该把SDA线拉低到确认收据,但线路保持较高。我是错误的数据正在发送和/或应该如何解释?谢谢
|
|
|
|
|
|
不,看起来不错。*如果*LCD的地址是0x78+R/W位-我的意思是,在某些情况下,规范告诉你的地址已经移位了...所以,你可能想尝试0x3c。
|
|
|
|
|
|
数据表位于http://www.newhavendisplay.com/specs/NHD-C0220BiZ-FSRGB-FBW-3VM.pdfI表明0x78是一个8位地址,所以如果对I2C_MasterWrite()的调用将地址左移,那么您应该给它0x3C作为地址。
|
|
|
|
|
|
温特巴尔!
|
|
|
|
|
|
谢谢瑞克和DarioG。现在我可以用0x3C作为地址与LCD通信。现在我有了一个新问题:我试图写一个以上的字节。这是我试图做的方式…查看范围,第一个字节是正确的。但是,第二个字节不是。你看到我的语法有什么不对吗?谢谢
|
|
|
|
|
|
啊,是的。你不能简单地通过创建一个指向它的指针并寻址一个高于指针值的指针来将一个uint8_t变量转换成一个数组。如果你想要一个数组,就创建一个数组。不要用指针到处乱跑!
|
|
|
|
|
|
我不确定那些图书馆的功能…听起来不错,但是可能会有其他事情发生,比如在一个命令和下一个命令之间需要一个最小的延迟。尝试使用2个不同的调用,也许在100s之间的延迟。
|
|
|
|
|
|
变化:对
|
|
|
|
|
|
的确,我可以注意到一些奇怪的东西,但是我让它走了…
|
|
|
|
|
|
效果不错。感谢RIC和所有贡献。
|
|
|
|
|
只有小组成员才能发言,加入小组>>
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
514 浏览 0 评论
5819 浏览 9 评论
2351 浏览 8 评论
2238 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3546 浏览 3 评论
1170浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
1124浏览 1评论
我是Microchip 的代理商,有PIC16F1829T-I/SS 技术问题可以咨询我,微信:A-chip-Ti
893浏览 1评论
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
514浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-18 14:07 , Processed in 1.801796 second(s), Total 104, Slave 87 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1094