草庐IT

HAL_GPIO_ReadPin

全部标签

【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

【Linux驱动】Pinctrl子系统 | GPIO子系统 | 基于子系统的LED驱动程序

🐱作者:一只大喵咪1201🐱专栏:《Linux驱动》🔥格言:你只管努力,剩下的交给时间!目录🛷Pinctrl子系统🥅设备树中的Pinctrl子系统🛷GPIO子系统🥅设备树中的GPIO子系统🥅驱动程序中使用GPIO子系统🛷基于子系统的LED驱动程序🥅驱动程序🥅设备树文件🛷总结在前面的LED驱动程序中,有三种实现方式:硬件操作绑定到驱动程序中。platform_device提供硬件信息,platform_driver获取硬件资源,并进行操作。使用设备树提供硬件信息,platform_driver获取硬件资源,并进行操作。无论使用哪种方式,都需要通过ioremap函数将物理地址映射为虚拟地址,这几种

【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上有许多解释原理的,还有很多是采用正点原子的屏幕来驱动的,对于刚刚入门不久的我们可能没有资金去购买较为昂贵的屏幕。而对于底层原理我们暂时也不必了解的那么深入,能点亮屏幕就是我们最大的快乐。除了中景园的资料全一些以外,

(一)gpio-逐飞TC264库学习(对比STM32 HAL库)

voidgpio_init(gpio_pin_enumpin,gpio_dir_enumdir,uint8dat,gpio_mode_enumpinmode)//-------------------------------------------------------------------------------------------------------------------//函数简介  gpio初始化//参数说明  pin    选择的引脚(可选择范围由zf_driver_gpio.h内gpio_pin_enum枚举值确定)//参数说明  mode    引脚的方向[GPI/

官方手册:STM32 HAL and low-layer drivers(HAL库函数和 LL(底层驱动)API 说明手册) (***)

要点:1.MCU原厂与具体用户之间的需求,是不同的。MCU原厂希望同一款MCU,可以应用(满足)到最可能多的不同行业、不同场景的需求。这使得STMCU需要很多的寄存器,通过不同的设置来满足不同场景的需求。对于一个具体的项目来说,并不需要那么多没有用的、额外的功能;STMCU的这种做法,无疑增加了具体用户在该MCU上的使用难度。有些国产MCU,它们没有那么多的寄存器需要设置,寄存器很简单,因此,这类MCU原厂可能并不需要为用户开发一个图形化的寄存器配置界面。2.HAL库,目的是为了通过CubeMx来配合使用的?而不是为直接编程服务的?如果不使用CubeMx,而是直接寄存器编程,那么,使用HAL无

【STM32】HAL库Flash读写操作及配置

【STM32】HAL库Flash读写操作及配置文章目录Flash读写附录:Cortex-M架构的SysTick系统定时器精准延时和MCU位带操作SysTick系统定时器精准延时延时函数阻塞延时非阻塞延时位带操作位带代码位带宏定义总线函数一、位带操作理论及实践二、如何判断MCU的外设是否支持位带Flash读写在keil里面的默认工程配置中Flash分配地址程序部分为0x08000000到0x08100000总共是0x00100000的大小也就是1048576Byte1024KB1MB而实际上程序部分大小应该要看硬件手册来确定可以通过配置keil工程中size的大小来确定程序地址的范围(如果太小了