草庐IT

HAL_UART_RxCpltCallback

全部标签

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的大小来确定程序地址的范围(如果太小了

【物联网】一文读懂UART通信协议

目录硬件实现细节软件实现细节UART传输的过程奇偶校验stm32单片机上代码实现HAL库开发标准库开发UART是通用异步串行接口(UniversalAsynchronousReceiver/Transmitter)的缩写。它是一种用于串行异步全双工通信的通信协议,常用于将计算机和外部设备(如传感器、显示器、模块等)进行串行数据传输。UART使用一对数据线(一条用于发送数据,一条用于接收数据)来进行通信,通信过程中不需要时钟信号,所以称为异步。发送和接收的数据以字节为单位进行传输,并通过起始位、数据位、校验位和停止位进行格式化,需要注意的是主从之间的接收和发射端口要反接,就是主机TX端要接从机R

Android图形-Hardware Composer HAL

目录一、引言二、概览三、实现HWC3.1为什么是HWC?3.2HWC的支持需求3.3HWC的实现思路3.4HWC的基元3.5HIDL接口3.6函数指针3.7图层和屏幕句柄3.8屏幕合成操作3.9多个屏幕3.10虚拟屏幕合成3.10.1模式3.10.2输出格式3.11同步fence3.12热插拔处理3.12.1概念理解3.12.2更新显示功能:3.12.3处理显示功能的更改:3.12.4常见的连接场景处理3.12.5使用顺序配置ID来防止竞争条件3.13客户端帧缓冲区管理3.13.1分辨率切换期间的帧缓冲区管理四、Layersanddisplays4.1Displays4.2虚拟屏幕五、VSYN

常用通讯协议(UART、RS232、RS485、IIC、SPI)简单介绍

常用通讯协议随笔这里主要对工作学习中常见常用的通信协议进行一个整理,在需要的时候可以进行回顾,内容主要根据创客学院,所做的学习笔记加上一些比较好理解的话语,内容如有错误还请各大佬批评指正。通讯基础并行通讯:数据线有8条,就代表总线传输数据时一次可传输8位数据;串行通讯:数据线只有一条,需要一个一个位逐次传输;UART即通用异步收发器,是一种通用的串行,异步通讯总线;总线有两天数据线,可以实现全双工的发送和接收;在嵌入式系统中常用与主机与辅助设备之间的通信波特率:用于描述UART通信时的通信速度,其单位为bps(bitpersecond)即每秒钟传送的bit的数量;起始位(必须有):为低电平,代

常用通讯协议(UART、RS232、RS485、IIC、SPI)简单介绍

常用通讯协议随笔这里主要对工作学习中常见常用的通信协议进行一个整理,在需要的时候可以进行回顾,内容主要根据创客学院,所做的学习笔记加上一些比较好理解的话语,内容如有错误还请各大佬批评指正。通讯基础并行通讯:数据线有8条,就代表总线传输数据时一次可传输8位数据;串行通讯:数据线只有一条,需要一个一个位逐次传输;UART即通用异步收发器,是一种通用的串行,异步通讯总线;总线有两天数据线,可以实现全双工的发送和接收;在嵌入式系统中常用与主机与辅助设备之间的通信波特率:用于描述UART通信时的通信速度,其单位为bps(bitpersecond)即每秒钟传送的bit的数量;起始位(必须有):为低电平,代

STM32——串口(UART)使用

写在前面:本节我们学习STM32F1串口,说实话,对于一个初学者来说,在学习这节内容的时候,牵涉的一些知识使我也很困惑。特别是利用HAL库的中断回调机制。至此,对于有些内容我依旧是感到迷惑,还是希望多看,多试尽力的有一个好的理解。目录一、数据通信的基本概念1.1串并行通信1.2单工、半双工与全双工通信1.3同步、异步通信 1.4通信速率 1.5常见的串行通信接口二、串行通信接口(RS-232)三、STM32的USART 3.1USART简介3.2USART框图 3.3USART寄存器 3.3.1控制寄存器1(USART_CR1)3.3.2控制寄存器2(USART_CR2)3.3.3控制寄存器3

STM32 hal库使用笔记之FreeRTOS—任务创建、删除,任务挂起、恢复,任务中断管理

一、简介1.FreeRTOS简介  RTOS全称为:RealTimeOS,就是实时操作系统,强调的是:实时性。而Free显而易见体现的是其免费性。总的来说这是一个免费的嵌入式实时操作系统。  其特点是:免费开源、可剪裁(独立性强,适应范围广)、简单、优先级/任务不限(但是受到不同开发环境和硬件的限制,一般受限)、支持三种方式的任务调度。  与裸机的区别:裸机的应用程序整体来看放在整个大循环里,很多时候资源浪费即“空等待”;而RTOS是多个优先级相同的任务每个任务执行一个时间片(时间长度可以调节),来回切换,最终效果是所有优先级相同的任务同时进行,而且有任务被“阻塞”时,会释放cpu资源。2.任