
STM32CubeMX
sjxpf922
遇到问题,解决问题,记录问题,迎接问题
展开
-
STM32CubeMX系列(6)--SD与FatFs
用STM32CubeMX生成FatFs之前需要打开SDIO,否则无法使用FatFs下面配置FatFs然后直接生成工程即可。FatFs常用的API// 打开或者创建一个文件 FRESULT f_open ( FIL* fp, /* Pointer to the blank file object */ const TCHAR* path, /* Pointer to the file name */ BYTE mode /* Access mode and file open m原创 2022-02-19 16:24:03 · 1471 阅读 · 0 评论 -
STM32CubeMX系列(5)--定时器实现PWM+DMA控制LED
在STM32CubeMX系列(4)–定时器实现PWM控制LED的基础上,实现用DMA+PWM的方式实现普通LED灯的呼吸灯效果,只需要再开启一下DMA通道即可:选择后,会自动开启中断:在main.c中定义数组:#define LEN 20uint16_t pwm_buf[LEN] = {0};在main函数中对上面的数组赋值for(int i=0;i<LEN;i++){ pwm_buf[i]= 30*(i+1); /* 设置不同的占空比 */}在while中调用HAL原创 2022-01-27 23:04:26 · 6103 阅读 · 2 评论 -
STM32CubeMX系列(4)--定时器实现PWM控制LED
1.概念PWM:Pulse-width modulation,即脉宽调制。简单的来说就是控制一个信号周期内高/低电平持续的时间。脉宽:脉冲是指短时间内出现电压或电流的突然变化,脉宽就是脉冲宽度也就是脉冲持续时间,也就是高/低电平持续时间)。占空比:指的就是一个信号周期内,高电平所占时间的比例(严谨的说法应该是有效电平占比);脉冲:定时器通过计数器与输出比较值进行比较,实现高低电平的切换,下面借用正点原子的图片:以PWM模式2为例当CNT<CCRx的时候,IO输出低电平(逻辑0),反之输原创 2022-01-16 16:50:35 · 1072 阅读 · 0 评论 -
STM32CubeMX系列(3)--定时器中断
演示使用TIM2通用定时器,以中断的方式实现0.5s翻转一次LED。1、创建工程2、添加代码首先开启定时器中断,生成的代码不会自动生成,因此需要手动在void MX_TIM2_Init(void)中添加/* TIM2 init function */void MX_TIM2_Init(void){ /* 部分省略... */ if (HAL_TIMEx_MasterConfigSynchronization(&htim2, &sMasterC原创 2022-01-13 20:42:58 · 3097 阅读 · 0 评论 -
STM32CubeMX系列(2)--串口传输方式
1、阻塞式传输HAL_UART_Transmit();//发送HAL_UART_Receive();//接收2、中断传输HAL_UART_Transmit_IT();//中断发送HAL_UART_Receive_IT();//中断接收/*每发送*/3、DMA传输HAL_UART_Transmit_DMA();HAL_UART_Receive_DMA();/*结合空闲中断,实现不定长数据传输*/以DMA传输为例使用STM32CubeMX创建工程具体过程见:STM32Cu原创 2022-01-13 16:07:05 · 2023 阅读 · 0 评论 -
STM32CubeMX工程出现error: L6236E: No section matches selector - no section to be FIRST/LAST.
今天用STM32CubeMX创建一个简单的工程,就配置了一个LED,编译的时候发现如下错误:error: L6236E: No section matches selector - no section to be FIRST/LAST.很纳闷,这么简单的工程都能配错吗?看了一遍配置确定没问题,突然发现工程路径包含中文,应该就是这里的问题,于是改变路径重新生成,就没问题了。...原创 2022-01-11 15:49:26 · 876 阅读 · 0 评论 -
STM32CubeMX系列(1)--串口工程创建
1、创建工程①时钟配置先打开RCC开启HSE再进入时钟配置界面②配置SYS配置对应的Debug方式,因为我的是ST-Link所以选择如下③配置串口以USART1为例然后生成工程即可,记得工程路径不要有中文,否则会出现:工程编译错误2、串口重定向用printf实现串口打印方法1,操作寄存器printf.h#ifndef __PRINTF_H#define __PRINTF_H#include <stdio.h>#include "stm32f1xx原创 2022-01-11 16:57:59 · 635 阅读 · 0 评论