草庐IT

HAL_UART_RxCpltCallback

全部标签

STM32—HAL库中断/DMA控制和完成串口通信

目录一、解决的问题二、串口通讯协议和RS-232的介绍以及USB/TTL转232模块的工作原理  1、 串口协议和RS-232标准: (1)串口协议:(2)RS-232标准:  2、RS232电平与TTL电平的区别  3、USB/TTL转232“模块(CH340芯片为例) (1)基本原理: (2)CH340模块介绍:​三、搭建STM32开发环境(HAL库环境) 四、利用HAL库新建一个中断控制串口通信的工程  五、完善通过中断方式控制串口通信的keil5工程 (1)本工程中几个函数简介:(2)编写代码思路:  (3)完善keil5工程代码:六、基于中断控制串口通信的电路连接与烧录运行 1、电路

STM32 Hal库FreeRTOS统计CPU占比 找出有问题的任务 仅需一个函数搞定 超简单

一、实现目标STM32F103基于Hal库跑FreeRTOS,统计CPU占比找出有问题的任务,类似实现一个windows系统的任务查看界面。代码运行结果如下二、思路记录任务的时间点,相减获得任务所占用的时间,所得时间/总时间,得到该CPU占比。 三、实现函数只需要调用一个vTaskGetRunTimeStats:获得任务的运行信息,形式为可读的字符串。voidvTaskGetRunTimeStats(signedchar*pcWriteBuffer);四、操作步骤1、连接串口后,在freertos.c里面定义一个全局变量,存在所有任务的栈的信息,注意,pcWriteBuffer必须足够大。st

STM32 HAL库函数HAL_SPI_Receive_IT和HAL_SPI_Receive的区别

背景前段时间开发一个按键板驱动,该板用的STM32F103系列单片机,前任工程师用STM32CubeMX生成的工程,里面全是HAL库调用,我接手后,学习了下HAL库的用法,踩坑不少,特别是带IT后缀的函数,初学者对其的理解很容易出错,特此记录一下。项目中的按键板通过SPI总线与主板连接,按键板是Slave设备,因此无法确定什么时候收到主板的读写请求,要么轮询SPI控制器的rxfifo是否非空,要么依赖SPI控制器提供的中断机制,在中断里将rxfifo内容读出来。两种Receive流程说明一下,SPI的BPW(bitsperword)设置为8,因此文中一个word的size就是一个字节。轮询:H

STM32+A4988拓展板+HAL实现简单42步进电机驱动

 前言1.A4988及其拓展板简介2.接线3.STM32_CUBEMX配置4.代码详解———————————————————————————————————————————1.A4988及其拓展板简介A4988A4988拓展板  A4988是一款常用的步进电机驱动器,A4988驱动器采用了步进电机的微步技术,能够实现高精度的步进控制,提高了电机的运行平稳性和精度。同时,A4988驱动器还具有保护功能,如过压、欠压、过温保护等。其下方的电位调节器可用于调节参考电压,该产品可在全、半、1/4、1/8及1/16步进模式时操作双极步进电动机,输出驱动性能可达35V,A4988包括一个固定关断时间电流稳

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

1、STM32CubeMX配置部分STM32CubeMX最新版:http://t.csdnimg.cn/WJUwQ打开STM32CubeMX软件,点击ACCESSTOMCUSELECTOR,在CommercialPartNumber中输入MCU型号,例如我在这里输入了STM32L431RCT6。选中正确型号然后双击进入下一步的配置界面。1.1SYS配置如图1.2RCC配置如图开启了外部晶振,若无则都选择Disable1.3USART1配置NVICSettings注意:这里需要打开USART1globalinterrupt全局中断DMASettings1.4DMA配置2、软件部分HAL库中通过H

【STM32+HAL】LCD显示及触摸初始化配置

