STM32的寄存器多如牛毛,要一个一个的弄清楚谈何容易呀,所以我们在学习的时候要抓住重点,挑重要的进行学习和记忆,因为STM32一个一个去配置寄存器的话相当的麻烦,我们实际开发的话也不会一个一个去配置寄存器的,所以我们只需要记住常用的那几个外设的几个寄存器的“用法”和“作用”即可,不要去记它的具体操作。一、CRL和CRH寄存器 这两个都是32位的寄存器,因为STM32的话,它的GPIO口不像51单
最重要收获:了解到同一个寄存器按字节,半字和字访问的区别。同一个内存寄存器地址,强转为volitale uint8_t *类型,volitale uint16_t *类型和volitale uint32_t *类型时,若其支持按字节,半字和字访问时,这三个类型写入的结果对CPU来说是不一致的。感觉支持多类型访问的寄存器,写入低字节时,CPU记录低字节有数据更新,然后只进行低字节数据运算。低2字节有
转载 2024-10-20 16:33:13
134阅读
STM32F103定时器配置##一、什么是定时器 定时器,顾名思义,就是用于定时或计数,它其实就是一个加1计数器。 ##二、了解STM32F103定时器 STM32通用寄存器有TIM2、TIM3、TIM4、TIM5。 功能包括:(1)16位向上、向下、向上/向下自动装载计数器(TIMx_CNT)。 (2)16位可编程预分频器(TIMx_PSC),计数器的时钟频率的分频系数为1~65535之间的任意
转载 2024-10-09 10:32:02
274阅读
一、介绍               Systick中,Sys指系统,tick是滴答声,所以Systick就是一个系统滴答定时器。它被捆绑在 NVIC 中,用于产生 SysTick 异常(异常号:15)。SysTick的最大使命,就是定期地产生异常请求,作为系统的时基。操作系统都需要这种“滴答”来推动任务和时间的管理。
STM32WB55_NUCLEO开发.1----软件与硬件介绍所用器件视频教学优势支持协议软件准备STM32CubeProgrammer文档下载手册下载例程文件下载USBDongle烧录固件模式切换烧录最后 所用器件所使用的的器件位ST官方的P-NUCLEO-WB55。 STM32WB55 优势支持协议软件准备STM32CubeProgrammerSTM32CubeProgrammer(S
首先原则上STM32通用定时器的4个通道的频率是一样,是由定时器设定频率决定,各个通道可以设置不同的占空比和开启关闭,这些是相互独立的;但是利用一些特殊方法可以修改定时器不同通道的频率,方法比较讨巧:就是利用CCR1的自动溢出的中断更改频率,用CCR1的值不断的在增加,设置ARR为65535,而65535的二进制是1111111111111111,超出会溢;如果TIMx_CNT=TIM_CCR1
转载 6月前
284阅读
STM32 RCC理解学习最近看了一下STM32的启动代码,在system_init函数中找到了RCC部分初始化的流程, 有许多不解,查了一下资料,基本上搞清楚了RCC的原理。 RCC主要是管理系统复位和时钟控制的,系统复位这里不讨论,主要讲系统时钟。时钟STM32可以使用三种不同的时钟源来驱动系统时钟 (SYSCLK): ● HSI 振荡器时钟 ● HSE 振荡器时钟 ● 主 PLL (PLL)
STM32硬件CRC的使用说明本文对应STM32G0系列 STM32硬件的CRC不占用MCU的计算资源,和软件查表计算消耗的存储空间。但其结果与平常使用的CRC不一样,导致很多人还是在用软件计算CRC。 其实结果的差别,只是由于计算方式导致的,调整计算方式以后也可以输出普通计算的结果。软件计算CRC16u16 LL_crc16_calculator(u8* data, u16 len) {
1、简介STM32F302的内核为Cortex-M4。bxCAN是基本扩展CAN(Basic Extended CAN)的缩写,它支持CAN协议2.0A和2.0B。它的设计目标是,以最小的CPU负荷来高效处理大量收到的报文。它也支持报文发送的优先级要求(优先级特性可软件配置)。对于安全紧要的应用, bxCAN提供所有支持时间触发通信模式所需的硬件功能。2、准备2.1、软件1、HAL 库版本:STM
1、简介STM32F302的内核为Cortex-M4。bxCAN是基本扩展CAN(Basic Extended CAN)的缩写,它支持CAN协议2.0A和2.0B。它的设计目标是,以最小的CPU负荷来高效处理大量收到的报文。它也支持报文发送的优先级要求(优先级特性可软件配置)。对于安全紧要的应用, bxCAN提供所有支持时间触发通信模式所需的硬件功能。2、准备2.1、软件1、HAL 库版本:STM
在视频里面提到,他用STM32CubeMx 更清晰地进行STM32系统时钟配置以及时钟架构。STM32 开发流程 : 芯片选型 - 原理图设计 - PCBlayout - 编写程序芯片选型 什么是附带DSP和FPU?DSP:数字信号处理。注意:STM32单片机对数字信号处理,是通过内核的DSP指令集来提供支持的。FPU: 浮点运算单元。HAL库 新建工程模板方式: 1、手动移植,参考SPL标准库的
2. 外设—GPIO2.1 GPIO简介GPIO(General Purpose Input Output)通用输入输出口 可配置为8种输入输出模式 引脚电平:0V~3.3V,部分引脚可容忍5V(在STM32F103C8T6引脚定义中,带FT的,可以容忍5V) 输出模式下可控制端口输出高低电平,用以驱动LED、控制蜂鸣器、模拟通信协议输出时序等 输入模式下可读取端口的高低电平或电压,用于读取按键输
STM32驱动WS2812B-2020RGB彩灯(一)最近搞飞控,看到有些飞控上都使用的RGB彩灯,够酷炫,所以尝试着自己搞一个。 手上的硬件有一块自制的STM32F103最小系统板,一个同事焊好的WS2812B-2020灯板,正好。 首先需要搞清楚,RGB灯不是给电就能亮的,而是需要特定的高低电平时序,以下贴出具体参数: 首先,给我们看的是,RGB传输颜色信息,到底传的是什么?上图表示的是4个灯
昨天在使用CubeMx配置uart的时候遇到了一些问题,在这里总结记录一下,以免后期再次出错。 芯片:STM32F103RCT6 工具:CubeMx、Keil5 使用UART1进行配置下面开始具体配置操作: 1.配置RCCRCC的选择上一共有三个选项,分别如下图: 其中BYPASS Clock Source表示旁路时钟源,也就是外部时钟,只需要外部提供时钟接入OSC_IN引脚,OSC_OUT引
目录一 软件安装1.1下载clion1.1.1下载地址1.1.2安装教程2.安装arm-none-eabi-gcc3.安装openocd 4. 安装MinGW5.添加系统环境变量二、配置Clion2.1 点击创建新工程2.2 进入后进入settings2.3 配置 toolchains2.4 配置cmake2.5 配置Embedded Development三、实现工程3.1 
第八章 STM32CubeIDE工程模板分析在第四章的操作中,我们通过第一个工程实验熟悉了STM32CubeIDE的基本使用方法,在第六和第七章我们分析了STM32CubeIDE下载的STM32CubeMP1固件包以及固件包中的HAL库,对HAL库有了基本的认识。本章节,我们以第一个工程为模板,分析一下工程的结构,了解工程中有哪些文件,他们的关系是什么,有什么作用。通过对工程的分析,我们可以了解工
本文通过CubeMX配置F103RCT6的FreeRTOS和串口。 文章目录1 引入2 配置过程2.1 配置时钟过程2.2 配置FreeRTOS过程2.3 配置串口过程3 生成工程代码4 测试串口5 总结 1 引入拿到一个STM32控制器,在啥也没有的情况下从零开始写软件,博主习惯于先配置FreeRTOS操作系统和串口打印。本文就以博主在网上买的小车控制板为例,对其进行最基本的时钟及串口打印配置,
1、STM32CubeMX 简介         STM32CubeMX 是 ST 意法半导体近几年来大力推荐的STM32 芯片图形化配置工具,也是配置和初始化 C 代码生成器(STM32 configuration and initialization C code generation),也就是自动生成开发初期关于芯片相关的一些初始化代码。ST
STM32寄存器和库函数点灯一、寄存器操作1、新建工程,新建一个目录存放以后所有的工程stmproject,在这个目录下新建文件夹寄存器点灯,文件名为LED。2、新建文件main.c并双击source group文件夹添加进去3、添加启动文件,取官方固件库中根据FLASH大小选择型号,我选大容量hd4、编写main程序通过寄存器控制I/O口输入输出点灯使能时钟配置端口寄存器,再通过端口寄存器输出
2.delay函数也是非常常用的函数提到delay延时,我就想到了STM32里面专门用来延时的systick定时器,常用 ck定时器是一个24位倒计数定时器,当计到0时,将从RELOAD寄存器重新自动装载初值。只要不把Systick的控制使能位及状态寄存器中的使能位清除,就会永不停息的工作。这个定时器的优点如下: 1)不占用中断       2)也不占用系统
转载 10月前
272阅读
  • 1
  • 2
  • 3
  • 4
  • 5