串口stm dma 32

STM32 串口采用DMA方式收发

一直都没有整理STM32 DMA应用,这篇文章算是抛砖引玉吧,欢迎拍砖。 本人QQ 330952038,欢迎交流学习 什么是DMA —- Directional Memory Access, 直接存储器存取用来提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。无须CPU干预,数据可以通过D ......
串口 方式 STM DMA 32

STM32 HAL库中串口空闲中断+DMA 实现串口数据的不定长接收

本文开发环境: MCU型号:STM32F051R8T6IDE环境: MDK 5.25代码生成工具:STM32CubeMx 5.2.0HAL库版本:v1.10.0(STM32Cube MCU Package for STM32F0 Series) 本文内容: 不定长数据接收的原理串口接收中断的配置串口 ......
串口 空闲 数据 STM HAL

STM32F103移植CH32F103C8T6内部FLASH速度慢问题解决办法

STM32F103移植CH32F103C8T6内部FLASH速度慢问题解决办法 博主做项目一直采用STM32F103C8T6,近期因为元器件涨价博主决定换单片机,于是瞄上了江苏沁恒的CH32F103C8T6,这款单片机几乎不需要修改一个代码便能移植项目(PACK导入编译直接下载那种),而且代码执行速 ......
F103 103 32F 速度 办法

串口通信时鼠标乱跳的解决方案

unity项目开发中,会遇到与硬件设备结合,一般采用串口通讯实现。最近遇到了一个问题是当发布的程序设置开机自启后,会出现鼠标不受控制,鼠标在屏幕中任意跳动的现象。怀疑是单片机串口与鼠标的串口识别的问题。通过查询相关资料。 问题原因是:有些鼠标也是串口的,现在的操作系统也依然支持,在开机启动时系统误将 ......
串口 鼠标 解决方案 方案

GD32F103系列使用ST的HAL库

GD32F103系列使用ST的HAL库 说明硬件层面软件层面 说明 由于STM32芯片的涨价,找来了存货GD32进行替代,发现板子无法进行正常复位烧录程序,复位后复位引脚偶尔处于0.9V左右,就,很玄学 作者:Jack_GL 时间:2021年9月8日 版本:V1.0 上次修改时间:无 硬件层面 硬件 ......
F103 103 32F HAL GD

【STM32】使用STM32提供的DSP库进行FFT(附详细代码)

最近,因为项目需要在STM32F103系列处理器上,对采集的音频信号进行FFT运算,然而STM32F103毕竟不是STM32F4系列的处理器,对于一般的FFT运算程序还是比较缓慢的。 幸亏官方提供了针对FFT的官方库,但是去官网找了半天居然找不到那个库的下载,好像官方早就把那个库下架了,估计是为了给 ......
STM 代码 32 DSP FFT

STM32CubeMx LL库BUG之一

STM32CubeMx是目前最新的V5.5 STM32F407,输出LL库,使用FreeRTOS, 任务堆栈大小错误: 在STM32CubeMx上任务堆栈的单位是word,即4个byte。但是实际上这里的单位是byte,就是说你设置256的话(即1024 bytes),实际上给你生成的代码只有256 ......
CubeMx STM BUG 32

STM32F103内部FLASH及地址表

在我们应用开发时,经常会有一些程序运行参数需要保存,如一些修正系数。这些数据的特点是:数量少而且不需要经常修改,但又不能定义为常量,因为每台设备可能不一样而且在以后还有修改的可能。将这类数据存在指定的位置,需要修改时直接修改存储位置的数值,需要使用时则直接读取,会是一种方便的做法。考虑到这些数据量比 ......
地址 FLASH F103 STM 103

STM32HAL库使用SPI驱动1.44寸TFTLCD

关于STM32F4单片机,使用HAL库自带的SPI,驱动TFTLCD屏幕的资料网上好像不太多,正好最近我做了这项工作,把成果分享给大家。我的代码实现了这些功能:任意坐标画点,指定首尾坐标画线,画方框,指定区域显示彩图,显示16* 16或者12* 12的汉字、ASCII码,并附带ASCII码表与少量的 ......
TFTLCD 1.44 STM HAL SPI

Hal库下使用32f4系列DSP运算功能

