当前位置: 首页 > 知识库问答 >
问题:

c - 时钟芯片rx8025t芯片读取,小时超出24小时,请问是什么原因?

程博学
2023-12-09

这是i2c返回的结果
小时是第三个字节,0x36,转成bcd然后10进制是36,直接超出24小时了

#include <stdio.h>unsigned char bcd_decimal(unsigned char bcd){    return bcd - (bcd >> 4) * 6;}int main(void){    unsigned char buf[7] = {0x18, 0x27, 0x36, 0x00, 0x08, 0x12, 0x23};    printf("date -s %04d-%02d-%02d %02d:%02d:%02d\n",           2000 + bcd_decimal(buf[6]),           bcd_decimal(buf[5]),           bcd_decimal(buf[4]),           bcd_decimal(buf[2] & 0x3f),           bcd_decimal(buf[1]),           bcd_decimal(buf[0]));    return 0;}

输出结果是

➜ gcc hello.c && ./a.outdate -s 2023-12-08 36:27:18

参数解析:

具体规格书:规格书

请问是什么原因导致的?

共有1个答案

沈飞翼
2023-12-09

自问自答吧,看的规格书不对
找到了正确的规格书

寄存器有一位是表示12小时格式还是24小时格式的,不通的时间格式读取不一样

image.png

有需要可以私信我要修改后的代码

 类似资料:
  • 我用的是M1芯片的MBA学位。我尝试了Zulu JDK for M1进行开发,它可以工作,但是它不能用于OpenJFX。我已经使用Zulu vs AdoptopenJDK缩小了问题的范围。有人知道OpenJDK什么时候能兼容M1芯片吗?

  • 1.1. 芯片框图 1.1. 芯片框图 支持2/4/6/8路麦克风阵列 集成8通道ADC/I2S/PDM音频输入接口,支持模拟麦和数字麦 集成DAC/I2S音频输出接口,支持内部audio codec输出或外接audio codec输出 采用单MCU和单Cortex-A7的异步处理器架构,便于实现低功耗离线语音激活功能 内置DSP,支持降噪、AEC、Beam-forming、去混响等算法 内置NP

  • 芯片安全是针对芯片本身的安全研究,其在知识产权保护,防抄板山寨、加密破解、优化设计、漏洞挖掘和芯片木马等方面都具有深远意义,传统安全往往着眼于上层应用和驱动层面的安全,然而如果芯片存在本质的设计缺陷或安全漏洞,传统安全手段往往很难触及底层,前段时间英特尔芯片的“崩溃”(Meltdown)和“幽灵”( Spectre )漏洞,轰动整个世界,造成了巨额的损失,此次漏洞爆发就是因为芯片自身的设计缺陷所导

  • 概述 随着物联网的发展,越来越多的物联网设备往往容易成为黑客的攻击目标,设备一旦被攻破,造成的影响和损失都比较巨大。目前市场上的很多物联网设备都没有独立的硬件来做秘钥的安全存储,大部分都已软件的形式存在固件里,这样黑客很容易通过逆向工程获得秘钥,一旦秘钥被泄露,基于该秘钥构建的认证/加密/等安全方案将一无是处。 小米安全SIM卡 小米结合市场需求,将SIM卡与安全芯片相结合,让本来已达到很高安全级

  • 单片机实时时钟软件,用数码管显示时间,按键调节时间、闹钟

  • 问题内容: 我有一个将a解析为: 当我解析这个: 结果将是,当使用时: 8月29日 2011 00:44:00 当然,这应该是: 8月29日 2011 12:44:00 当我解析这个: 然后结果如预期的那样: 8月29日 2011 13:44:00 我怎样才能解决这个问题? 问题答案: 使用代替小时模式: