草庐IT

HAL_StatusTypeDef

全部标签

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 输入模式要点      重要

【STM32】HAL库的STOP低功耗模式UART串口唤醒,解决首字节出错的问题(全网第一解决方案)

【STM32】HAL库的STOP低功耗模式UART串口唤醒,解决首字节出错的问题(全网第一解决方案)前文:【STM32】HAL库的STOP低功耗模式UART串口唤醒,第一个接收字节出错的问题(疑难杂症)目前已解决并更新了我的gitee库:基于HAL库建立自己的低功耗模式配置库(STM32L4系列低功耗所有配置汇总)文章目录先说结论最初的串口唤醒配置官方文档的说明首字节出错的问题解决后的流程及代码为什么说是“全网第一”附录:Cortex-M架构的SysTick系统定时器精准延时和MCU位带操作SysTick系统定时器精准延时延时函数阻塞延时非阻塞延时位带操作位带代码位带宏定义总线函数一、位带操作

【STM32】HAL库UART含校验位的串口通信配置BUG避坑

【STM32】HAL库UART含校验位的串口通信配置BUG避坑文章目录UART协议校验位HAL库配置含校验位的串口配置BUG避坑附录:Cortex-M架构的SysTick系统定时器精准延时和MCU位带操作SysTick系统定时器精准延时延时函数阻塞延时非阻塞延时位带操作位带代码位带宏定义总线函数一、位带操作理论及实践二、如何判断MCU的外设是否支持位带UART协议UART通过一条线就能完成数据的发送另外一条线则完成数据的接收所以一共是两条线TXRXUART在空闲时为低电平时钟周期由波特率确定通常是115200bit/sUART协议由四个部分组成:起始位:固定低电平1个时钟周期数据域:通常是8b

嵌入式-stm32-基于HAL库的感应开关盖垃圾桶项目(开源)

网盘资料:《嵌入式-stm32-基于HAL库的感应开关盖垃圾桶项目(开源)》链接:https://pan.baidu.com/s/1kFk09nMKPDvLwIUqMT9q3w提取码:og66–来自百度网盘超级会员V6的分享目录一:项目概述二:材料准备三:细节分析(重点)四:Stm32CubeMx操作步骤以及实现细节五:Keil5业务逻辑代码编写六:总结一:项目概述1.简单描述:该感应开关盖垃圾桶,通过(超声波模块感应垃圾桶前是否有人)或者(震动传感器检测震动)或者(按键),来控制sg90舵机进行角度控制,打开垃圾桶盖门,打开盖门的时间延时控制。2.需求描述检测靠近时,垃圾桶自动开盖并伴随滴一

# HAL库STM32常用外设教程(四)—— 定时器 基本定时

HAL库STM32常用外设教程(四)——定时器基本定时文章目录HAL库STM32常用外设教程(四)——定时器基本定时前言一、定时器特性概述二、基础定时器的结构和功能1、基本特征2、基础定时器相关寄存器3、基础定时器工作流程4、基础定时器时序图三、基础定时器HAL驱动程序1、基础定时器两种定时模式2、基础定时器主要函数(1)定时器通用HAL库驱动函数(2)启动和停止定时器的三种方式3、定时器其他通用操作函数4、定时器有关的中断处理四、应用实例1、CuebMx配置2、程序功能实现五、总结前言1、STM32F407ZGT62、STM32CubeMx软件3、keil5内容简述:通篇文章将涉及以下内容,

HAL库_STM32与陶晶驰T1系列串口屏通讯

一、实验目的    利用陶晶驰串口屏设计软件、Kei以及STM32CubeMX软件结合硬件,完成串口屏与单片机之间的简单通信。二、硬件连接32单片机与串口屏连接串口屏与电源板连接三、使用USARTHMI软件完成串口屏界面设计3.1创建工程1.点击新建2.选择保存工程的位置,并设置文件名,点击保存3.选择串口屏型号,在串口屏的背面可以看到屏幕的型号或者在购买订单中查找,这里选用的设备为T1系列TJC3224T124_0114.点击左侧的显示选项,选择一个显示方向,并点击OK,完成工程的创建3.2建立一个主页3.2.1修改页面名称   这里改为main,建议使用英文名称,不建议使用中文或其他非as

【freeModbus】STM32之HAL库移植笔记

    工作主要是传感器相关,常与之打交道的协议,莫过于MODBUS了。之前一直都是手撸相关功能码,所以也就没了解过类似freeModbus之类的,现在需要使用HAL库开发,且配置Modbus从机协议为全栈,最近趁着空余时间,学习一番。(网上说好的移植简单快捷,结果照着各种教程配置,磕磕碰碰了小一周才搞定,在此记录下详细教程)一、下载压缩包官网下载地址:About-EmbeddedExperts(embedded-experts.at)注:下拉页面,然后点击右下角的Downloads,然后点击红框选中,下载; 二、移植准备    解压后,我们会看到几个文件夹,但是对我们当前移植来说,有用的是m

stm32 hal库硬件spi(软件spi)驱动1.8寸tft—lcd屏幕

stm32hal库硬件spi(软件spi)驱动1.8寸tft—lcd屏幕前言环境搭建一、stm32软件spi驱动lcd1cubemx配置2代码移植1)lcd.c2)spi.c3)gui.c4)test.c5)验证3屏幕背光亮度调节二、stm32硬件spi驱动lcd1cubemx配置2代码修改3速度测试三、提高屏幕刷新率四、中文显示总结前言屏幕是嵌入式开发中的一个重要的部分,cdsn上有许多解释原理的,还有很多是采用正点原子的屏幕来驱动的,对于刚刚入门不久的我们可能没有资金去购买较为昂贵的屏幕。而对于底层原理我们暂时也不必了解的那么深入,能点亮屏幕就是我们最大的快乐。除了中景园的资料全一些以外,