在网上很多人都已经写了如何用cubemx和mdk5打开f4系列的FPU功能,但是最后添加 #include “arm_math.h” #include “core_cm4.h” 这两个头文件会报错 同时类似arm_sqrt_f32()这种dsp库函数仍然找不到位置。所以在此做一些补充。 对于CUBE ......
功能 32f4 Hal 32f DSP

STM32F0 HAL库软件模拟串口发送数据

试验STM32F0官方提供的例程的时候,希望看到程序中某些变量的值,但是程序中往往没有串口发送部分,自己加又非常麻烦。 而点亮LED的程序基本上每个例程都有。所以用点亮LED引脚模拟串口发送数据就很方便,不用再去初始化串口IO,初始化串口等等。 /** * @brief 软件模拟串口发送数据 * @ ......
串口 数据 软件 STM 32F

基于STM32封装的HTTP请求

使用STM32封装HTTP协议 通过封装HTTP头,向服务器发送GET请求,通过GET请求上传数据,并获取返回值 #include <string.h> #include <stdio.h> #include <stdint.h> char text[30]; char temp[10]; /** ......
HTTP STM 32

cJSON在STM32中的应用

写在前面: 将JSON应用在STM32上面已经很普遍了,但还是有很多问题在网上找不到答案,毕竟自己造轮子和找轮子造车还是有点差别。 今天就总结一下最近在STM32上使用cJSON所遇到的一些问题。 正文开始线 什么是cJSON: JSON的C语言版,一种常用的轻量级数据交换格式,详情见 JSON介绍 ......
cJSON STM 32

STM32CubeMX ADC单通道和多通道DMA转换

ADC单通道DMA转换 主要选项说明(绝大部分工程设置下面参数即可): Clock Prescaler:ADC时钟;时钟不超过36M(从ABP2时钟分出)。 Resolution:分辨率;例如我们选12bits,即使把3.3V电压分成2^12。不可测量超过3.3V的电压,必须分压。 Data Ali ......
通道 CubeMX STM ADC DMA

【HAL】stm32F103 DAC+DMA+TIM6查表法产生正弦波

一、平台 二、配置 1、DAC的配置 输出缓冲Output Buffer建议关闭。DAC的输出缓存可以用来减小输出阻抗,无需外部运放即可直接驱动外部负载。但输出不能达到0(会出现底部失真),不推荐开启。具体参考官方手册,缓冲器打开时低端的DAC输出电压大概0.2V(不同型号可能不同,暂未考证) 2、 ......
正弦 F103 TIM6 HAL 103

stm32按键 长按 短按 函数 一

在stm32工程中,长按和短按的代码书写, 调用的读取按键状态的底层函数。封装成的按键函数代码。下面是函数的头文件,和.c文件的代码。使用定时器来扫描按键。 #define KEY_ON 1#define KEY_OFF 0#define KEY_NULL 0#define KEY_SHORT 1# ......
按键 函数 stm 32

STM32的IIC存储和读取整形数据

STM32的IIC存储和读取整形数据, 下面的程序代码是使用stm32F03ZET6的I2C1(PB6,PB7)和AT24C02的EEPROM来测试的。希望对于需要的朋友有帮助。 主要代码如下: #include "delay.h"#include "stm32f10x.h"#include "us ......
数据 STM IIC 32

STM32 用定时器产生1Mhz 脉冲,

STM32 用定时器产生1Mhz 脉冲,PWM宽度可调,四路输出 源码:记得要加入文件 gpio rcc tim 等c文件 #include "stm32f10x_conf.h" void GPIO_CFG(void); void RCC_CFG(void); void TIM_CFG(void); ......
定时器 脉冲 1Mhz STM Mhz

EC11旋转编码器、stm32f103驱动程序

1、EC11手册的要点 注意:旋转的速度、RC滤波 手册中推荐的电路(已含有RC滤波): 输出波形特点: 2、硬件电路 加上RC滤波电路 做法是两个端点都采用10pF电容接地,10KΩ电阻接VCC。 实测100pF电容也行。 用示波器看看波形有无噪声 另外,看看不同旋转速度时的延时要求(具体见下面的 ......
编码器 驱动程序 编码 程序 f103

【STM32+cubemx】0024 HAL库开发:IAP(在应用编程)的实现

IAP在应用编程(In-Application Programming),指的是MCU在运行应用程序时,能接收新的烧写文件,并更新到自身的程序存储器中。即可以在应用程序运行时在线升级。 本节我们通过一个简单的例子,来实现STM32的IAP功能。这个例子有两部分程序,boot部分包含IAP功能,运行后 ......
cubemx 0024 STM HAL IAP

【STM32】HAL库 STM32CubeMX教程十一---DMA (串口DMA发送接收)

前言: 本系列教程将 对应外设原理,HAL库与STM32CubeMX结合在一起讲解,使您可以更快速的学会各个模块的使用 所用工具: 1、芯片: STM32F407ZET6/ STM32F103ZET6 2、STM32CubeMx软件 3、IDE: MDK-Keil软件 4、STM32F1xx/STM ......
串口 STM DMA 教程 CubeMX

STM32CubeMX HAL库串口+DMA数据发送不定长度数据接收

参考资料:1、ST HAL库官网资料 2、https://blog.csdn.net/u014470361/article/details/79206352#comments 一、STM32CubeMX配置外部时钟 注意在进行外部时钟配置时,即“High Speed Clock”和“Low Spee ......
数据 串口 长度 CubeMX STM

STM32F407串口

#include "stm32f4xx.h" #include "usart.h" void My_USART1_Init(void) { //GPIO结构体定义 GPIO_InitTypeDef GPIO_InitStructure; //串口结构体定义 USART_InitTypeDef USA ......
串口 F407 STM 32F 407

STM32串口中断接收一个完整的数据帧

代码运行条件: (1) 大端发送; (2) 上位机发送一帧数据的时间间隔不能大于主循环周期; (3)数据帧满足下面格式: 帧头部(Head) 类型(Type) 长度(Length) 值(Value) CRC校验 2字节 1字节 1字节 X字节 2字节 0xaa 0x55 X void USART6_ ......
串口 数据 STM 32

stm32 ADC理解

神通广大的各位互联网的网友们、大家早上中午晚上好好好、今早起来很准时的收到了两条10086的扣月租的信息、心痛不已、怀着这心情、又开始了STM32的研究、早上做了计算机控制的PID实验,又让我想起了飞思卡尔的电磁小车、、曾经的电感电压采集让我心碎的多少次、又让我开心了多少次、但已经成为过去、(软件和 ......
stm ADC 32

使用HAL库开发STM32:系统时间基础及进阶使用

文章目录 目的基础使用进阶使用总结 目的 HAL库默认提供了系统时间,系统时间默认情况下由SysTick定时器计数产生。系统时间一方面用于HAL库自身调用,另一方面用户也可以使用,为开发带来便利。(本文提到的相关使用主要应用于未使用OS(操作系统)的情况下。) 基础使用 一般的系统时间使用方面常用到 ......
时间 基础 系统 HAL STM

STM32中通过普通延时函数来精确延时

在STM32中处处会用到延时函数,一般而言,对于普通的控制延时,并不会要求特别精确,所以可以使用普通的延时函数,例如 void delay(u32 time){ while(time--);} 但是在某些情况下,例如读取传感器数据,就 需要精确的延时,对于这种,这时候可以考虑使用软件定时器或者系统定 ......
函数 STM 32

STM32F407定时器时钟频率和时钟源

(1)高级定时器timer1, timer8以及通用定时器timer9, timer10, timer11的时钟来源是APB2总线 (2)通用定时器timer2~timer5,通用定时器timer12~timer14以及基本定时器timer6,timer7的时钟来源是APB1总线 (3)当APB1和 ......
时钟 定时器 频率 F407 STM

STM32模拟GPS输出PPS、GPRMC与VLP16时钟同步

这里写目录标题 1.VLP16与GPS相关的管脚:2.利用GPS信息完成时间同步 TimeSynchronization3.查找同步关系4.修改ROS代码结论 1.VLP16与GPS相关的管脚: GPS-RECEIVE 接收GPS的GPRMC语句,注意是RS232电平(high 3-15V,low ......
时钟 GPRMC STM GPS PPS