完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
嗨,每个人都使用一个外部RTC(DS1308)连接到PIC18F26J50通过I2C。但我不能让这个工作。我将解释:RTC代码与DS1307类似,最初我把它编程为18F2550,RTC连接到它,并且运行良好。对于每个寄存器,我只能得到0。我的第一个想法是它没有正确地写入寄存器,但是DS1308的配置寄存器(0x08)正在被成功写入,并且当它在SQW上切换1hz的输出时我重新检查。E 18F26J50是一个3,3V设置。RTC可以低至1.8V,但在所有情况下都以5V设置运行。I2C线路都通过靠近RTC引脚的4K7电阻器被拉到VDD。我甚至试着把4K7拉引线靠近MCU引脚(这是5V容忍),但仍然没有什么:(这里发生了什么?)我真的很感激在3.3V上工作的任何投入。谢谢和问候。
|
|
相关推荐
4个回答
|
|
你能确定问题是不同的PIC还是不同的RTC?更新的图片通常有更多的模拟输入。你确定I2C管脚是数字模式的吗?您的I2C代码在每次写入之后检查ACK状态吗?
|
|
|
|
你好,RicThanks。我感觉到它的PIC(18F26J50)。我设置了一个详细的例程来编写I2C寄存器,并报告一个错误情况,比如超时,没有ack等等。虽然所有东西都在mcus(18F2550和18F26J50)中再次完美地写入,但只有18F2550显示设置(和计数)的时间。D 18F26J50只显示了0000000…我不知道这里发生了什么。我不能说I2C不工作,因为RTC的配置寄存器被写入。
|
|
|
|
你好,RicThanks。我感觉到它的PIC(18F26J50)。我设置了一个详细的例程来编写I2C寄存器,并报告一个错误情况,比如超时,没有ack等等。虽然所有东西都在mcus(18F2550和18F26J50)中再次完美地写入,但只有18F2550显示设置(和计数)的时间。D 18F26J50只显示了0000000…我不知道这里发生了什么。我不能说i2c不工作,因为RTC的配置寄存器被写入了。用于检查I2c错误的相同例程用于读取,它显示超时错误。我还附上了信号的范围视图。黄色是数据线,蓝色是时钟线。这里没有看到时钟,所以我想我可以肯定地说,I2c读不工作…
|
|
|
|
显然,正如微芯片所报告的,硅中有一个缺陷:解决方法是清除LATB4和LATB5,在初始化I2c之前设置TRISB4和TRISB5。
|
|
|
|
只有小组成员才能发言,加入小组>>
5244 浏览 9 评论
2035 浏览 8 评论
1955 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3214 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2261 浏览 5 评论
780浏览 1评论
676浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
602浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
684浏览 0评论
581浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-26 03:41 , Processed in 1.858971 second(s), Total 83, Slave 67 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号