news 2026/9/3 5:08:22

HS32F0033的Time10配置

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
HS32F0033的Time10配置

最近调试小控制器用到华芯的MCU,HS32F0033,奇怪的是在官网上查不到这颗料的信息。不过百度文心可以查的到:

HS32F0033是苏州华芯微电子推出的一款基于ARM Cortex-M0+内核的32位微控制器,最高运行主频可达24MHz,是面向工业控制、消费电子等场景的高性价比通用MCU。 核心硬件规格 ‌内核性能‌:搭载ARM Cortex-M0+内核,内置单周期32位硬件乘法器,集成24位系统定时器,支持低功耗睡眠模式。 ‌存储配置‌:内置32KB嵌入式Flash(带擦写保护功能)、4KB SRAM,同时自带16字节芯片唯一ID。 ‌供电特性‌:支持2.5V~5.5V超宽工作电压,适配多种供电场景。 ‌工作环境‌:工作温度范围覆盖-40℃~+85℃,满足工业级应用要求。 外设资源配置 ‌定时器‌:包含1路16位高级控制定时器(支持4通道PWM输出、3路互补输出、死区生成与紧急停止)、1路16位通用定时器、1路16位可编程定时器阵列、2路基础定时器、1路低功耗定时器,同时集成独立看门狗和窗口看门狗。 ‌模拟外设‌:配备7通道12位1Msps SAR型ADC,集成电压比较器和可配置中断/复位的低电压检测器。 ‌通信接口‌:拥有2路标准UART、1路超低功耗UART、1路最高8Mbps的SPI、1路最高1Mbps的I2C,还支持One-Wire单总线接口。 ‌其他功能‌:集成带万年历和闹钟唤醒功能的RTC、硬件CRC-16模块、蜂鸣器频率发生器,20引脚封装下可引出16个通用IO。 封装与开发支持 ‌封装形式‌:提供TSSOP-20(6.5×4.4mm)和QFN-20(3×3mm)两种封装选项。 ‌开发支持‌:支持SWD串行调试,配套在系统编程(ISP)方案,提供全功能嵌入式调试解决方案。

Timer10和Timer11是基本定时器,与timer1和timer2配置不同,最大的坑是预分频。

timer2的配置

void BSP_Timer2_Init(void) { __HAL_RCC_TIM2_CLK_ENABLE(); /* Compute the prescaler value to have TIMx counter clock equal to 10000 Hz */ uwPrescalerValue = (uint32_t)(HAL_RCC_GetPCLKFreq() / TIM2_FREQ) - 1; sTim2Handle.Instance = TIM2; sTim2Handle.Init.Period = TIM2_PERIOD; sTim2Handle.Init.Prescaler = 0;//uwPrescalerValue; sTim2Handle.Init.ClockDivision = 0; sTim2Handle.Init.CounterMode = TIM_COUNTERMODE_UP; // TIM_COUNTERMODE_DOWN sTim2Handle.Init.RepetitionCounter = 0; sTim2Handle.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; if (HAL_TIM_Base_Init(&sTim2Handle) != HAL_OK) { /* Initialization Error */ Error_Handler(); } HAL_NVIC_EnableIRQ(TIM2_IRQn); /*##-2- Start the TIM Base generation in interrupt mode ####################*/ if (HAL_TIM_Base_Start_IT(&sTim2Handle) != HAL_OK) { /* Starting Error */ Error_Handler(); } }

预分频是1,如果prescaler=3,则预分频为4;

但是timer10不同:

#define TIM10_FREQ 1000000 //1000us #define TIM10_PERIOD (1000-1) static uint32_t uwPrescalerValue; BASETIM_HandleTypeDef sTim10Handle = {0}; void BSP_Timer10_Init(void) { __HAL_RCC_BASETIM_CLK_ENABLE(); uwPrescalerValue = (uint32_t)(HAL_RCC_GetPCLKFreq() / TIM10_FREQ) - 1; sTim10Handle.Instance = TIM10; sTim10Handle.Init.GateEnable = BASETIM_GATE_DISABLE; sTim10Handle.Init.GateLevel = BASETIM_GATELEVEL_LOW; sTim10Handle.Init.TogEnable = BASETIM_TOG_DISABLE; sTim10Handle.Init.CntTimSel = BASETIM_TIMER_SELECT;//BASETIM_COUNTER_SELECT; sTim10Handle.Init.AutoReload = BASETIM_AUTORELOAD_ENABLE;//BASETIM_AUTORELOAD_DISABLE; sTim10Handle.Init.MaxCntLevel = BASETIM_MAXCNTLEVEL_16BIT; sTim10Handle.Init.OneShot = BASETIM_REPEAT_MODE;//BASETIM_ONESHOT_MODE; sTim10Handle.Init.Prescaler = 7;//uwPrescalerValue; sTim10Handle.Init.Period = 0xffff-TIM10_PERIOD; if (HAL_BASETIM_Base_Init(&sTim10Handle) != HAL_OK) { /* Initialization Error */ Error_Handler(); } HAL_NVIC_SetPriority(TIM10_IRQn, 3); // 设置优先级,根据实际中断号修改 HAL_NVIC_EnableIRQ(TIM10_IRQn); /*##-2- Start the TIM Base generation in interrupt mode ####################*/ if (HAL_BASETIM_Base_Start_IT(&sTim10Handle) != HAL_OK) { /* Starting Error */ Error_Handler(); } }

prescaler=3,则预分频为8;

prescaler=7,则预分频为128。

要查看寄存器才知道。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/3 5:06:42

Three.js与React构建3D骰子动画:Web前端交互式图形开发实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/3 5:04:19

RTX 4090散热模组压TEC:高性能散热跨界方案实战解析

1. 这篇文章真正要解决的问题 当“RTX4090”和“半导体制冷片”这两个词同时出现,很多人的第一反应可能是:这又是什么“科技狠活”?是给显卡超频的终极散热方案,还是DIY玩家的又一次疯狂实验? 实际上,这个…

作者头像 李华
网站建设 2026/9/3 5:04:14

Go Map 详解:键值对实际上是如何存储的

作者: 本文是对victoriametrics Go Maps Explained: How Key-Value Pairs Are Actually Stored的整理与翻译 发布日期:2024 年 8 月 16 日 阅读时间:17 分钟 分类: Go VictoriaMetrics开源技术 如果你刚开始接触 Go&#xff…

作者头像 李华
网站建设 2026/9/3 5:03:40

GWO优化RBF扩散速率的MATLAB实现与工程落地

简介:本资源是一套面向机器学习初学者与科研人员的MATLAB实战代码,聚焦于灰狼优化算法(GWO)与径向基函数神经网络(RBF)的融合建模,解决多变量输入下的回归预测问题,尤其适用于时间序…

作者头像 李华
网站建设 2026/9/3 5:01:37

MATLAB实现CNN手写汉字识别:从原理到实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/3 5:00:38

MySQL 數據庫導入

1. 0000-00-00 00:00:00[ERR] 1292 - Incorrect datetime value: 0000-00-00 00:00:00 for column fee_date at row 12. 查詢sql語句模式mysql> SELECT sql_mode;1. ONLY_FULL_GROUP_BY,2. STRICT_TRANS_TABLES,3. NO_ZERO_IN_DATE,4. NO_ZERO_DATE,5. ERROR_FOR_DIVISION_B…

作者头像 李华