历史上的今天
今天是:2025年02月25日(星期二)
2020年02月25日 | STM32-systick系统定时器
2020-02-25 来源:eefocus
systick系统定时器
系统定时器存在内核中,是24位的定时器,只能向下递减,嵌套在NVIC中

counter 在时钟的驱动下 在reload的初值开始向下递减计时到0,产生中断置位标志然后又从reload值开始重新递减计数,循环
定时时间计算
t=reload*(1/clk)
clk=72M时,t=72*(1/72m)=1us
clk=72M时,t=72000*(1/72m)=1ms
clk=72M时,t=72000000*(1/72m)=1s
1s=1000MS =1000 000US=1000 000 000NS
sysTick属于内核中的外设,他的中断优先级和外设的中断优先级相比,哪个高?
sysTick中断优先级配置的是scb->shprx寄存器
而外设的中断配置的是NVIC->iprx,有优先级分组和抢占优先级和子优先级的说法。
中断优先级在内核外设同样适用。
systick的使能函数:
static __INLINE uint32_t SysTick_Config(uint32_t ticks)
{
//判断tick的值是否大于2^24,如果大于,不符合规则
if (ticks > SysTick_LOAD_RELOAD_Msk) return (1);
//初始化reload寄存器的值
SysTick->LOAD = (ticks & SysTick_LOAD_RELOAD_Msk) - 1;
//配置中断优先级,配置为15,默认为最低优先级
NVIC_SetPriority (SysTick_IRQn, (1<<__NVIC_PRIO_BITS) - 1);
//初始化counter的值为0
SysTick->VAL = 0;
//配置systick的时钟为72M
//使能中断
//使能systick
SysTick->CTRL = SysTick_CTRL_CLKSOURCE_Msk |
SysTick_CTRL_TICKINT_Msk |
SysTick_CTRL_ENABLE_Msk; /* Enable SysTick IRQ and SysTick Timer */
return (0); /* Function successful */
}
编写微秒延时函数
void SysTick_Delay_us(uint32_t us)
{
uint32_t i;
SysTick_Config(72);
for(i=0;i //当计数器的值时间到了后,CTRL寄存器位16会置1 while(!((SysTick->CTRL)&(1<<16))); } SysTick->CTRL &=~SysTick_CTRL_ENABLE_Msk; } 利用中断来进行延时 void SysTick_Init(void) { if(SysTick_Config(SystemCoreClock/100000)) while(1); } void Delay_ms(__IO u32 nTime) { uint32_t TimingDelay; TimingDelay = nTime; while(TimingDelay!=0) TimingDelay--; }
史海拾趣
|
Speech Recognizer:sapi能够在wince中使用吗? Licensing Model for Windows CE 中 Professional版本中包含sapi5.0和 Speech Recognizer 但是Microsoft English (US) Windows CE Speech Recognizer (available in 4.2 only) 是说只能在4.2下使用是什么意思?还是4.2以 ...… 查看全部问答> |
|
wifi与BT用的模式都是spi的。两者共用一clk,但是不同的天线。BT与wifi之间相连接的是BT_STATE,WL_ACTIVE,BT_PRIORITY,如果把这三线去掉,单独当其中任何一个都是可以工作的,但是如果连接起来,我的wifi是可以找到无线网络,并且能连接上,但是就 ...… 查看全部问答> |
|
小弟练习做一个电子阅读器, 现在要尝试读txt文件, 以前用过读取文件的api, 不知道txt是不是可以这么读取呢? 其他格式的电子书文件是否先用文件api打开, 再按照特定的方式解码呢? 最后想问问高手们读取大量的文字需要动态分配内存, 小 ...… 查看全部问答> |
|
城市广告灯大多数只在夜晚12点钟以前起到较好的宣传作用,子夜一过,行人稀少,也就失去了广告的意义。该广告灯自动控制电路能在傍晚天渐黑时自动接通广告灯牌的电源,同时开始计时,待4~6小时后于子夜自动切断电源,从而实现全自动控制和节电的目 ...… 查看全部问答> |
|
ARM Cortex-M4 处理器竞争白热化近几年ARM 独领风骚,2010 年,ARM 在32/64 bit MCU 及MPU 架构中的市场占有率最多,达23.5%,据Semicast 统计,2010 年基于ARM 的市场规模已达到200 亿美元,而Cortex-M 架构更是引领了微控制器市场的新风尚,今年 ...… 查看全部问答> |
|
我看到NRF的数据手册上有两个地址TX_ADDR和RX_ADDR_P0。TX__ADDR是接收地址是指明发给谁的,RX_ADDR_P0是表明自身的地址,如果他俩相等,从机就接受数据。对不对?那么自动应答地址是什么,所有资料上都说自动应答地址(是给RX_ADDR_P0赋值)要和TX ...… 查看全部问答> |




