要实现 STM32F103 微控制器某个引脚的复用功能重映射,具体分哪几步操作?...答: P225 (1) 用户根据实际需要可以把某些外设的复用功能从默认引脚转移到备用引脚上,这就是外设复用功能的 I/O 引脚重映射。...P226 (2) ①使能被重新映射到的 I/O 引脚的时钟 ②使能 APB2 总线上的 AFIO 时钟 ③按复用功能的方式配置 I/O 引脚 ④使能被重新映射的外设时钟 ⑤对外设进行 I/O...答: (1)外设复用功能重映射 (2)外部中断映射 (3)事件输出 5、 概述 STM32F103 微控制器 GPIO 的主要特性。...答:延时、定时、计数、输入捕获、输出比较、PWM 输出等高级功能。 2、 STM32F103 微控制器定时器的类型有哪几种?STM32F103 微控制器不同类型的定时器有什么区别?
VBAT:备用电源引脚,为实时时钟(RTC)和后备寄存器提供电源。当主电源断开时,仍然可以保持低功耗模式下的 RTC 运行。...STM32F103 通过这些引脚可以进行调试和在线编程。 3....高级定时器具有专用的死区时间控制和刹车功能,适用于电机控制和电源转换应用。...TIM3_CH1, TIM3_CH2 (Pin 6, 7):通用定时器 TIM3 的通道输出引脚,也支持 PWM 等功能。 7....特殊外设引脚 USB D+, USB D- (Pin 23, 24):用于 USB 设备通信的差分数据引脚,STM32F103 具备 USB 2.0 全速设备功能。
STM32F103驱动WS281x灯珠的三种方式详解(普通IOSPI+DMAPWM+DMA)WS281x(常见型号WS2812B/SK6812)是一种集成了LED与驱动芯片的智能RGB灯珠,通过单总线协议完成颜色控制...本文总结在STM32F103平台驱动WS281x的三种常用方式:普通IO模拟时序SPI+DMA模拟控制波形PWM+DMA调占空比输出并结合项目实践,给出Example示例工程,用于串口/CAN控制LED...每一位WS281x数据需要映射为8bitSPI数据:WS281x位值SPI输出(示例)HEX0111000000xE01111110000xF8SPI时钟设置为SPI分频后≈2.4MHz(可根据波形微调...优点CPU不参与传输输出波形稳定,不受中断影响适合大量灯珠缺点不同MCU/Freq下需要重新计算SPI时钟与编码数据量比原始像素数据膨胀8倍使用流程展开代码语言:TXTAI代码解释RGB数据→按位编码成...本篇文章分别介绍了在STM32F103平台上驱动WS281x灯珠的三种常见方式:普通IO模拟时序、SPI+DMA编码输出以及PWM+DMA调占空比方式。
STM32F103,官方最大时钟为72 MHz,但可通过调整PLL超频至128 MHz或更高。 超频需要硬件和软件的支持。...然而,软件中依赖时钟的模块(如定时器或串口)需要重新配置以适应新频率。 对于支持PLL的单片机(如STM32),通过增加PLL倍频系数可以显著提高系统时钟。...例如,STM32F103使用8 MHz HSE,通过将PLL倍频从9调整到16,可将系统时钟从72 MHz提升至128 MHz。...外设故障:某些外设(如ADC或UART)在超频时可能无法正常工作,或需要重新配置。 硬件损坏:长期超频可能缩短芯片寿命或导致永久性损坏。...外设验证:测试UART、定时器、ADC等外设的功能,确保无错误。 温度监控:使用温度传感器或触摸芯片,确认温度在安全范围内。 看门狗定时器:启用看门狗定时器,检测系统是否因超频而挂起。
以前讲过,中断是可以将 STM32F103 从睡眠模式中唤醒,周期性的滴答定时器中断就会导致 STM32F103 周期性的进入和退出睡眠模式。...STM32F103 没有这种定时器那么就接着使用滴答定时器来完成这个功能,具体实现方法后面会讲解。 问题二:如何保证下一个要运行的任务能被准确的唤醒?...这个问题看来很棘手,既然应用层任务无法将处理器从低功耗模式唤醒,那么我们就借助其他的力量来完成这个功能。...当然了你也可以自己去重新编写,不使用 FreeRTOS 提供的 ,如果自己编写的话需要先将configUSE_TICKLESS_IDLE 设置为 2。...如果要修改这个值的话可以在文件 FreeRTOSConfi.h 中对其重新定义。此宏会在空闲任务函数 prvIdleTask()中使用!
STM32G0系列支持更广泛的封装和内存组合,同时具备STM32系列的基本功能,特别适合成本敏感型应用。...它提供了所有必要特性,从而成为开发经济型应用(一般利用16位微控制器实现)的理想之选,配有多达11个16位定时器,包括一个电机控制定时器和一个快速1.2 μs转换时间12位ADC,用于高效电器和工业控制应用...2.5 STM32F103 STM32F103微控制器采用Cortex-M3内核,CPU最高速度达72 MHz。...它们面向需要连接功能和实时性能的应用,例如工业控制、安全应用控制面板、UPS和家用音响。 该系列具有64~256KB片上Flash存储器、64KB SRAM和14个通信接口。...三 STM32F103系列 STM32F103微控制器采用Cortex-M3内核,CPU最高速度达72 MHz。
此系列具有 2 路 USB2.0接口、多通道 TouchKey、 12 位 DAC 转换模块,多通道 12 位 ADC、 多组定时器、 CAN 通讯控制器、 I2C/USART/SPI 等丰富的外设资源...在完全使用兼容功能的情况下,CH32F103系列MCU的额定电压支持3.3V和5V也好于STM32F103系列微控制器,后者仅支持3.3V。...由于CH32F103其外设和硬件兼容了STM32F103,所以在不使用增强功能的情况下,完全可以直接使用原来的STM32F103代码,虽然CH32F103有自己的库,但用STM32F103代码在CH32F103...微控制器上运行STM32F103原来的功能完全不在话下,为实现CH32F103微控制器36M的SPI,也仅仅是将原来STM32F103代码中的18M的SPI 分频由4分频改为2分频,跑起来也非常稳定。...因此只要不涉及到增强功能,用CH32F103替换STM32F103在代码上完全可以实现零改动。
官方例程 定时器输入 - Timer3 CH1PA6 官方例程 延时功能 Timer4...官方例程 系统时间 Timer2 官方例程 电机控制备用 PA1, PA2, PA3, PA4补充 硬件连接说明电机驱动模块...超声波模块:通过GPIO输出Trig信号,输入Echo信号到定时器捕获,实现精确测距。编码器:利用定时器输入捕获计数,实现轮速与里程测量。LED与按键:用于状态指示和手动控制。...三、STM32开发环境搭建本项目采用STM32F103系列开发板,开发工具为 STM32CubeIDE。...开发步骤如下:创建STM32工程,选择对应芯片型号配置时钟、GPIO、定时器、USART、ADC等外设生成初始化代码编写功能模块程序外设初始化示例(C语言)// GPIO初始化void MX_GPIO_Init
判断中断状态、清中断 3.4.2 GIC 3.4.3 CPU 3.1 中断路径上的3个部件 中断源 中断源多种多样,比如GPIO、定时器、UART、DMA等等。...3.2 STM32F103的GPIO中断 参考资料:STM32F103数据手册.pdf、ARM Cortex-M3与Cortex-M4权威指南.pdf、PM0056.pdf 对于GPIO中断,STM32F103...它们的中断控制器不一样,STM32MP157中使用的是GIC: 3.3.1 GPIO控制器 对于STM32MP157,除了把GPIO引脚配置为输入功能外,GPIO控制器里没有中断相关的寄存器。...GIC提供了内存映射寄存器,可用于管理中断源和行为,以及(在多核系统中)用于将中断路由到各个CPU核。...GIC提供了内存映射寄存器,可用于管理中断源和行为,以及(在多核系统中)用于将中断路由到各个CPU核。
stm32f103中文手册 STM32F103x6 STM32F103x8 STM32F103xB 增强型,32位基于ARM核心的带闪存、USB、CAN的微控制器 7个定时器、2个ADC 、9个通信接口...功能 初步信息 ■核心 − ARM 32位的Cortex™-M3CPU − 72MHz ,高达90DMips,1.25DMips/MHz − 单周期硬件乘法和除法——加快计算 ■ 存储器 − 从32K...字节至128K字节闪存程序存储器 − 从6K字节至20K字节SRAM − 多重自举功能 ■ 时钟、复位和供电管理 − 2.0至3.6伏供电和I/O管脚 − 上电/断电复位(POR/PDR)、可编程电压监...■ 多达7个定时器 测器(PVD)、掉电监测器 − 内嵌4至16MHz高速晶体振荡器 − 多达3个同步的16位定时器,每个定时器有 多达4个用于输入捕获/输出比较/PWM或脉 − 内嵌经出厂调校的8MHz...能的 ■ 2个12位模数转换器,1us转换时间(16通道) ■ 多达9个通信接口 − 转换范围是0至3.6V − 多达2个I2C接口(SMBus/PMBus) − 双采样和保持功能 − 多达3个USART
这是截取了CUBEMX的一个stm32f103的一个使用内部时钟的时钟分配图。 可以看到,主频最大只能达到64MHz,各部分总线的频率也有所更改。...其余的SPI,定时器更是需要重新更改分频设置。 注意这两方面就可以在精度要求不高的或者对干扰频率有要求的场合使用内部振荡电路,毕竟内部振荡电路的辐射远小于晶振。
超值型STM32F100 - 24 MHz CPU,具有电机控制和CEC功能 STM32F101 - 36 MHz CPU,具有高达1MB的Flash STM32F102 – 48 MHz CPU具备USB...FS STM32F103 - 72 MHz,具有高达1MB的Flash、电机控制、USB和CAN STM32F105/107 - 72 MHz CPU,具有以太网MAC、CAN和USB 2.0 OTG...STM32F100超值系列具有高处理性能和11个16位定时器,包括电机控制定时器以及1个面向高效工业控制应用、转换时间为1.2μs的高速12位ADC。
大部分MCU供电只有VDD,但是有些MCU除了正常供电的VDD引脚,还有另外一路独立的供电引脚VBAT,比如STM32F103 64pin 的Pin1就是VBAT 再比如NXP的K21芯片也有VBAT引脚...对于在正式使用前还没有正常供电的设备,VBAT可以实现出厂时就设置好RTC时间,在用户真正使用时不需要再重新设定时间。 说到这里,你可能会有疑问:是不是只要用到了RTC就需要VBAT功能?...还有一些产品即使主电没了,RTC时间没了也没有关系,大不了下次上电时重新配置和同步下时间(可以通过联网的方式或者手动设置),具体要看使用场景。...这也是有解决方法的,就是在MCU的外围搭建一个电源切换电路实现VBAT的功能,当主电断开时,切换到备用电池给MCU供电,MCU工作在低功耗状态、RTC继续工作,不过这种方法不如用带自带VBAT管脚的MCU...这块区域通常还会有自毁功能,配合Tamper功能可实现防拆自毁功能,保障该区域数据的安全性。
中断向量表在整个程序的最前面,比如 STM32F103 的中断向量表如下所示: 中断向量表都是链接到代码的最前面,比如一般 ARM 处理器都是从地址 0X00000000 开始执行指令的,那么中断向量表就是从...其主要功能包括: 中断优先级管理:NVIC允许为每个中断分配不同的优先级。这样,当多个中断同时发生时,处理器可以根据优先级来确定处理的顺序,确保更重要的任务得到优先处理。...系统复位管理:NVIC还负责处理来自系统的复位请求,确保系统能够在出现问题时安全地重新启动。...通过查看STM32 NVIC寄存器,可以更清晰的解NVIC的主要功能: /** 中断 NVIC 结构体定义 */ typedef struct { __IO uint32_t ISER[8]...当一个中断被使能后,如果相应的事件发生(如外部信号、定时器溢出等),中断控制器会捕捉到这个事件,并通知处理器中断程序需要被执行。 中断使能通常通过设置特定的控制寄存器来完成。
所以出于对单片机运行状态进行实时监测的考虑,便产生了一种专门用于监测单片机程序运行状态的模块或者芯片,俗称:看门狗 看门狗的意义 在启动正常运行的时候,系统不能复位 在系统跑飞(程序异常执行)的情况,系统复位,程序重新执行...独立看门狗(IWDG)由专用的低速时钟(LSI)驱动,即使主时钟发生故障它仍有效 独立看门狗适合应用于需要看门狗作为一个在主程序之外能够完全独立工作,并且对时间精度要求低的场合 独立看门狗功能描述 在键值寄存器...在STM32系统中,定时器的时钟源为内部时钟时,其频率一般都比较高,以STM32F103的TIM1为例,其总线时钟最大为72MHz,体现在16位的定时器上的效果就是从0计数到65535上溢只需要0.9毫秒...预分频器值寄存器TIMx_PSC存在影子寄存器(官方翻译为缓冲功能),所以在定时器启动后更改TIMx_PSC的值并不会立即影响当前定时器的时钟频率。要等到下一个更新事件(UEV)发生时才会生效。...键寄存器(IWDG_KR) 重装载寄存器(IWDG_RLR) 重载寄存器:当计数器计数到终值 (0x000) 时会产生一个复位信号,计数器寄存器将装载重新计数。
CAN通信管脚重映射 1. 摘要 本篇笔记主要介绍,如何在STM32F103上进行CAN通信的管脚重映射配置和使用 2....解决问题 1), 直接使用CubeMX重新配置生成初始化部分,覆盖原有工程初始化 ? 2), 手动修改原有工程的初始化部分管脚映射,并添加重映射寄存器配置。两种方法均可。...不添加重映射寄存器,原有工程在新工程是无法运行的,通信同步上,我们将原有工程添加重映射配置,并修改PA11和PA12为PD0和PD1 ? 其实可以通过下面的图片清楚的知道重映射 ?...如果是重映射到PD0和PD1使用 __HAL_AFIO_REMAP_CAN1_3() 如果是重映射到PB8和PB9则使用 __HAL_AFIO_REMAP_CAN1_2(),注释已经很详细说明了,这里就不在赘述...重映射修改完成后,对工程进行测试,250k位速率,10ms发送一帧扩展帧, ? 可以看到通信驱动正常,在此基础上可以添加其他高层协议功能。 5.
假设他可以,那就要切换任务 大家可以看到:关闭调度器是如此的简单 就是设置某个标记变量 关闭调度器之后,怎么重新开启调度器?...答: 启动调度器,只是说可以重新调度了,并不是说去把本来就暂停的任务强制唤醒 2....显然:191是FreeRTOS理论上的优先级 5是HAL库能支持的优先级 STM32F103内部,对于每个中断,都有8位的优先级寄存器 但是,并没有实现所有的8位 比如:STM32F103只实现了多少位...191表示十进制,对应的二进制是10111111,高四位是1011 但是STM32F103只实现了高4位,高4位是1011,就是十进制11 7....先告诉大家答案:事件组函数xEventGroupSetBitsFromISR,并不会直接设置事件组 而是:唤醒定时器任务,由定时器任务来设置事件组 也就是说:事件组的修改,只能由任务进行 换句话说freertos
-> output文件夹 bin文件生成位置: 工程文件夹 -> Progect文件夹 -> Progect文件夹 测试芯片:STM32F103C8T6 STM32F103RET6 预计支持:STM32F103...全系列 一,实现功能概要 STM32通过串口接收程序文件,写入固定Flash地址,写完之后,运行写入的程序....2.2 判断串口接收完一条完整的数据,采用定时器模拟空闲中断 ? ?
疫情数据看板,这个小项目是我在两年前做的了,当时疫情刚爆发,春节过完之后,也不能回去上班,就在家用刚学习的Qt知识做了个小应用: 基于桌面Qt的肺炎疫情监控平台 基于桌面Qt的肺炎疫情监控平台1.1版本 功能很简单...STM32MP1做了个疫情监控平台1—交叉编译环境搭建 我用STM32MP1做了个疫情监控平台2—Qt环境搭建 我用STM32MP1做了个疫情监控平台3—疫情监控平台实现 我用STM32MP1做了个疫情监控平台4—功能完善界面重新设计...再后来又基于STM32F103 MCU上实现: 裸机版本: 教你用STM32F103获取新冠疫情数据(裸机版) RT-Thread版本: 教你用STM32F103获取疫情数据(RT-Thread版)
这么多的定时器,让我来给大家写一写 STM32定时器的输入捕获功能可以用来测量外部信号的时间间隔、频率和脉宽等信息,常用于测量脉冲信号、编码器信号、PWM信号等。...STM32定时器的输出比较功能可以用来生成PWM波形、产生触发信号、实现周期性的定时器中断等。其实现步骤如下: 配置定时器为输出比较模式,并选择输出比较通道。...STM32定时器的刹车输入通常与定时器的输入捕获或输出比较功能结合使用。...例如,在一个三相电机驱动器中,定时器的输入捕获功能用于捕获电机转速,输出比较功能用于产生PWM波形驱动电机,而刹车输入则用于实现急停功能。...自动重载寄存器(Auto-reload Register):自动重载寄存器(ARR)存储定时器计数器的最大值。当计数器的计数值达到自动重载寄存器的值时,计数器会重新从零开始计数。