历史上的今天
返回首页

历史上的今天

今天是:2024年10月20日(星期日)

正在发生

2021年10月20日 | stm32专题九:SysTick(二)微妙和毫秒级延时

2021-10-20 来源:eefocus

stm32系统嘀嗒定时器编程其实也很简单,这里写了两个us级延时和ms级延时函数。


bsp_systick.c


主要思路是,根据时钟频率,设置好固定的reload值,然后用传入参数不断计数;也可以根据传入参数精确计算reload值,但是可能会存在一个问题,就是如果希望的延时时间很长,24位reload寄存器可能会溢出,导致计数出错。


// 这里是重装载值固定为72,也可以根据us数来计算reload

/**

  * @brief us级延时

  */

void SysTick_Delay_us(uint32_t us)

{

    uint32_t i;

 

    // 计时72节拍,默认时钟72M(对应1us)

    // 下次运行SysTick_Config时又会开启时钟

    SysTick_Config(72);

 

    for (i = 0; i < us; i++)

    {

        // 等待计数到0

        while (!((SysTick->CTRL) & SysTick_CTRL_COUNTFLAG_Msk));

    }

 

    // 关掉定时器

    SysTick->CTRL &= ~(SysTick_CTRL_ENABLE_Msk);

}

 

/**

  * @brief ms级延时

  */

void SysTick_Delay_ms(uint32_t ms)

{

    uint32_t i;

 

    // 计时72000节拍,默认时钟72M(对应1ms)

    // 下次运行SysTick_Config时又会开启时钟

    SysTick_Config(72000);

 

    for (i = 0; i < ms; i++)

    {

        // 等待计数到0

        while (!((SysTick->CTRL) & SysTick_CTRL_COUNTFLAG_Msk));

    }

 

    // 关掉定时器

    SysTick->CTRL &= ~(SysTick_CTRL_ENABLE_Msk);

}


推荐阅读

史海拾趣

General Cable公司的发展小趣事
在红外遥控应用中,需要将YN5103的输出引脚连接到红外发射管驱动电路,以便将编码后的信号以红外光的形式发射出去。
EICHHOFF公司的发展小趣事

在快速发展的同时,EICHHOFF公司也积极关注环保和可持续发展问题。公司认识到作为电子行业的一员,必须承担起保护环境、节约资源的责任。为此,EICHHOFF公司采取了一系列措施来降低生产过程中的能耗和排放。例如:引入节能设备和技术、优化生产流程、推广绿色包装等。

此外,EICHHOFF公司还积极参与环保公益活动和社会责任项目,为社会做出积极贡献。这些努力不仅提升了公司的社会形象,也为公司的可持续发展奠定了基础。

FRONTIER公司的发展小趣事

背景:虽然此处的FRONTIER可能指的是边疆通信公司(Frontier Communications),但为符合电子行业背景,我们假设其在农村宽带服务方面的创新。

发展故事:在21世纪初期,FRONTIER Communications认识到农村地区对于宽带服务的迫切需求,于是开始大规模投资农村宽带基础设施建设。通过引入先进的通信技术和设备,FRONTIER Communications成功地将高速互联网带到了偏远地区,极大地改善了当地居民的生活和工作条件。这一举措不仅赢得了市场的广泛赞誉,也为公司带来了稳定的收入来源和持续增长的动力。

GE Solid State公司的发展小趣事
通过声音信号来反映曝光量,使得用户可以通过听觉直观地感知光线的强弱。
华润微(CRMICRO)公司的发展小趣事

华润微一直注重技术创新和研发投入。公司拥有一支高素质的研发团队,致力于宽禁带半导体(即第三代半导体)等领域的技术研发。通过不断的努力和积累,华润微在新技术研发方面取得了丰硕的成果,成为宽禁带半导体领域的佼佼者。同时,公司也加大了对封装测试技术的研发投入,不断提升其封装测试能力和技术水平。

Ceratech Corporation公司的发展小趣事

