工具/软件:TI C/C++编译器
问题> 100Hz 中断如何计算 SysTick?
内容如下。
#define tICKS_PER_second 100
//将系统时钟设置为从 PLL 以50MHz 运行。
//
ROM_SysCtlClockSet (SYSCTL_SYSDIV_4 | SYSCTL_USE_PLL | SYSCTL_OSC_MAIN | SYSCTL_XTAL_16MHz);
//为100Hz 中断配置 SysTick。
//
ROM_SysTickPeriodSet (ROM_SysCtlClockGet ()/ ticks_per_sond);
ROM_SysTickEnable();
ROM_SysTickIntEnable();
(请参阅 SW-TM4C-DRL-UF-G1-2.1.4.178文件)
28.2.2.8 SysTickPeriodSet
设置 SysTick 计数器的周期。
原型:
无效
SysTickPeriodSet (uint32_t ui32Period)
参数:
ui32Period 是 SysTick 计数器每个周期内的时钟节拍数、必须为
介于1和16之间、777、216、包括16。
描述:
此函数设置 SysTick 计数器回绕的速率、相当于该数字
中断之间的处理器时钟数量。
注:
调用此函数不会导致 SysTick 计数器立即重新加载。 如果是立即数
需要重新加载、必须写入 NVIC_ST_CURRENT 寄存器。 对该寄存器的任何写入
将 SysTick 计数器清零并使用上提供的 ui32Period 引起重新加载
启用 SysTick 后的下一个时钟。
返回:
无。