void SysTick_Delay_Us( __IO uint32_t us){uint32_t i;SysTick_Config(SystemCoreClock/1000000);for(i=0;i<us;i++){// 当计数器的值减小到0的时候,CRTL寄存器的位16会置1while( !((SysTick->CTRL)&(1<<16)) );}// 关闭SysTick定时器SysTick->CTRL &=~SysTick_CTRL_ENABLE_Msk;} 5.sys...
从上面可以看出,V3.5库函数默认使用HCLK作为SysTick时钟,执行SysTick_Config(72000)也就是SysTick->LOAD =72000, SysTick_CTRL初值为0x0007,开启Systick功能,开启Systick中断,使用HCLK作为Systick时钟。 注意:SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK_Div8);此函数意思,仅仅用来设置SysTick_CTRL滴答控制器0x00...
一:SysTick初始化 void SysTick_Configuration(void) { /*选择HCLK做为SysTick时钟源 */ SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK); /*_SysTick设置为优先级3 */ NVIC_SystemHandlerPriorityConfig (SystemHandler_SysTick, 3,0 ); /*1ms发生1次SysTick中断对应HCLK为72MHZ */ SysTick_SetReload(720...
if not configured particularly, the APB1 Bus clock is 36MHz, and the APB2 Bus clock is 72MHz. The SYSCLK is also set as 72MHz by default, and the Cortex System timer ,which clocks the systick module, is set as 9MHz by default. ...
调用SysTick_Config函数,SysTick的时钟源会被配置成AHB,并且使能中断,SysTick的中断优先级也在SysTick_Config函数中配置了。如果需要更改配置,可以找到SysTick_Config函数,并修改。 SysTick的中断服务函数在stm32f1xx_it.c文件中,SysTick的中断处理过程在SysTick_Handler中实现。
SysTick_Config(SystemCoreClock / RT_TICK_PER_SECOND); /* Call components board initial (use INIT_BOARD_EXPORT()) */ #ifdef RT_USING_COMPONENTS_INIT rt_components_board_init(); #endif #if defined(RT_USING_CONSOLE) && defined(RT_USING_DEVICE) ...
(5)SysTick_Config(); 这个函数调用主要是为程序中用到的精确延时作配置。 3、进入主循环 进入主循环的工作就两个: Joystick_Send(JoyState())。 JoyState()用来获取按键的状态。 Joystick_Send(JoyState())用来把按键状态发到主机。当然这里真正的发送 工作并不是由该代码完成的。它的工作只是将数据写入 IN...
1、外部中断数量 在STM32F103中有19个外部中断:线0~15:对应外部IO口的输入中断 线16:连接到PVD输出...
* 函数名:SysTick_init * 描述 :配置SysTick定时器 * 输入 :无 * 输出 :无 */ void SysTick_init(void) { SysTick_Config(SystemCoreClock /OS_TICKS_PER_SEC);//初始化并使能SysTick定时器 } 到这里就实现单任务系统了,OK。点灯完毕!接下来就是仔细分析源码了。
void SYSCLKconfig_STOP(void); void RCC_Configuration(void); void EXTI_Configuration(void); void GPIO_Configuration(void); void NVIC_Configuration(void); void RTC_Configuration (void); void SysTick_Configuration(void); void Delay(vu32 nCount); ...