初级会员

- 积分
- 131
- 金钱
- 131
- 注册时间
- 2018-1-18
- 在线时间
- 18 小时
|
1金钱
两块使用STM32F407VE的板子,晶振配置不同。一种MCU和FPGA都有独立晶振。 另一种是MCU没有晶振,使用的是FPGA的输出时钟。
现在想把两个固件统一起来,在main函数开始处,使用如下的代码检查HSE的状态:
FlagStatus HSEStatus = RCC_GetFlagStatus(RCC_FLAG_HSERDY);
if(RESET==HSEStatus)
{
// 做其他处理
}
这样处理是成功的:
在MCU使用独立晶振的板子上,返回SET。在MCU没有使用独立晶振的板子上,返回RESET。
但存在的问题是:在MCU未使用独立晶振的板子上,无法软启动,只能加电才能启动成功。
经仔细检查RCC_GetFlagStatus()函数,实际执行的就是 :
FlagStatus HSEStatus = RCC->CR & RCC_CR_HSERDY;
用上述语句代替RCC_GetFlagStatus()函数,返回的却都是RESET,不解,求助各位大侠。
|
|