QPC 学习笔记

1、 1个活动对象创建多个定时器

    QTimeEvt_ctorX(&me->timeEvt1, &me->super, TIMEOUT1_SIG, 0U);

    QTimeEvt_ctorX(&me->timeEvt2, &me->super, TIMEOUT2_SIG, 0U);

2、启动定时器

QTimeEvt_armX(&me->timeEvt1, 5000, 5000);

QTimeEvt_armX(&me->timeEvt2, 5000, 5000);

启动定时器的函数的声明如下:

void QTimeEvt_armX(QTimeEvt * const me,
                   QTimeEvtCtr const nTicks, QTimeEvtCtr const interval);

nticks:定时器第一次发送超时事件所需要的时间。
interval:后续超时事件发送所间隔的时间。当此值为0时,定时器将只产生1次超时事件,间隔时间为nticks设置时间

3、发送消息 

bool QACTIVE_POST(QMActive *const me_, QEvtconst*const e_,
void const*constsender_/*活动对象值或者任意标识发送者的数值(比如在ISR中发布的时候,没有活动对象),本参数在不使用QS的时候是无效的,可填入任意值*/)

bool QACTIVE_POST_X(QMActive *const me_, QEvtconst*const e_,
uint_fast16_tconst margin_/*保证留有多少的空闲元素,在QACTIVE_POST()默认为0,即可以填满队列*/,
void const*constsender_/*活动对象值或者任意标识发送者的数值(比如在ISR中发布的时候,没有活动对象),本参数在不使用QS的时候是无效的,可填入任意值*/)

TableEvt *pe = Q_NEW(TableEvt, LED2OFF_SIG);

        QACTIVE_POST(AO_Blinky2, &pe->super, 0);

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
STM32 HAL QPC 是一种针对STM32系列微控制器的硬件抽象层(Hardware Abstraction Layer),它最初是由Quantum Leaps公司开发的。它的目的是提供一种方便使用的编程接口,使开发者能够更容易地配置和控制STM32微控制器的各种功能。 HAL是STM32全新的软件平台,整合了STM32CubMX和STM32CubeF4,为开发人员提供了一种基于HAL库的新的软件开发方式。它提供了一组高级API函数,用于配置和控制STM32的内部模块,如GPIO、USART、SPI、I2C等。这使得开发者可以更加方便地编写和维护代码。 而QPCQt Positioning Control)是一个由Quantum Leaps开发的嵌入式实时操作系统(RTOS)和事件驱动的框架。它为开发者提供了一种易于使用的方法,用于编写高效、可靠的嵌入式软件。QPC提供了一种事件驱动的编程模型,开发者可以通过定义事件和事件处理函数的方式来编写应用程序。在QPC中,每个事件都有一个优先级,这样可以确保高优先级事件在低优先级事件之前得到处理。 STM32 HAL QPC的结合使用使得开发者能够更轻松地开发出高性能、可靠的嵌入式应用程序。HAL提供了方便的编程接口,使得配置和控制STM32的各种外设变得更加容易。而QPC提供了一种高效的开发框架,通过事件驱动的方式,使得程序的执行更加可控和可靠。这种结合使用的方式,可以大大提高开发效率和软件质量,使得开发者能够更快地将产品推向市场。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值