随着电子行业的快速发展,对电感产品的需求也日益增长。Ceratech Corporation公司敏锐地捕捉到了这一市场机遇,决定拓展电感产品线。公司投入大量研发资源,成功开发出一系列新型电感产品,这些产品不仅性能优异,而且具有广泛的应用范围。通过不断拓展电感产品线,Ceratech Corporation进一步巩固了其在电子行业的地位。

问答坊 | AI 解惑

搅浑税控这潭

中国的税控机市场究竟有多大?日前在北京召开的税控机产业链论坛上,中国信息产业商会税控信息化设备分会秘书长郑志光爆料,在未来的5年内,国内税控收款机的市场规模在100亿元左右。这与此前业界和研究机构盛传的2000亿元的市场份额相去甚远。一下 ...…

查看全部问答>

低成本1A线性锂电池充电器芯片方案(CN3056)

概述: CN3056是可以对单节锂离子或者锂-聚合物可充电电池进行恒流/恒压充电的充电器电路.该器件内部包括功率晶体管,应用时不需要外部的电流 检测电阻和阻流二极管.CN3056只需要极少的外围元器件,并且符合USB总线技术规范,非常适用于便携式应 ...…

查看全部问答>

文件不是有效windows CE安装文件

我是用C#进行开发的,直接部署到设备上运行没有问题,但是生成cab安装文件,在设备上安装失败,提示“文件不是有效windows CE安装文件”。系统是wince 5.0…

查看全部问答>

介绍下关于windows mobile6 api的书籍

介绍下关于windows mobile6 api的书籍,谢谢…

查看全部问答>

WINDOWS MOBILE下导航软件(具备源代码)。

WINDOWS MOBILE下导航软件(具备源代码)。 开发平台:EVC4.0 使用平台:WINDOWS MOBILE5,6 电子地图格式:MM4 地图转换工具:MAPINFO格式转到MM4(具备源代码)。 该软件是为台湾使用编写的,在大陆还没有版本问题。 现带全套代码,寻求合作 ...…

查看全部问答>

uclinux扫盲贴

uclinux表示micro-control linux.即“微控制器领域中的Linux系统”,是Lineo公司的主打产品,同时也是开放源码的嵌入式Linux的典范之作。uCLinux主要是针对目标处理器没有存储管理单元MMU(Memory Management Unit)的嵌入式系统而设计的。它已经被 ...…

查看全部问答>

两个VHDL写的51单片机内核

VHDL语言进行MCS-51兼容单片机ip核开发,给各位坛友见识一下我收藏的资料, [ 本帖最后由 awarenessxie 于 2012-9-3 21:32 编辑 ]…

查看全部问答>

贴一颗“纽扣”,装一个App,东西就不怕丢了

CES 大会上又有好玩意儿了。它是 StickNFind 公司推出的一个纽扣形状的追踪器,可以贴到任何物体上,通过蓝牙和手机上的一个 App 通信(iOS 和 Android 版均有),能给丢三落四的同学省去不少苦恼。这个 App 和这颗纽扣的通信有一个要求,就是在 ...…

查看全部问答>

我发现美国大片里好多创意很不错

大家发现没有,美国大片里的好多科幻的玩意儿,都会在几年内实现,比如那个普罗米修斯里的测绘山洞的飞行仪器,其实我感觉就可以用四轴飞行器,加高精度360度激光,应该就能实现。 还有猜测梦境的东西,不是那个小日本已经能实现一部分了吗?好神 ...…

查看全部问答>

我来评论,太阳能光伏发电解决方案

对ADI的产品还算是比较了解的,之前用过他的DDS类的芯片,这个感觉不错,另外就是用过AD,DA,以及一个很快的比较器ADCMP600系列的,刚才太阳能伏光里面提到的有AD7606那个多通道的数模转换也很给力,ADI的前景很大,真的,就是芯片贵了点,另外指标 ...…

查看全部问答>