STM32F4光盘扩展例程 USOSIII 系统轮询时间慢

2019-07-21 03:36发布

原子哥,STM32F4光盘的扩展例程中的UCOSIII例程在“探索者STM32F4开发板”上跑,任务运行正常,改到STM32F407VET6上,任务运行比较很慢,尤其最后一个任务轮询到第一个任务,延时好久,请问是什么原因,谢谢!附件是我的工程。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
8条回答
lucjn
2019-07-21 07:33
回复【2楼】zuozhongkai:
---------------------------------
晶振没有问题。
void delay_init(u8 SYSCLK)
{
#ifdef OS_CRITICAL_METHOD //????OS_CRITICAL_METHOD?¨????,???÷????ucosII??.
u32 reload;
#endif  
  SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK_Div8);
fac_us=SYSCLK/8; //??????·?????ucos,fac_us???è??????

#ifdef OS_CRITICAL_METHOD  //????OS_CRITICAL_METHOD?¨????,???÷????ucosII??.
reload=SYSCLK/8; //???????????????? ??????K    
reload*=1000000/OS_TICKS_PER_SEC;//?ù??OS_TICKS_PER_SEC?è?¨?????±??
//reload??24???????÷,×??ó??:16777216,??168M??,????0.7989s×ó??
fac_ms=1000/OS_TICKS_PER_SEC;//?ú±íucos???????±??×???????    
SysTick->CTRL|=SysTick_CTRL_TICKINT_Msk;    //????SYSTICK????
SysTick->LOAD=reload;  //??1/OS_TICKS_PER_SEC??????????
SysTick->CTRL|=SysTick_CTRL_ENABLE_Msk;    //????SYSTICK
#else
fac_ms=(u16)fac_us*1000;//·?ucos??,?ú±í????ms?è????systick?±????   
#endif //SYSTEM_SUPPORT_UCOS
}
这个函数是配置系统“滴答”时钟的么?怎么没有配置RCC,SYSCLK是多少,程序里配置系统时钟是在哪里?

一周热门 更多>