完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
给出一个你想转换的例子。Asm还是C?
|
|
|
|
|
|
我现在没有时间去读DS323数据表。这取决于BCD号码是打包还是解包。”十六进制字节“没有必要的意思是相同的”二进制。因此,再次给出转换之前和之后的值的例子。
|
|
|
|
|
|
RTC寄存器是“Packed BCD”,意思是每个字节有两个BCD数字。我假设您希望二进制输出,例如中午12点,存储为“0x12”,将转换为0x0C。
|
|
|
|
|
|
查看数据表,尤其是OP的张贴图像,芯片使用封装的BCD,但也使用上位来存储更多的信息,比如12/24h模式或世纪。所以您可以使用转换代码作为起点,但是需要注意并屏蔽上位BCD的零碎位。
|
|
|
|
|
|
你好!我有点困惑。我附上一个PIC和DS3231之间i2c通信的图像文件。在我的软件中,我用写位(低)写DS3231的从地址(0x68),然后等待消息(2)我写DS3231的寄存器地址(0x00),然后等待消息。ge3)我用READ位(高)写DS3231的从地址(0x68)并等待aknowledge4)读秒并等待aknowledge4。这被解释为总共4个字节,这是我所看到的范围,但是lave地址的值是错误的,aknowledge是高的(应该是除非我把它解释错了。我需要初始化秒寄存器吗?
|
|
|
|
|
|
嗯……7位设备地址=0b11010000控制字节,用于写入=0b11010000控制字节,用于读取=0b11010001你的步骤1:根据我疲惫的老眼睛,你作用域上的第一个控制字节似乎是0b10000100这个没有得到确认。你的步骤2:这个没有得到确认。你的步骤3:seco您的作用域上的控制字节看起来是0b100001010。这未被确认。您的步骤4:由于设备没有确认步骤3的控制字节,所以它没有响应读取命令,并且SDA对于传输保持在高位。[编辑]注意,因为接收的值0xFF不是有效的rep。表示两个BCD数字,您最初要求的转换信息在从芯片读取有效数据之前不会有帮助。[/编辑]我认为您已经正确地完成了开始、重新启动、停止操作,但是查看代码可能更有益。而且,有些人实现了他们的I2C re。ad/write函数将7位设备ID字节作为参数,然后将其左移1位,使l***等于1用于读取,0用于写入。另一些则获取完整的8位控制字节,并按照它从调用程序中获得的信息进行传输。因为它没有做你想做的事情,所以你必须修复你的程序。如果你不明白为什么问题会显现出来,你需要一些帮助,你应该给我们看代码。
|
|
|
|
|
|
嗨,第一个字节中的从地址是错误的,因此接收到一个Nack。没有必要再做任何事情,链接是不和任何人交谈的。您需要看看为什么在开始之后您将错误的地址传递给I2C缓冲区。
|
|
|
|
|
|
生成一个函数,该函数可以从I2C设备获取字符串,然后将所有19个寄存器转储到一个数组的指针。仅16位。
|
|
|
|
|
|
这是我的数据结构DS3231M集成模块,是我根据数据表说明制作的:我检查过了,温度值是正确的。看来我没有错过一个字节。由于MPLAB X IDE自动完成提示,我在DS323编码时使用了这种结构。
|
|
|
|
|
|
我没有找到一个使用DS323的结构的理由,而是32位的长度就足够了。这是我的头文件。它可能不会在论坛上对齐。
|
|
|
|
|
|
GoT2015,味道的问题,当然。您的代码可以用于任意寄存器访问。相比之下,我已经创建了一个结构来处理RAM中的整个寄存器集。这允许保持I2C读写过程非常简单。我曾说过,每个地址访问几个字节所花费的时间相当于一次读/写总共19个字节的时间。唯一的缺点,我看到19字节RAM是需要DS323数据缓冲。
|
|
|
|
|
|
我只写诸如时间[6bcd]等相关事件部分,这些部分将适合4字节长。错误时间和日期等需要进行错误检查……不需要在诸如1月31日、3月30日这样的月份中存储天数组。可以通过逻辑来完成。
|
|
|
|
|
|
你好!我做了一个新项目,专门用于“交谈”DS3231。在ds3231.asm文件ini2c_rtc_initialize例程中,行不执行它应该执行的操作。rtc_address变量从来没有得到H'D0'的值。我用模拟器检查这个值。我想需要一些更好的内存管理。我对此有点生疏。在vars.asm文件中,我创建的变量rtc_address如下:如果可以先查看这个问题,然后我将讨论ds3231例程。无论如何附加代码,以便您可以查看.vars.inc:project.inc:
ds3231.asm(2.81KB)-下载64次io.asm(6.85KB)-下载42次main.asm(6.40KB)-下载42次vars.asm(2.12KB)-下载38次 |
|
|
|
|
|
可能是银行出错,哪家银行是“RTCL地址”?当你写信给它时,哪个银行是活跃的?
|
|
|
|
|
只有小组成员才能发言,加入小组>>
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
473 浏览 0 评论
5793 浏览 9 评论
2334 浏览 8 评论
2224 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3530 浏览 3 评论
1124浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
1095浏览 1评论
我是Microchip 的代理商,有PIC16F1829T-I/SS 技术问题可以咨询我,微信:A-chip-Ti
873浏览 1评论
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
475浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 04:24 , Processed in 1.525903 second(s), Total 98, Slave 81 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
2698