历史上的今天
返回首页

历史上的今天

今天是:2025年01月04日(星期六)

2019年01月04日 | stm32 SysTick系统定时器

2019-01-04 来源:eefocus

它是一个24位向下递减的定时器,每计数一次所需时间为1/SYSTICK,SYSTICK是系统定时器时钟,它可以直接取自系统时钟,还可以通过系统时钟8分频后获取 

当定时器计数到0时,将从LOAD 寄存器中自动重装定时器初值,重新向下递减计数 
如果开启SysTick中断的话,当定时器计数到0,将产生一个中断信号


SysTick


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;

}


推荐阅读

史海拾趣

Hirschmann公司的发展小趣事
TC4013作为定时器的核心,通过接收外部触发信号(如时钟信号的上升沿)来控制定时器的置位和复位。它内部的JK触发器可以根据输入的信号状态(J、K、时钟信号等)来设置或重置其输出状态。
Acutechnology公司的发展小趣事

随着技术的不断进步,Acutechnology公司不断对产品进行升级和优化。公司投入大量研发资源,推出了一系列高性能、高可靠性的电子产品,满足了市场的多样化需求。同时,公司积极拓展销售渠道,与国内外多家知名企业建立了长期合作关系,产品销量逐年攀升。

Fair Rite公司的发展小趣事

为了确保产品质量和满足客户需求,Fair Rite引入了严格的质量管理体系,并通过了ISO/TS 16949认证。此外,公司还积极拓展国际市场,在美国、中国等地建立了生产基地和销售网络。通过全球布局和本土化策略,Fair Rite为全球客户提供高品质、高性能的电子元器件。

长江连接器(CJT)公司的发展小趣事

为了进一步拓展市场和提升竞争力,长江连接器开始实施全球化战略。公司积极在海外设立生产基地和研发中心,加强与国际知名企业的合作和交流。通过引进国际先进的生产技术和管理经验,长江连接器不断提升自身的生产能力和管理水平。同时,公司还积极参与国际竞争和合作,与全球各地的客户建立了长期稳定的合作关系。

Aptiv公司的发展小趣事

Aptiv一直秉持开放合作的理念,积极与产业链上下游企业开展创新合作。公司与多家科技公司、研究机构以及高校建立了战略合作关系,共同推动自动驾驶技术的研发和应用。通过共享资源、优势互补,Aptiv不仅加快了自身的发展步伐,还为整个电子行业的进步做出了积极贡献。

APLUS Products公司的发展小趣事

在发展过程中,APLUS Products公司注重与上下游企业的合作与共赢。公司积极与供应商建立良好的合作关系,确保原材料的质量和供应的稳定性;同时,也与多家知名企业建立了战略合作关系,共同开拓市场、分享资源。这些合作不仅提高了公司的运营效率,也增强了其市场竞争力。

问答坊 | AI 解惑

电源的保护电路

本帖最后由 paulhyde 于 2014-9-15 04:18 编辑 自己弄得一些资料 希望有更好的分享一下  …

查看全部问答>

5.8GHz RFID之射頻前端接收器設計

系統編號 : 094STUT0428039出版年 : 95 研究生: 施銘憲 論文名稱 : 5.8GHz RFID之射頻前端接收器設計指導教授 : 陳文山學位類別 : 碩士校院名稱 : 南台科技大學系所名稱 : 電子工程系 學號 : M9330202學年度 : 94 語文別 : 中文 論文頁數 : 77 …

查看全部问答>

MC34063廉价的DC/DC变换器

DC/DC变换器控制电路                            34063是一单片双极型线性集成电路 专用于直流直流变换器控制部分 片内包含有温度补偿带隙基准源一 ...…

查看全部问答>

拜托高手急求 频率提取(FFT)的matable实现 程序 图形 结果

小弟近日有个实验课题,弄了好久没弄明白对于matable和数字信号处理小弟是纯白菜~  这东西对我还很重要 希望高手能帮帮忙!!! 在这里万分感谢   1.初始信号为两个正弦波的叠加,频率分别为 f1=100HZ、f2=300HZ,且两列波的 ...…

查看全部问答>

北京哪有卖非接触式ic卡读卡器的?

北京哪有卖非接触式ic卡读卡器的? 我是大学生,只要买一个便宜的用作项目研究。 谢谢大家了…

查看全部问答>

做过“博创杯”嵌入式设计大赛的大虾,指教下~~~

    小弟第一次做这个比赛,还不是太懂     据说,这个比赛是自己编程序,然后下载到开发平台的芯片上运行,如果开发工具用IAR EWARM     那各种接口的驱动程序,要不要自己写?     自己写的代码是不 ...…

查看全部问答>

arm7简单编程问题

问一个问题啊 我编写了一个程序,用来接收FPGA传给arm的数据,但每次下载完程序只能好使一次,下一次运行必须重新下载程序,要不然就接收不到数据 这是为什么啊 怎么解决…

查看全部问答>

请教dsp2407中断问题

请问为什么我在调试程序的时候 看到 *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)  设置 ...…

查看全部问答>