发新帖我要提问
12
返回列表
打印
[STM32F4]

STM32F407读写IIC串行接口高精度实时时钟

[复制链接]
楼主: 突然下起雨
手机看帖
扫描二维码
随时随地手机跟帖
21
突然下起雨|  楼主 | 2023-7-31 15:39 | 只看该作者 回帖奖励 |倒序浏览
七、源程序
// 
//写SD2405允许程序
//
void WriteTimeOn(void)
{               
        I2CStart();
        I2CSendByte(0x64);      
        I2CWaitAck();   
        I2CSendByte(0x10);                //设置写地址10H      
        I2CWaitAck();       
        I2CSendByte(0x80);                //置WRTC1=1      
        I2CWaitAck();
        I2CStop();

        I2CStart();
        I2CSendByte(0x64);      
        I2CWaitAck();   
        I2CSendByte(0x0F);                //设置写地址0FH
        I2CWaitAck();       
        I2CSendByte(0x84);                //置WRTC2,WRTC3=1
        I2CWaitAck();
        I2CStop();
}


//
//写SD2405禁止程序
//
void WriteTimeOff(void)
{               
        I2CStart();
        I2CSendByte(0x64);      
        I2CWaitAck();   
        I2CSendByte(0x0F);                //设置写地址0FH      
        I2CWaitAck();       
        I2CSendByte(0x0) ;                //置WRTC2,WRTC3=0      
        I2CWaitAck();

        I2CStart();
        I2CSendByte(0x64);      
        I2CWaitAck();   
        I2CSendByte(0x10);                //设置写地址10H      
        I2CWaitAck();       
        I2CSendByte(0x0) ;                //置WRTC1=0(10H地址)      
        I2CWaitAck();
        I2CStop();
}


//设置SD2405中断程序(设置报警时间:小时+分钟)
void WriteALARM(uint8_t hour , uint8_t minute)
{       
        WriteTimeOn();            //写SD2405允许
        I2CStart();
        I2CSendByte(0x64);      //发送SD2400写寄存器命令
        I2CWaitAck();   
        I2CSendByte(0x08);      //发送起始地址(0x08=分钟报警寄存器)
        I2CWaitAck();   
        I2CSendByte(HEXtoBCD(minute));   //分钟
        I2CWaitAck();
        I2CStop();
       
       
        I2CStart();
        I2CSendByte(0x64);      //发送SD2400写寄存器命令
        I2CWaitAck();   
        I2CSendByte(0x09);      //发送起始地址(0x09=小时报警寄存器)
        I2CWaitAck();   
        I2CSendByte(HEXtoBCD(hour));     //小时
        I2CWaitAck();
        I2CStop();       
       

        I2CStart();
        I2CSendByte(0x64);      //发送SD2400写寄存器命令
        I2CWaitAck();   
        I2CSendByte(0x0E);      //发送起始地址(0x0E=报警允许寄存器)
        I2CWaitAck();   
        I2CSendByte(0x06);      //设置报警允许(使能小时、分钟报警)
        I2CWaitAck();
        I2CStop();

        I2CStart();
        I2CSendByte(0x64);      //发送SD2400写寄存器命令
        I2CWaitAck();   
        I2CSendByte(0x10);      //发送起始地址(0x10=CTR2控制寄存器)
        I2CWaitAck();   
        I2CSendByte(0x92);      //设置INT中断选通(INTS1,INTS0),及报警中断总允许位(INTAE)
        I2CWaitAck();
        I2CStop();
        WriteTimeOff();        //写SD2405禁止
}



//关闭报警中断
void ClrALARM(void)
{
        WriteTimeOn();            //写SD2405允许
        I2CStart();
        I2CSendByte(0x64);      //发送SD2400写寄存器命令
        I2CWaitAck();   
        I2CSendByte(0x10);      //发送起始地址
        I2CWaitAck();   
        I2CSendByte(0x90);      //清报警中断总允许位(INTAE)
        I2CWaitAck();
        I2CStop();
        WriteTimeOff();        //写SD2405禁止
}

使用特权

评论回复
22
万图| | 2023-12-29 07:28 | 只看该作者

电流若是偏大就会直接导致器件烧毁

使用特权

评论回复
23
Uriah| | 2023-12-29 08:31 | 只看该作者

人体具有300PF的等效电容

使用特权

评论回复
24
帛灿灿| | 2023-12-29 10:27 | 只看该作者

从而达到对电子设备进行静电保护

使用特权

评论回复
25
Bblythe| | 2023-12-29 11:30 | 只看该作者

齐纳二极管的缺点是不如TVS快

使用特权

评论回复
26
周半梅| | 2023-12-29 13:26 | 只看该作者

就是因为它的作用就是在电子产品设备受到雷击浪涌与ESD静电放电或者其他瞬态电压时

使用特权

评论回复
27
Pulitzer| | 2023-12-29 14:29 | 只看该作者

这方便一般可以使用底涂的方式来改善

使用特权

评论回复
28
童雨竹| | 2023-12-29 16:25 | 只看该作者

正常信号一般达不到导通电压

使用特权

评论回复
29
Wordsworth| | 2023-12-29 17:28 | 只看该作者

在电子电路中电容一端接电阻

使用特权

评论回复
30
Clyde011| | 2023-12-29 18:31 | 只看该作者

VHumanBody为 8kV

使用特权

评论回复
31
公羊子丹| | 2023-12-29 19:24 | 只看该作者

明确出电源的性能和稳定性是否符合预期和要求

使用特权

评论回复
32
xdvca| | 2024-7-31 23:42 | 只看该作者
你需要确保STM32F407和I2C高精度实时时钟模块(如DS3231或其他类似的RTC模块)正确连接。

使用特权

评论回复
33
鹿鼎计| | 2024-8-1 14:38 | 只看该作者
齐纳二极管的缺点是没有tvs快,

使用特权

评论回复
34
朝生| | 2024-8-3 09:49 | 只看该作者
STM32F407通过串行接口读写IIC设备中的实时时钟可以通过库函数进行操作,需精准配置时钟源与通信协议。在程序中加入延时以保证高精度读取。此外,中断处理及时,保证实时性。

使用特权

评论回复
35
LinkMe| | 2024-8-7 19:38 | 只看该作者
这种便利性通常可以通过使用底漆来提高,

使用特权

评论回复
36
天天向善| | 2024-8-8 19:01 | 只看该作者
在电子电路中,电容器的一端与电阻器相连。

使用特权

评论回复
37
软核硬核| | 2024-8-11 21:18 | 只看该作者
为了实现电子设备的静电保护,

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则