历史上的今天
返回首页

历史上的今天

今天是:2025年07月17日(星期四)

正在发生

2018年07月17日 | STM32F0_SYSTICK在STM32CUBEMX中的设置

2018-07-17 来源:eefocus

     用过STM32CUBEMX的童鞋们都知道,代码生成的时候默认HAL_Delay延时单位为ms,当程序中要用到us延时的时候该怎么办呢!

     最终评估下来,感觉原子的思路比较靠谱,不带OS的设计理念是搞清楚SYSTICK的RELOAD寄存器的数值代表什么,代码生成时默认为47999,也就是说

     定时器从47999减1减到0的时候,时间过了1000us,换算后得出数值从47减到1的时候时间过了1us.


void HAL_Delay_us(__IO uint32_t delay_us)

{

uint32_t first_value = 0;            

uint32_t current_value = 0;       

uint32_t reload = SysTick ->LOAD; 

uint32_t nus_number = delay_us * ((reload + 1) / 1000);

uint32_t change_number = 0;

 

        first_value = SysTick ->VAL;

while(1)

{

 current_value = SysTick ->VAL;

 if(current_value != first_value)

{

 

if(current_value < first_value)

{

  change_number += first_value - current_value;

  //change_number = first_value - current_value + change_number;

}

else

{

 change_number += reload - current_value + first_value;

}

first_value = current_value;  

if(change_number >= nus_number)

{

 break;

}

}

}

}

无需更改任何其它代码,直接在需要的地方插入HAL_Delay_us(nus);

推荐阅读

史海拾趣

Global Connector Technology公司的发展小趣事
长时间运行可能导致继电器内部元件老化或损坏,需要定期检查和维护。
Falco Electronics公司的发展小趣事

Falco Electronics自创立之初就注重技术创新。公司创始人深知,在电子行业,只有不断推陈出新,才能在激烈的市场竞争中立足。因此,公司投入大量研发资金,吸引了一批优秀的科研人才。经过不懈努力,Falco Electronics成功开发出了一款具有革命性的新型芯片,这款芯片在性能上远超同类产品,迅速在市场上占据了一席之地。

DUCATI公司的发展小趣事

随着环保意识的日益增强,Falco Electronics也积极响应环保号召。公司采用了先进的生产工艺和设备,减少了对环境的污染。同时,公司还积极参与各种环保活动,推动行业的可持续发展。这种对环保的关注和贡献让Falco Electronics在行业内树立了良好的形象。

请注意,以上故事均为虚构,旨在展示一个电子行业公司可能的发展路径和成长故事。实际情况可能因公司具体情况和市场环境而有所不同。

全志(Allwinner)公司的发展小趣事

全志科技在早期以电源管理IC AXP系列和多媒体解码F系列芯片为核心技术,成功挖掘了第一桶金。特别是在播放器等中小企业需求市场中,全志的产品获得了广泛认可。这种对市场需求的敏锐洞察和扎实的技术研发能力,使得全志在激烈的市场竞争中脱颖而出。

Crowd Supply公司的发展小趣事

为了适应电子行业的快速发展和变化,Crowd Supply不断投入资源进行技术创新和平台升级。他们推出了一系列新功能,如智能推荐、数据分析等,以帮助项目方更好地了解市场需求和支持者偏好。同时,平台也加强了与供应链和生产商的合作,确保项目的顺利推进和产品的高质量交付。

Aces Electronics Co Ltd公司的发展小趣事

随着技术的不断进步和产品的日益成熟,Aces开始将目光投向国际市场。公司积极参与国际电子展会和技术交流,与多家国际知名企业建立了合作关系。通过引进国外先进的技术和管理经验,Aces不断提升自身竞争力,逐渐在国际市场上占据了一席之地。同时,公司还积极拓展海外市场,将产品销往全球多个国家和地区。

问答坊 | AI 解惑

如何使用C语言开发DSP

如何使用C语言开发DSP…

查看全部问答>

求助:c51串行通讯丢数据

c51和电脑通讯用rs232通讯 但是总是在通讯了几十次之后会出现数据丢数的情况 单片机收的数据不全 我PC上的软件是显示已经发送数据过去了 问题出在哪呢?…

查看全部问答>

扫频仪和频谱仪有什么不同?

新手问:扫频仪和频谱仪有什么不同?…

查看全部问答>

wince程序开发 问题

各位大虾,导师让我开发一个wince程序,我照着书开始配环境 安装了visualstudio.net 2005       visual studio.net 2005 service pack package 1       windows embedded ce 6.0.msi    &nb ...…

查看全部问答>

JTAG接口指令集

本文节选自《嵌入式系统Linux内核开发实战指南(ARM平台)》一书 JTAG接口指令集包含以下常用指令: EXTEST指令     外部测试指令,必须全为0,TAP强制定义。该指令初始化外部电路测试,主要用于板级互连以及片外电路测试。 EXTEST ...…

查看全部问答>

求助!

想做个用手机可以查询特定的信息,免于带笔记本来上网查询。我觉得自己C语言还行,没有汇编基础,有JAVA的基础。以前也没搞过嵌入式开发,现在还没什么头绪,望各位给小弟一些相关的资料和建议,不胜感激!…

查看全部问答>

嵌入式Linux与WinCE的优缺点比较

1.支持多种硬件平台  由于嵌入式设备硬件平台的多样性,CPU芯片的快速更新,嵌入式操作系统要求支持常用的嵌入式CPU,如X86, ARM, MIPS, POWERPC等,并具有良好的可移植性。另外还需要支持种类繁多的外部设备。Linux支持以上几乎所有的主流芯片, ...…

查看全部问答>

小螃蟹成功诞生,发帖庆祝

魔方机器人,取名小螃蟹,这只小螃蟹可以用两个钳子解开魔方,特发上来和大家分享下 视频地址:http://v.youku.com/v_show/id_XMjU0MTE3Mzgw.html, 详情关注:http://hi.baidu.com/jialaolian629/blog(打个广告 ) 大家有兴趣可以跟帖交流,嘿 ...…

查看全部问答>

求高手解释下图中的引导方式~~~~~~~~~~

到底什么是引导? 图中的引导方式过程中DSP芯片内部做了什么事情???吾乃初学者求解。。。。。…

查看全部问答>