一、所用工具:1、芯片:STM32F407ZGT62、STM32CubeMx软件3、IDE:MDK-Keil软件4、显示屏:正点原子4.3寸TFTLCDMCU电阻屏480*800二、实现功能:初始化LCD显示、触摸三、准备工作:1、有关CUBEMX的初始化配置,参见我的另一篇blog:【STM32+HAL】CUBEMX初始化配置2、准备好商家提供的LCD文件(本文末附)四、LCD显示配置步骤:1、配置FSMC2、配置LCD屏幕的背光引脚至此,HAL库配置完成3、创建LCD的C文件和H头文件4、将例程中的代码复制到LCD.h中注意:需要删去头文件改为添加以下代码#include"stdint.h

STM32(HAL库)驱动AD8232心率传感器

目录1、简介2、CubeMX初始化配置2.1基础配置2.1.1SYS配置 2.1.2RCC配置2.2ADC外设配置2.3 串口外设配置 2.4GPIO配置 2.5项目生成 3、KEIL端程序整合3.1串口重映射3.2ADC数据采集3.3主函数代码整合4硬件连接5效果展示1、简介本文通过STM32F103C8T6单片机通过HAL库方式对AD8232心率传感器进行数据的读取,并通过串口来进行显示。2、CubeMX初始化配置2.1基础配置2.1.1SYS配置 2.1.2RCC配置2.2ADC外设配置2.3 串口外设配置 2.4GPIO配置 2.5项目生成 3、KEIL端程序整合3.1串口重映射具体步

HAL库 STM32运用DMA与IDLE中断实现高效串口通信 (附代码)

最近想做一个控制电机的项目,其中会用到Pytho与单片机STM32之间的互同,最近也在看一些关于数据通信和拆包的相关知识,所以记录一下这段时间里对两者之间的互通所做的事情和发现的问题,以供自己和大家参考。单片机的串口是我们常用的与电脑通信的外设,本次与Python互通就采用的串口实现上位机与下位机的通讯。本章先讲解串口外设的使用,下一章讲解在Python中接收单片机发送的数据。我采用的单片机型号是STM32F103ZET6,使用usart1进行数据的收发,所使用的引脚是PA9、PA10。使用STM32Cube打开串口进行初始化。第一步,设置时钟源,在未设置的情况下,我们的单片机默认的系统时钟是

嵌入式|蓝桥杯STM32G431(HAL库开发)——CT117E学习笔记02:开发环境安装

系列文章目录嵌入式|蓝桥杯STM32G431(HAL库开发)——CT117E学习笔记01:赛事介绍与硬件平台嵌入式|蓝桥杯STM32G431(HAL库开发)——CT117E学习笔记02:开发环境安装嵌入式|蓝桥杯STM32G431(HAL库开发)——CT117E学习笔记03:从零开始创建工程模板并开始点灯前言上一篇介绍了一下蓝桥杯板子CT117E的硬件情况,这一篇讲一下如何配置开发环境。基于STM32CubeMX的HAL库开发主要依靠图形化配置软件STM32CubeMX、JAVA开发环境、集成开发环境MDK-ARM、芯片器件包、HAL固件包。这五个软件资源的安装可以分为两个部分,一是STM32

【STM32 + HAL库】之 6 --- GPIO 输入模式,读取按键电平

 目录第一部分、GPIO 输入模式要点第二部分、CubeMX配置        第三部分、代码编写第四部分、编译+烧录代码本篇目标:    通过按键,点亮\关闭LED灯,学会:    ①、通过CubeMX,配置引脚的输入模式     ②、调用函数,读取引脚电平状态    ③、了解上、下拉电阻钳位的作用     不聊底层理论,5分钟干完!       友情约定:本系列的前五篇,为了方便新手玩家熟悉CubeMX、Keil的使用,会详细地截图每一步CubeMX、Keil的操作,并做上标记。之后的篇章,仅截图主要步骤页面。希望新手玩家熟记本篇的基本操作。第一部分、GPIO 输入模式要点      重要