XxxSwitchScan_Driver可以简单的看作为一个C语言的按键驱动,使用简单、灵活且解耦,以面向对象思想结合状态机编写,同时适用于裸机与操作系统。最终实现响应事件有:短按/短按抬起/长按/持续长按/长按抬起/连击/单边沿触发。 一开始仅为了实现按键驱动。后面把按键结合如高低电平的传感器、开关量的限位等进一步抽象为开关量的输入设备。由此我常会把项目中的开关量的输入设备通过该驱动统一管理。
XxxSwitchScan_Driver可以简单的看作为一个C语言的按键驱动,使用简单、灵活且解耦,以面向对象思想结合状态机编写,同时适用于裸机与操作系统。最终实现响应事件有:短按/短按抬起/长按/持续长按/长按抬起/连击/单边沿触发。 一开始仅为了实现按键驱动。后面把按键结合如高低电平的传感器、开关量的限位等进一步抽象为开关量的输入设备。由此我常会把项目中的开关量的输入设备通过该驱动统一管理。
XxxTimeSliceOffset时间片错位轮询,是时间片轮询的变种,是一种裸机程序架构。基于外部提供的tick(systick中断或定时器中断),根据注册生成多种时间片(支持0*tick)提供给任务当tick,让多个任务按指定频率依次执行。其核心思想是定时器的分时复用,新增偏移量使重合的时间片错位,提升任务tick准确率。适合中小型项目的裸机开发,结合状态机可以有效消除程序中不合理的delay
C语言实现的非传统的多功能环形缓冲区,满足先进先出(队列)、后进先出(栈)、数据窗口等多种场景需求。
最近一年贡献:31 次
最长连续贡献:5 日
最近连续贡献:1 日
贡献度的统计数据包括代码提交、创建任务 / Pull Request、合并 Pull Request,其中代码提交的次数需本地配置的 git 邮箱是 Gitee 帐号已确认绑定的才会被统计。