stm32f303的延时程序
各位大神。最近用stm32f303进行ad采集,采集完需要延时1000ms,请教一下f3的延时程序怎么写,多谢了定时器 定时器或者使用汇编延时
/*120Mhz时钟时,当ulCount为1时,函数耗时3个时钟,延时=3*1/120us=1/40us*/
/*
SystemCoreClock=120000000
us级延时,延时n微秒
userDelay(n*(SystemCoreClock/3000000));
ms级延时,延时n毫秒
userDelay(n*(SystemCoreClock/3000));
m级延时,延时n秒
userDelay(n*(SystemCoreClock/3));
*/
#if defined (__CC_ARM) /*!< ARM Compiler */
__asm void userDelay(unsigned long ulCount)
{
subs r0, #1;
bne userDelay;
bx lr;
}
#elif defined ( __ICCARM__ ) /*!< IAR Compiler */
void userDelay(unsigned long ulCount)
{
__asm(" subs r0, #1\n"
" bne.n userDelay\n"
" bx lr");
}
#elif defined (__GNUC__) /*!< GNU Compiler */
void __attribute__((naked)) userDelay(unsigned long ulCount)
{
__asm(" subs r0, #1\n"
" bne userDelay\n"
" bx lr");
}
#elif defined(__TASKING__) /*!< TASKING Compiler */
/*无*/
#endif /* __CC_ARM */
AD采集完成后1S后再继续采集吗?采集完成可以加停止标志位,记录ticks,等最新的ticks-记录ticks大于1s时,重新开启AD采集功能。 上RTOS系统,系统自带延时函数
页:
[1]