stm32 RTC时钟设置能不能用毫秒

stm32 RTC时钟设置能不能用毫秒

具体的程序里面写的是

    RTC_SetAlarm(SENDTIME+RTC_GetCounter());

进入原函数看看发现是:
void RTC_SetAlarm(uint32_t AlarmValue)
{
    RTC_EnterConfigMode();
    /* Set the ALARM MSB word */
    RTC->ALRH = AlarmValue >> 16;
    /* Set the ALARM LSB word */
    RTC->ALRL = (AlarmValue & RTC_LSB_MASK);
    RTC_ExitConfigMode();
}

这样我写个测试

#include 
#include 
#include 

int main()
{
//    char a[8] = "0x0000ffff";
//    uint32_t b = strtoul(a, NULL, 16);


    uint32_t AlarmValue = 300007;
    printf("32:%d\n",  AlarmValue); // 取整并打印结果
    printf("1:%04X\n",  AlarmValue); // 取整并打印结果
    AlarmValue >> 16;
    printf("1:%d\n",  AlarmValue); // 取整并打印结果
    AlarmValue=AlarmValue & 0x0000FFFF;
    printf("1:%d\n",  AlarmValue); // 取整并打印结果
    printf("1:%04X\n",  AlarmValue); // 取整并打印结果
    printf("1:%f\n",  AlarmValue); // 取整并打印结果

    return 0;






}
可以看见打印出来:



​​​​​​​

能看出来你实际上的是毫秒 设置300007 和设置300.07 效果一样,我不知道是不是个例,感觉C语言好高级 

你可能感兴趣的:(c#,开发语言)