23、STM32 上系统精确延时与获取 micro 时间函数的实现(FreeRTOS 中也能移植)


        在编程中经常需要精确的延时,或者需要精确的统计一段代码的执行时间,亦或者是需要精确的保证某段代码被

调用的频率。比如需要统计某个函数的执行时间,从而判断开销,又比如在飞控中需要精确的保证每隔 2m 调用一

次读取传感器的函数,可以使用定时器去实现。在 STM32 平台上,我们可以充分的利用 systick 去实现。

static volatile uint32_t sysTickMillis = 0;
static const    uint32_t sysTickPerUs  = 72;   /* 系统时钟频率 - 72MHz */

/* 检查是否溢出 */
static int systick_check_underflow(void)
{
   return SysTick->CTRL & SysTick_CTRL_COUNTFLAG_Msk;
}

/* systick 中断服务程序 */ 
void SysTick_Handler(void)
{
   __disable_irq();
 
   systick_check_underflow();
   
   sysTickMillis++;
 
   __enable_irq();
}
 
/* systick 初始化 */ 
void systick_init(void)
{
   sysTickPerUs &#
  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
STM32嵌入式系统开发实战指南:FreeRTOS与LwIP联合移植》是一本针对STM32嵌入式系统开发的书籍,主要介绍了如何在STM32平台上实现FreeRTOS实时操作系统和LwIP网络协议栈的联合移植。该书籍通过理论与实践相结合的方式,详细介绍了如何进行STM32芯片的初始化配置、FreeRTOS操作系统移植及应用、LwIP网络协议栈的移植及应用等内容。 在《STM32嵌入式系统开发实战指南:FreeRTOS与LwIP联合移植,作者通过实际的案例和项目演示,向读者展示了如何利用STM32CubeMX工具进行芯片初始化配置,如何移植FreeRTOS实时操作系统,并详细介绍了FreeRTOS任务管理、任务间通信、时间管理、内存管理等内容。同时,书还介绍了LwIP网络协议栈的基本原理、移植方法以及在实际项目的应用。 该书籍的特点是系统性强,内容全面,操作实用,适合嵌入式系统开发初学者和从业人员使用。通过学习本书,读者可以全面掌握STM32芯片的初始化配置方法,了解FreeRTOS实时操作系统移植使用技巧,掌握LwIP网络协议栈的移植和应用实践,从而在实际项目快速应用于嵌入式系统开发。 总的来说,《STM32嵌入式系统开发实战指南:FreeRTOS与LwIP联合移植》通过丰富的案例和实践,帮助读者快速掌握STM32嵌入式系统开发的关键技术和方法,是一本值得推荐的实用性书籍。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值