HC32L130E8PA实现定时器计数功能

在芯片资源紧缺的情况下,尝试了使用华大国产芯片,
对于该芯片来说,有些功能确实不完善,但还是能够满足基本需求的。

我在这使用的时HC32L130E8PA的芯片,采用定时器3实现计时器计数功能。

代码如下:

/*定时器3初始化 用于计数u16Period * (1/4M) * 1612500 * (1 / 4 M) * 16 = 50000us = 50ms
*/
void Time3Init(u16 u16Period)
{uint16_t u16Value;stc_tim3_mode0_cfg_t stcTim3BaseCfg;//结构体初始化清零DDL_ZERO_STRUCT(stcTim3BaseCfg);stcTim3BaseCfg.enWorkMode = Tim3WorkMode0;//定时器模式stcTim3BaseCfg.enCT = Tim3Timer;//定时器功能,计数时钟为内部PCLKstcTim3BaseCfg.enPRS = Tim3PCLKDiv64;//16分频stcTim3BaseCfg.enCntMode = Tim316bitArrMode;//自动重装载16位计数器stcTim3BaseCfg.bEnGate = FALSE;stcTim3BaseCfg.bEnTog = FALSE;stcTim3BaseCfg.enGateP = Tim3GatePositive;//TIM3 的模式0功能初始化Tim3_Mode0_Init(&stcTim3BaseCfg);u16Value = 0x10000 - u16Period;//设置重装载值Tim3_M0_ARRSet(u16Value);//设置计数值Tim3_M0_Cnt16Set(u16Value);Tim3_ClearIntFlag(Tim3UevIrq);//清楚中断标志Tim3_Mode0_EnableIrq();//使能TIM3中断EnableNvic(TIM3_IRQn,IrqLevel1,TRUE);
}

以上程序只是进行初始化 但没有启动,启动如下:

/*开始定时器计数
*/
void TimeCntStart(void)
{Tim3_M0_Run();
}

中断如下:

/*定时器中断
*/
void TIM3_IRQHandler(void)
{//计时溢出if(TRUE == Tim3_GetIntFlag(Tim3UevIrq)){RepCnt++;if(RepCnt >= 1200 * DevInfo.RepCycle){RepCnt = 0;}//清除中断标志位Tim3_ClearIntFlag(Tim3UevIrq);}
}

在实际操作中,按公式去计算重装载值 实现定时计数,貌似时间不准确,我是不断的更改重装载值,才找到计时的那个标准,这个不知道时硬件原因还是芯片原因,具体情况还是得在使用时,进行调试,定时要久一点,值就要设大,要小,值就设小。

华大HC芯片实现定时器计数相关推荐

  1. 基于51单片机定时器计数+2片74HC595联级+8位数码管时钟+按键修改时间

    基于51单片机定时器计数+2片74HC595联级+8位数码管时钟+按键修改时间 Proteus仿真 实例代码 #include "at89x52.h" /**74hc595引脚定义 ...

  2. 蓝桥杯STC基础代码-以定时器计数作为时间轴的模板

    蓝桥杯STC基础代码 以定时器计数作为时间轴的模板 简介 配置过程 定时器的配置 定时器中断的配置 主函数的配置 代码下载地址 下一章 以定时器计数作为时间轴的模板 简介 这是我写STC15代码时候首 ...

  3. C#上位机(定时器计数)

    1.对窗体进行编辑,并对每一个控件进行属性修改 1.控件可以直接拖进窗体中: 2.对每一个控件进行修改:主要修改Test(窗体显示的部分)和Name(内部函数名,一般建议大驼峰格式命名.) 3.特别是 ...

  4. STM32定时器计数频率以及PSC和CNT、CCR1的关系

    使用环境(蓝色粗体字为特别注意内容) 1.软件环境:Win7 32 bit,Keil MDK V5.15 2.硬件环境:ALIENTEK MiniSTM32开发板.STM32F103RCT6 在STM ...

  5. l130 华大低功耗mcu_HC32L130国产超低功耗华大MCU芯片介绍

    华大HC32L130 系列32 位 ARM® Cortex®-M0+ 微控制器 HC32L130 系列是一款旨在延长便携式测量系统的电池使用寿命的超低功耗.宽电压工作范围的 MCU.集成 12 位 1 ...

  6. HC32F005 国产低功耗华大MCU芯片介绍

    华大HC32F005 系列32 位 ARM® Cortex®-M0+ 微控制器 HC32F005 系列是一款Low Pin Count.宽电压工作范围的MCU.集成12位1M sps 高精度SARAD ...

  7. HC32L130国产超低功耗华大MCU芯片介绍

    华大HC32L130 系列32 位 ARM® Cortex®-M0+ 微控制器 HC32L130 系列是一款旨在延长便携式测量系统的电池使用寿命的超低功耗.宽电压工作范围的 MCU.集成 12 位 1 ...

  8. HC32L136国产超低功耗华大MCU芯片介绍

    华大HC32L136 系列32 位 ARM® Cortex®-M0+ 微控制器 HC32L136 系列是一款旨在延长便携式测量系统的电池使用寿命的超低功耗.宽电压工作范围的 MCU.集成 12 位 1 ...

  9. HC32L110国产超低功耗华大MCU芯片介绍

    华大HC32L110 系列32 位 ARM® Cortex®-M0+ 微控制器 HC32L110 系列是一款旨在延长便携式测量系统的电池使用寿命的超低功耗.Low Pin Count.宽电压工作范围的 ...

最新文章

  1. 【VirtualBox】VirtualBox使用现有的虚拟盘文件(如VHD)创建虚拟机时,报错:打开虚拟硬盘失败,“UUID already exist”的解决方法
  2. ISP PIPLINE (九_2) Denoise 之 time domain denoise
  3. JMF介绍之媒体框架二
  4. posix自定义消息队列_消息队列开源框架,基于Io,节约服务器资源
  5. Angular 2/Ionic 2 @input和@output理解
  6. Java 分割字符串的方法String.split()底层原理
  7. ios开发笔记之 APNS推送服务的实现
  8. 计算机声音处理说课稿,《声音的产生与传播》说课稿
  9. python学习-阶段训练(通讯录小练习)(增、删、改、查、还原)
  10. python设置默认密码_使用Python生成随机密码的示例分享
  11. Mybatis3 最简例子
  12. 这才是真相,“轻点,疼”被禁却另有玄机
  13. Python学习之——np.dot()与np.multiply()与*之间的区别
  14. 数学基础(1)线性代数总结
  15. StructedStreaming Kafka 排错(AbstractCoordinator: Marking the coordinator *dead for grou
  16. upload-labs 全21关 write-up
  17. 打开word很慢(无网络时正常)
  18. 计算机考试word功能,2018年计算机二级MS Office考试内容:Word的功能和使用
  19. 考验AI对代词的理解力,解读艾伦AI研究所公布的数据集“QUOREF”
  20. English trip EM2-PE 3B Teacher:Olivia

热门文章

  1. 看美剧学英语之场景记忆法
  2. 线性代数一(基本概念)
  3. 大学信息技术基础 期末复习
  4. 排列计算公式,公式含义
  5. Chrome+SwitchySharp+SSH 或者 Firefox+AutoProxy+SSH
  6. 2018 上半年总结
  7. uniapp小程序图片前端压缩上传
  8. 红外人体感应太阳能LED灯控制器-QX5298X
  9. 编写JavaScript程序实现:图像浏览器的功能
  10. 企业宣传产品推广PPT模板