我测了MCO的输出在33KHz左右,但库函数里面RCC_MCO_LSE、RCC_IT_LSERDY都定义为0,RCC_CFGR_MCO也只定义了3位,我都按数据手册里的改了。仿真时我看了RCC_BDCR的寄存器的RTCSEL位,选择LSE时无论直接写寄存器还是调用库函数始终为00。搞了半天,看数据手册惊呆了,RCC_BDCR的寄存器的RTCSEL位在位指示里是10:9 2位,位说明里9:8 2位,库宏也是按9:8 2位定义的。于是把宏改为10:9 2位,RTCSEL和数据手册里的位说明一致了,但时钟跑得更快,5s闹钟中断只要3~4s。还是那个问题RTC_DIV的数据怎么会变呢,又不是计数器,分频器的数据一直变计时怎么可能会准。
|