*阅读说明:以下仅摘录帖子内容展示,详细过程及相关源码、资料等请戳原链接查看。
项目需要近期接触芯圣HC89F0xx系列51核单片机 ,超高的 性价比、灵活性,深深地吸引了我。为后续项目更快落地,开始做基础功能的封装库工作。
不需要关系寄存器位功能,保障底层代码稳定可靠,工作重点在业务层。 分享内容:GPIO库 对外接口 源码
在代码编写过程中 时间要素是关键的 ,初期往往使用阻塞式Delay 延时函数,慢慢的 会借用定时器 ,状态机 方式 ,几年前在51核上做一个软定时器模块,一直在用,芯圣上也可以使用 ,为项目功能验证带来极大便利 。现在分享出来 。 1、分享内容: 软件定时器工作原理 , 首先需要为软定时器提供一个 基准心跳 一般是10mS, 这决定了定时器的计时最小单位 。心跳 可以是其他的 。软定时器 提供了一个定时器结构体 ,以及相关的操作接口 。 2、移植过程 3、定时器数据机构 、宏定义 4、源码分享
ADC 功能在项目中应用广泛 ,芯圣89f0xx系列提供一组ADC ,最多16路采集通道,满足大多数应用需求。实际项目通道需求数量不固定,面临移植困难。 库亮点:无需了解 ANx通道 ,只需要知道这个gpio 是否支持 ADC 即可 完成基础配置。 采集实时,ADC 完成采集后会执行回调函数。 多通道的自动链表队列,相同方式完成多通道分时配置。
精彩预告:(基于 ADC 库 做NTC (温度)传感器驱动) 亮点 :提供 NTC GPIO 就完成了配置 , 提供 温度 上下限报警 、传感器异常 多状态回调通知 。
|