STM32CubeMx
文章平均质量分 70
点灯大师~
生命不息,学习不止
展开
-
STM32基于HAL库的USART+DMA使用
使能USART以上配置好之后,点击生成工程编写中断回调函数当触发接收中断时,将接收到的数据通过DMA发送出去当触发发送中断时,使用DMA接收一下使能接收中断在main.c中编译、下载进去就能看到效果接收不定长度时,需要判断USART什么时候为空闲状态,当触发空闲中断时,证明此时已经接收全部数据,需要用到的函数有使能空闲中断在 MX_USART1_UART_Init() 函数中添加定义一个接收缓冲区编写USART1中断编写中断回调函数使能接收中断在main.c中若是不添加原创 2022-06-24 19:05:56 · 3695 阅读 · 6 评论 -
STM32基于HAL库的ESP8266实现
使用HAL库驱动ESP8266原创 2022-06-09 07:31:18 · 6375 阅读 · 3 评论 -
VSCode搭建STM32开发环境
废话不多说,直接步入正题所需软件如下:GNU Arm Embedded ToolchainmakeopenocdSTM32CubeMxVSCodeGNU Arm Embedded Toolchain进到ARM官网选择win32版本下载下载好之后,解压到C盘根目录下(建议),打开文件,找到 /bin 目录,添加下环境中,接着Win+R输入 powershell,然后输出 **arm-**按下Tab键后,若补全则代表环境配置成功安装Make在windows上安装make我们可以借.原创 2022-01-20 20:53:38 · 9200 阅读 · 21 评论 -
【基于GCC】STM32的printf函数重定向
引言在Linux上学习STM32有一段时间了,其中困扰我的就是在Linux系统上的串口调试助手和USART这节的重定向c库函数printf到串口了。(因为我用的是gcc)串口方面曾用过minicom,但感觉不是太方便,又因为运行minicom后,使用openocd下载程序失败,内心就开始厌烦minicom了,于是开始在各大论坛查询其他的串口调试助手,终于让我给找到了,继而内心也舒畅了。在一次偶然下重定义printf函数也找到了解决办法。一、安装 Comtool这款软件是Python开发的,需要下载原创 2021-08-11 16:37:13 · 3432 阅读 · 3 评论 -
STM32基于HAL库的DS18B20实现
开发板:野火挑战者_V2GPIO:PE2创建工程使能USART1用来通过串口打印温度值配置GPIO代码编写我们先打开 DS18B20 的手册1、DS18B20 复位与存在脉冲复位/* DS18B20 复位 将总线拉低 480us - 960us 启动复位,然后等待 15us 检测存在脉冲*/void Ds18b20_Reset(void){ //输出模式下 DQ_GPIO_OUT(); //拉低总线 750us DQ_Write(DQ_LEVEL_LOW).原创 2022-01-08 17:26:28 · 9048 阅读 · 7 评论 -
STM32LL库之printf函数重定向
1、加入以下代码:int fputc(int ch,FILE *f){ uint8_t temp[1]={ch}; LL_USART_TransmitData8(USART1,temp[0]); while(!LL_USART_IsActiveFlag_TXE(USART1));//需要等待发送完成 return(ch);}记得添加 stdio.h 头文件2、在MDK中勾选:Use MicroLIB...原创 2021-12-25 11:46:15 · 1884 阅读 · 0 评论 -
STM32LL库系列教程【七】——通用定时器PWM实验
开发板:野火霸道V1定时器:TIM3输出通道:CH3GPIO:PB0STM32LL库系列教程——LL库工程配置流程STM32LL库系列教程【一】——安装CubeMx软件STM32LL库系列教程【二】——点亮LED小灯STM32LL库系列教程【三】——USART中断实验STM32LL库系列教程【四】——ADC单通道采集STM32LL库系列教程【五】——DMA实现ADC单通道采集STM32LL库系列教程【六】——通用定时器定时实验STM32LL库系列教程【七】——通用定时器PWM实验.原创 2021-12-24 16:55:33 · 7489 阅读 · 0 评论 -
STM32LL库系列教程【六】——通用定时器定时实验
搭建工程1、配置工程属性2、确认时钟源3、配置系统时钟4、配置定时器这里选择的定时器为TIM3,定时时间为1ms把定时器设置自动重装载寄存器 ARR 的值为 1000,设置时钟预分频器为 71,则驱动计数器的时钟: CK_CNT = CK_INT / (71+1)=1M,则计数器计数一次的时间等于: 1/CK_CNT=1us,当计数器计数到 ARR 的值 1000 时,产生一次中断,则中断一次的时间为: 1/CK_CNT*ARR=1ms5、使能定时器中断6、 配置GPIO为了验证原创 2021-12-19 16:12:54 · 6656 阅读 · 0 评论 -
stm32 LL库驱动中景园七脚OLED屏
在我们做项目时,显示模块大多情况下是必不可少的,例如数码管、液晶1602、12864、OLED等等。在使用这些模块时基本上驱动是基于标准库的,下面将说一下OLED屏幕驱动如何移植到LL库硬件介绍OLED为中景园的7引脚屏幕新建工程打开CubeMx创建一个stm32工程,配置好工程属性配置GPIO配置OLED所用的GPIO,GPIO初始化状态为Hight注意:GPIO可以自己选择,但需要更改一下引脚标签GPIO标签:D0 --> SCLKD1 --> SDI.原创 2021-12-14 23:21:33 · 1986 阅读 · 0 评论 -
STM32LL库系列教程——LL库工程配置流程
配置工程流程选择CPU型号首先创建工程,点击 《ACCESS TO MCU SEL ECTOR》接着搜索型号型号、选择具体型号、完成确认时钟源进入工程后打开 RCC 选项,选择 Crystal/Ceramic Resonator,即使用外部晶振作为 HSE 的时钟源。配置系统时钟开发板的外部晶振为 8MHz,我们填入 8;通道选择 LSE; PLLM 选择为/1;倍频系数 N 选择为x9;系统时钟选择 PLLCLK;系统时钟设定为72Mz; APB1 分频系数选择为/2 即 PCLK原创 2021-12-11 11:58:10 · 7167 阅读 · 1 评论 -
STM32LL库系列教程【三】——USART中断实验
搭建工程1、配置工程属性2、确认时钟源3、配置系统时钟4、使能USART这里选择的是USART1、模式为异步、打开中断,相关参数配置选择默认5、生成代码点击 GENERATE CODE 会在设定的路径成功生成代码,选择打开工程代码编写CubeMx生成的代码有些寄存器没有使能,我们不能直接使用,需要我们自己使能相关寄存器1、使能接收中断打开usart.c源文件,我们在函数MX_USART1_UART_Init() 最后面添加USART接收中断使能2、编写中断函数在写中断函原创 2021-12-11 11:01:40 · 7186 阅读 · 2 评论 -
STM32LL库系列教程【五】——DMA实现ADC单通道采集
开发板:野火霸道V1芯片:stm32f103ZET6ADC:1CHANNEL:11GPIO:PC1STM32LL库系列教程【一】——安装CubeMx软件STM32LL库系列教程【二】——点亮LED小灯STM32LL库系列教程【三】——ADC单通道采集新建工程步骤1、打开STM32CubeMx软件2、选择芯片型号:stm32f103ZETx3、配置工程属性4、确认时钟源5、配置系统时钟6、打开ADC1的通道117、配置结构体typedef struct{ uin.原创 2021-12-07 18:22:33 · 7347 阅读 · 0 评论 -
STM32LL库系列教程【四】——ADC单通道采集
开发板:野火霸道V1芯片:stm32f103ZET6ADC:1CHANNEL:11GPIO:PC1新建工程步骤1、打开STM32CubeMx软件2、选择芯片型号:stm32f103ZETx3、配置工程属性4、确认时钟源5、配置系统时钟6、打开ADC1的通道117、配置结构体typedef struct{ uint32_t ADC_Mode; // ADC 工作模式选择 FunctionalState ADC_ScanConvMode; /* ADC 扫描(多通道).原创 2021-11-12 12:33:31 · 9159 阅读 · 0 评论 -
STM32LL库系列教程【二】——点亮LED小灯
开发板:秉火-霸道V1芯片:STM32F103ZET6GPIO: PB0选择CPU型号首先创建工程,点击 《ACCESS TO MCU SEL ECTOR》接着搜索型号型号、选择具体型号、完成确认时钟源进入工程后打开 RCC 选项,选择 Crystal/Ceramic Resonator,即使用外部晶振作为 HSE 的时钟源。配置系统时钟开发板的外部晶振为 8MHz,我们填入 8;通道选择 LSE; PLLM 选择为/1;倍频系数 N 选择为 x9;系统时钟选择 PLLCLK.原创 2021-11-07 15:14:33 · 2985 阅读 · 0 评论 -
STM32LL库系列教程【一】——安装CubeMx软件
步入图形化编程,一发不可收安装CubeMx之前需要安装Java下载地址:Java安装Java1、等待下载完成~2、双击安装包JavaSetup8u311.exe下面的安装过程不再演示安装STM32CubeMxCubeMx安装包我们可以从ST官网下载:点我选择对应于你的系统版本,等待下载完成~双击安装包SetupSTM32CubeMX-6.3.0-Win...原创 2021-11-07 13:03:49 · 1693 阅读 · 0 评论