STM32
文章平均质量分 88
记录我的单片机学习之路
Q大帅
汽车电子
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【STM32】GuiLite基于HAL库的移植
本文介绍了在STM32单片机上移植GuiLite轻量级GUI框架的全过程。通过STM32CubeMX配置硬件IIC接口驱动0.96寸OLED屏,在Keil MDK开发环境中完成工程搭建。重点阐述了GuiLite框架的移植方法,包括画点函数接口的实现、C/C++混合编程的注意事项、OLED刷新机制等关键技术点。该方案成功在STM32F103RCT6核心板(72MHz主频)上运行,实现了HelloCircle示例程序的显示效果。文中提供了完整的工程文档链接,为嵌入式开发者实现轻量级GUI提供了实用参考。原创 2022-06-03 23:56:47 · 2611 阅读 · 2 评论 -
【STM32】HAL库在4针脚0.96寸OLED屏上的移植---硬件IIC(一)
摘要:本文介绍了基于STM32F103C8T6核心板通过IIC总线驱动0.96寸OLED屏的实现方法。内容包括IIC总线原理(软件IIC与硬件IIC对比)、硬件接线(SCL/PB6、SDA/PB7)、STM32CubeMX配置(时钟设置72MHz、IIC模块初始化)以及Keil MDK-ARM工程移植(添加OLED驱动文件)。最终实现OLED显示功能,并提供了完整工程开源链接。该方案采用硬件IIC通信,具有效率高、接线简单(仅需4线连接)的特点,适合嵌入式显示应用开发。原创 2022-06-01 20:55:08 · 10342 阅读 · 10 评论 -
【STM32】——迷你示波器
前言目前网上已经有挺多开源STM32示波器的项目,整合了一下网上的资源,自制了一款成本极低的基于STM32F103C8T6(某宝二十几RMB)示波器,成本控制在40RMB以内,当然,用正版C8T6效果更好,盗版的效果会差一些,不过本项目更多是DIY学习的成分多一些,与正规示波器有较大差距,请当成一款娱乐电子器件器件:器材数量参数电位器15KOLED屏10.96寸7针脚贴片按键4STM32F103C8T6核心板10603电容40.1uf原创 2022-04-15 22:13:37 · 2588 阅读 · 3 评论 -
【STM32】HAL库在7针脚0.96寸OLED屏上的移植---软件SPI(二)
前期准备:STM32CubeMXSTM32C8T6核心板IDE Keil(MDK-ARM)杜邦线×70.96寸OLED屏(7针脚)SPI背景和接线1.什么是SPISPI英文缩写“Serial Peripheral Interface”,是一种串行外设接口,是一种四线制的同步串行通信接口,用来连接MCU、传感器、存储设备SPI是全双工且SPI没有定义速度限制,通常能达到甚至超过10 Mbps,这也是为什么SPI被广泛使用的原因而SPI分为软件SPI和硬件SPI,因为SPI是一种需要时序原创 2022-03-20 17:55:49 · 11038 阅读 · 11 评论 -
【STM32】HAL库在7针脚0.96寸OLED屏上的移植---硬件SPI(一)
摘要:本文介绍了基于STM32F103C8T6核心板通过SPI接口驱动0.96寸OLED屏幕的完整实现过程。内容包括:SPI通信原理(四线制全双工同步串行接口)、硬件接线图示(SCK/SDA/RST/DC/CS等7线连接)、STM32CubeMX配置(时钟72MHz、SPI1主机模式、4分频)、Keil工程移植OLED驱动文件的方法,以及最终实现的显示效果展示。项目提供了完整的工程文档,适合STM32初学者学习SPI外设驱动开发。原创 2022-03-19 15:59:44 · 12190 阅读 · 17 评论 -
【STM32】HAL库——串口DMA通信(三)
摘要: 本文详细介绍了STM32中DMA(直接存储器访问)的原理与应用。首先阐述了DMA的基本概念、工作模式(正常/循环传输)及优先级管理机制,分析了其在高速数据传输中的优势。接着通过STM32CubeMX配置流程,展示了如何为USART1设置DMA传输通道,包括时钟配置、DMA参数设定等关键步骤。最后提供了基于Keil MDK的DMA串口发送实现代码,并介绍了利用串口空闲中断实现接收数据长度判断的方法。文章完整呈现了从理论到实践的DMA应用过程,为STM32开发中的高效数据传输提供了实用参考。原创 2021-08-21 20:37:17 · 21144 阅读 · 15 评论 -
【STM32】HAL库——按键原理及消抖
前期准备:STM32CubeMXSTM32RCT6核心板IDE Keil(MDK-ARM)什么是按键消抖?按键消抖通常的按键所用开关为机械弹性开关,当机械触点断开、闭合时,由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开。因而在闭合及断开的瞬间均伴随有一连串的抖动,为了不产生这种现象而作的措施就是按键消抖按键工作原理这是最基本的按键电路,以KEY1为例:3.3V流经10k电阻(限流电阻),经过按键再流入地,但是按键常态是松开的,也就是说这条路常态原创 2021-08-19 17:16:21 · 10925 阅读 · 2 评论 -
【STM32】HAL库 ——DAC
前期准备:STM32CubeMXSTM32RCT6核心板IDE Keil(MDK-ARM)STM32CubeMX部分1. 配置时钟选择STM32F103RCTx系列芯片,配置时钟的同时会自动配置IO口引脚将HCLK设置为最大频率72MHz2. 配置DAC什么是DAC?数模转换器,它是把数字量转变成模拟的器件。D/A转换器基本上由4个部分组成,即权电阻网络、运算放大器、基准电源和模拟开关。模数转换器中一般都要用到数模转换器简单来讲,就是将键盘敲上去的一堆数字,变成看不见摸不原创 2021-07-26 16:40:43 · 12019 阅读 · 3 评论 -
【STM32】HAL库——ADC
前期准备:STM32CubeMXSTM32RCT6核心板IDE Keil(MDK-ARM)STM32CubeMX部分1. 配置时钟选择STM32F103RCTx系列芯片,配置时钟的同时会自动配置IO口引脚将HCLK设置为最大频率72MHz2. 配置ADC什么是ADC?ADC即模拟数字转换器(Analog-to-digital converter)是用于将模拟形式的连续信号转换为数字形式的离散信号的一类设备。一个模拟数字转换器可以提供信号用于测量。与之相对的设备成为数字模拟转换原创 2021-07-25 23:02:55 · 17695 阅读 · 5 评论 -
【STM32】芯片自锁、No Cortex-M SW Device Found/HardFault_Handler无法下载等问题的解决办法
当STM32无法下载代码后,错误一般是JLink info:DLL: V4.86b, compiled Jun 27 2014 20:11:00Firmware: J-Link V9 compiled Dec 13 2019 11:14:50Hardware: V9.40S/N : 59406895Feature(s) : RDI, GDB, FlashDL, FlashBP, JFlashJLink Info: STM32Fxxxx: Cannot attach to CPU. Tryi原创 2021-07-24 20:39:35 · 11153 阅读 · 2 评论 -
【STM32】HAL库——定时器PWM输出
本文介绍了使用STM32CubeMX和Keil MDK-ARM开发环境配置STM32F103RCT6的PWM输出功能。主要内容包括:1) 在STM32CubeMX中配置时钟至72MHz;2) 详细讲解PWM工作原理,包括定时器选择、计数模式、输出模式和工作频率计算;3) 具体演示如何配置TIM1_CH1通道的PWM参数;4) 在Keil中实现PWM占空比动态调节的代码实现。文章提供了完整的配置流程和关键代码片段,适合初学者快速掌握STM32的PWM功能开发。原创 2021-07-24 19:08:00 · 39383 阅读 · 12 评论 -
【STM32】HAL库——串口中断通信(二)
摘要: 本文介绍了基于STM32F103RCT6开发板的串口中断配置与实现方法。首先通过STM32CubeMX配置时钟(72MHz)、USART1串口(115200波特率)及GPIO引脚,并生成工程代码。随后在Keil MDK中重定义Printf函数实现串口打印,并详细讲解串口中断接收函数HAL_UART_Receive_IT和回调函数HAL_UART_RxCpltCallback的使用。通过中断接收数据控制GPIO电平翻转,最终结合串口助手验证功能。文章涵盖硬件配置、代码重定向及中断处理流程,为STM32原创 2021-07-23 13:46:48 · 37757 阅读 · 30 评论 -
【STM32】HAL库——定时器溢出中断
本文介绍了使用STM32F103RCT6单片机实现定时器中断控制LED闪烁的详细步骤。首先通过STM32CubeMX配置时钟(72MHz)、定时器TIM1(1ms中断周期)和GPIO(PB0输出模式),然后使用Keil MDK编写中断处理代码,在回调函数中实现0.5秒LED状态切换。文章包含完整的配置流程、计算公式、工程建立方法和源码实现,并提供了视频演示和工程文档下载链接。该方案可替代Proteus仿真,实现更可靠的硬件测试效果。原创 2021-07-22 23:09:12 · 34885 阅读 · 9 评论 -
【STM32】HAL库——串口通信(一)
前期准备:STM32CubeMXProteus 8IDE Keil(MDK-ARM)Configure Virtual Serial Port Driver(虚拟串口)虚拟串口部分虚拟串口下载链接点击Add pair在Virtual ports 下生成COM1和COM2即成功STM32CubeMX部分1. 配置时钟依旧是选择STM32F103C4系列芯片,配置时钟的同时会自动配置IO口引脚将HCLK设置为最大频率72MHz2. 配置USART我们选择USAR原创 2021-05-09 16:29:40 · 7925 阅读 · 1 评论 -
【STM32】HAL库——按键外部中断
前期准备:STM32CubeMXProteus 8IDE Keil(MDK-ARM)STM32CubeMX部分1. 配置时钟依旧是选择STM32F103C4系列芯片,选择高速外部时钟,配置晶振。将HCLK设置为最大频率72MHz2. 选择IO口PA1、PA2选择GPIO_Output模式,用作点灯PA3、PA4选择GPIO_EXTI模式,用作外部中断3. 引脚模式设置GPIO:level:高电平mode:推挽输出是否上下拉:不上下拉引脚速度:中关于Outp原创 2021-04-30 17:50:59 · 18306 阅读 · 9 评论 -
【STM32】HAL库——点亮LED灯
前期准备:STM32CubeMXProteus 8IDE Keil(MDK-ARM)STM32CubeMX部分1. 新建工程直接搜索芯片型号,出现了就选中开始工程。也可以根据下方的资源来确定芯片型号2. 选择IO口资源选择模块选择MCU的各种资源和外设配置模块可以选择具体资源的功能。例如我们选择了GPIO,可以设置初始化高电平/低电平、最大输出速度、IO口上拉/下拉等等…芯片IO口选择模块Pinout view(引脚模式)芯片IO口的图形可视化功能,能一览芯片所原创 2021-04-26 20:06:21 · 9654 阅读 · 4 评论
分享