历史上的今天
今天是:2025年01月04日(星期六)
2019年01月04日 | stm32 SysTick系统定时器
2019-01-04 来源:eefocus
它是一个24位向下递减的定时器,每计数一次所需时间为1/SYSTICK,SYSTICK是系统定时器时钟,它可以直接取自系统时钟,还可以通过系统时钟8分频后获取
当定时器计数到0时,将从LOAD 寄存器中自动重装定时器初值,重新向下递减计数
如果开启SysTick中断的话,当定时器计数到0,将产生一个中断信号

void SysTick_Init(u8 SYSCLK)
{
SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK_Div8);
fac_us=SYSCLK/8; //1us次数
fac_ms=(u16)fac_us*1000; //1ms次数
}
void delay_us(u32 nus)
{
u32 temp;
SysTick->LOAD=nus*fac_us; //时间初值
SysTick->VAL=0x00; //清空计数器
SysTick->CTRL|=SysTick_CTRL_ENABLE_Msk ; //打开定时器
do
{
temp=SysTick->CTRL;
}while((temp&0x01)&&!(temp&(1<<16))); //等待时间到达
SysTick->CTRL&=~SysTick_CTRL_ENABLE_Msk; //关闭计数器
SysTick->VAL=0x00; //清空计数器
}
void delay_ms(u16 nms) //最大1864ms
{
u32 temp;
SysTick->LOAD=(u32)nms*fac_ms;
SysTick->VAL=0x00;
SysTick->CTRL|=SysTick_CTRL_ENABLE_Msk;
do
{
temp=SysTick->CTRL;
}while((temp&0x01)&&!(temp&(1<<16)));
SysTick->CTRL&=~SysTick_CTRL_ENABLE_Msk;
SysTick->VAL=0x00;
}
下一篇:STM32点亮LED
史海拾趣
|
系統編號 : 094STUT0428039出版年 : 95 研究生: 施銘憲 論文名稱 : 5.8GHz RFID之射頻前端接收器設計指導教授 : 陳文山學位類別 : 碩士校院名稱 : 南台科技大學系所名稱 : 電子工程系 學號 : M9330202學年度 : 94 語文別 : 中文 論文頁數 : 77 … 查看全部问答> |
|
拜托高手急求 频率提取(FFT)的matable实现 程序 图形 结果 小弟近日有个实验课题,弄了好久没弄明白对于matable和数字信号处理小弟是纯白菜~ 这东西对我还很重要 希望高手能帮帮忙!!! 在这里万分感谢 1.初始信号为两个正弦波的叠加,频率分别为 f1=100HZ、f2=300HZ,且两列波的 ...… 查看全部问答> |
|
小弟第一次做这个比赛,还不是太懂 据说,这个比赛是自己编程序,然后下载到开发平台的芯片上运行,如果开发工具用IAR EWARM 那各种接口的驱动程序,要不要自己写? 自己写的代码是不 ...… 查看全部问答> |
|
问一个问题啊 我编写了一个程序,用来接收FPGA传给arm的数据,但每次下载完程序只能好使一次,下一次运行必须重新下载程序,要不然就接收不到数据 这是为什么啊 怎么解决… 查看全部问答> |
|
请问为什么我在调试程序的时候 看到 *IFR=0X02 *IMR=0X02 INTM=0; 为什么不会跳到中断2处理函数中去呢 我在中断2处理函数中设置了个断点,但运行不到断点处 请高手指 ...… 查看全部问答> |
|
接下来的4周时间,estore上launchpad仅售$6.99 TI在从8月19日以来的四周,每周周一的launchpad仅售6.99刀, launchpad涨价到10个美金后很久没有这样的好价位了。 这次是TI组织的Back To School Sale活动,为大学生提供开发平台。 特别注意要输入优惠码:LP_BTS 消息来自TI工程师社区: … 查看全部问答> |
|
IAR + Proteus7.6仿真MSP430单片机的设置方法 Proteus7.6增加了MSP430系列单片机,iar embedded workbench 和Proteus7.6联调可完成对MSP430的软件仿真,步骤如下。 1. 设置IAR软件,生产XX.HEX文件(1) 在IAR建立MSP430工程及X.C文件,并编写X.C代码,界面如下图,(2) 设置 ...… 查看全部问答> |




