调了很久,最后用串口打印来检测执行到哪里。。。
int i=0;
RCC_AHB2PeriphClockCmd(RCC_AHB2Periph_RNG,ENABLE);
printf("1");
RNG_Cmd(ENABLE);
printf("2");
while(RNG_GetFlagStatus(RNG_FLAG_DRDY) == RESET&&(i<10000))
{
i++;
}
if(i>=10000)
return 0;
return 1;
串口只打印出“1”,没有打印出“2”。。。。求助,这是为什么
我们例程是这样的: [mw_shl_code=c,true]//初始化RNG u8 RNG_Init(void) { u16 retry=0; RCC_AHB2PeriphClockCmd(RCC_AHB2Periph_RNG, ENABLE);//开启RNG时钟,来自PLL48CLK RNG_Cmd(ENABLE); //使能RNG while(RNG_GetFlagStatus(RNG_FLAG_DRDY)==RESET&&retry<10000) //等待随机数就绪 { retry++; delay_us(100); } if(retry>=10000)return 1;//随机数产生器工作不正常 return 0; }[/mw_shl_code] 测试无问题。
你的printf,是否正常?
另外有没有仿真器,跟踪下代码吧。
---------------------------------
我们例程,测试没这个问题。
你是不是用我们开发板+我们例程呢?
一周热门 更多>