分享本文,介绍STM32GPIO使用。设置GPIO引脚输出功能,将对应引脚拉高或拉低输出初步认识STM32最新HAL库使用用代码实现控制GPIO引脚输出产生周期出1s 占空比为50%PWM波 示例详解    做实验用到STM32F103C8T6最小系统板,如下图所示。使用STM32cube
转载 9月前
163阅读
硬件环境开发板:阿波罗开发板->429核心板 RGB屏:正点原子4.3 800*480显示屏1.根据硬件接口配置STM32引脚 首先看整点原子开发板RGB屏接口,它是一个RGB565接口,以及DMA2D使用了外部SDRAM。然后根据引脚来配置CubeMX设置LTDC配置 注意:如果你直接设置RGB565会自动配置图形界面的IO口,其实他是和正点原子原理图IO不一致,所以还是要
使用 CubeMX 配置 RCC 时钟RCC时钟控制时钟树时钟配置CubeMx 配置系统时钟使用 RCC时钟控制STM32H7 有如下六种时钟可供使用:HSI (High-speed internal oscillator) :HSI 是内部高速 RC 振荡器,频率 64MHz,可被用于系统时钟。优势是低成本,无需外部时钟,快速启动(仅需几个微秒),缺点是精度差,即使经过校准。HSE (Hig
转载 2024-03-31 22:05:34
222阅读
在视频里面提到,他用STM32CubeMx 更清晰地进行STM32系统时钟配置以及时钟架构。STM32 开发流程 : 芯片选型 - 原理图设计 - PCBlayout - 编写程序芯片选型 什么是附带DSP和FPU?DSP:数字信号处理。注意:STM32单片机对数字信号处理,是通过内核DSP指令集来提供支持。FPU: 浮点运算单元。HAL库 新建工程模板方式: 1、手动移植,参考SPL标准库
昨天在使用CubeMx配置uart时候遇到了一些问题,在这里总结记录一下,以免后期再次出错。 芯片:STM32F103RCT6 工具:CubeMx、Keil5 使用UART1进行配置下面开始具体配置操作: 1.配置RCCRCC选择上一共有三个选项,分别如下图: 其中BYPASS Clock Source表示旁路时钟源,也就是外部时钟,只需要外部提供时钟接入OSC_IN引脚,OSC_OUT引
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阅读
系列文章目录STM32CubeIDE(CUBE-MX hal库)----初尝点亮小灯STM32CubeIDE(CUBE-MX hal库)----按键控制STM32CubeIDE(CUBE-MX hal库)----串口通信STM32CubeIDE(CUBE-MX hal库)----定时器 文章目录系列文章目录前言一、蓝牙配置二、CUBE-MX可视化配置三、蓝牙APP调试助手四、实验总结 前言HC-0
内有详细讲解,本文只摘取一部分RCC(Reset Clock Controller):复位与时钟控制器一、时钟有四种时钟: 1)高速外部时钟信号(HSE)—— HSE外部晶体/陶瓷谐振器 、HSE用户外部时钟 2)高速内部时钟信号(HSI)—— 由内部8MHzRC振荡器产生 3)低速外部时钟信号(LSE)—— 32.768kHz低速外部晶体或陶瓷谐振器 4)低速内部时钟信号(LSI)—— L
STM32硬件CRC使用说明本文对应STM32G0系列 STM32硬件CRC不占用MCU计算资源,和软件查表计算消耗存储空间。但其结果与平常使用CRC不一样,导致很多人还是在用软件计算CRC。 其实结果差别,只是由于计算方式导致,调整计算方式以后也可以输出普通计算结果。软件计算CRC16u16 LL_crc16_calculator(u8* data, u16 len) {
STM32 RCC理解学习最近看了一下STM32启动代码,在system_init函数中找到了RCC部分初始化流程, 有许多不解,查了一下资料,基本上搞清楚了RCC原理。 RCC主要是管理系统复位和时钟控制,系统复位这里不讨论,主要讲系统时钟。时钟STM32可以使用三种不同时钟源来驱动系统时钟 (SYSCLK): ● HSI 振荡器时钟 ● HSE 振荡器时钟 ● 主 PLL (PLL)
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阅读
看了stm32h750系列介绍,其模拟性能、运算性能和通信功能都很强,并且作为一款新MCU,迅速在市场上普及,价格也可以接受,所以很快入手了一块stm32h750VBT6开发板,进行实验。与之前一样,完全不使用st固件库,只借鉴启动文件:startup_stm32h750xx.s和系统定义:stm32h750xx.h,并将其中定义固件库相关信息删除。CPU没有跑满480MHz,而是是用一般
转载 2024-04-30 19:03:37
700阅读
        参考《STM32中文参考手册_V10》,把CubeMX中有关DMA配置搞清楚。一、配置参数1-DMA1:在外设和存储器之间进行数据传输配置。两个DMA控制器共包含12个通道(DMA1有7个,DMA2有5个)。2-MemToMem:DMA通道操作也可以在没有外设请求情况下进行,这种操作就是存储器到存储器模式。如果要使用DMA存储器到存
RCC :reset clock control 复位和时钟控制器;特别是要着
原创 2022-08-17 10:55:36
286阅读
首先原则上STM32通用定时器4个通道频率是一样,是由定时器设定频率决定,各个通道可以设置不同占空比和开启关闭,这些是相互独立;但是利用一些特殊方法可以修改定时器不同通道频率,方法比较讨巧:就是利用CCR1自动溢出中断更改频率,用CCR1值不断在增加,设置ARR为65535,而65535二进制是1111111111111111,超出会溢;如果TIMx_CNT=TIM_CCR1
转载 7月前
284阅读
一直对stm32硬件iic敬而远之,好像说是有问题,就一直用模拟iic实现,今天用sht30试了一下,发现基于cubemx配置iic还挺方便。现做如下记录首先是硬件平台:stm32f103vet6指南者先总结一下步骤cubemx配置->SHT30_Init(选择模式)->reset->利用Init返回值判断是否成功->读取->数据拼接涉及到自己写函数有
F1帮助 -F2改名 -F3搜索 -F4地址 -F5刷新 -F6切换 -F10菜单 -CTRL+A全选 -CTRL+C复制 -CTRL+X剪切 -CTRL+V粘贴 -CTRL+Z撤消 -CTRL+O打开 -SHIFT+DELETE永久删除 -DELETE删除 -ALT+ENTER属性 -ALT+F4关闭 -CTRL+F4关闭 -ALT+TAB切换 -ALT+ESC切换 -ALT+空格键窗口菜单 -
很多朋友问我这个问题,也抱怨GNU工具链不如集成开发环境好用。如IAR Workbench、Keil、RVDS等。并不理解,为什么RTEMS死磕GNU工具链。这里其实有很多原因,有一些是我猜测,有一些是既定事实。下面就聊聊这些原因:1. 首先,RTEMS 从上个世纪80年代末开始开发。那时候,还没有这么牛叉集成开发环境;GNU工具链应该是当时不二选择。2. RTEMS作为一个开源免费
一知半解学习环境:     1、CubeMX 4.23.0     2、uVision 5.14.2     3、 MCU 启明 STM32F407 开发板(高配版) V3.1     4、 中景园电子0.96寸OLED 一知半解学习目标:     1、掌握CubeMXRCC以及S
  • 1
  • 2
  • 3
  • 4
  • 5