草庐IT

HAL_GPIO_WritePin

全部标签

基于STM32移植U8g2图形库——OLED显示(HAL库)

        前言:本文主要内容为将优秀的图形库U8g2移植到STM32单片机上,用于OLED显示精美UI。其实,目前GitHub上有需要优秀的开源GUI库,但是大部分的GUI解决方案并不适合0.96OLED(128x64像素,基于SSD1306)这种资源紧缺型的显示模组使用。所以,在这里给大家介绍和移植一下目前最为主流的0.96寸OLED的GUI图形库——U8g2。(本文为HAL库下的移植,标准库和其区别不大,文末有代码开源)    U8g2库开源网址:https://github.com/olikraus/u8g2    实验硬件:STM32F103C8T6;0.96寸OLED(128×

基于STM32移植U8g2图形库——OLED显示(HAL库)

        前言:本文主要内容为将优秀的图形库U8g2移植到STM32单片机上,用于OLED显示精美UI。其实,目前GitHub上有需要优秀的开源GUI库,但是大部分的GUI解决方案并不适合0.96OLED(128x64像素,基于SSD1306)这种资源紧缺型的显示模组使用。所以,在这里给大家介绍和移植一下目前最为主流的0.96寸OLED的GUI图形库——U8g2。(本文为HAL库下的移植,标准库和其区别不大,文末有代码开源)    U8g2库开源网址:https://github.com/olikraus/u8g2    实验硬件:STM32F103C8T6;0.96寸OLED(128×

详解STM32的GPIO八种输入输出模式,GPIO各种输入输出的区别、初始化的步骤详解,看这文章就行了(超详细)

在STM32微控制器中,常见的输入输出(GPIO)模式有八种,分别是推挽输出、开漏输出、复用推挽输出、复用开漏输出、浮空输入、上拉输入、下拉输入和模拟输入。下面我将为你解释每种模式的特点和区别,并提供相应的示例代码。文章目录介绍区别初始化和配置例程步骤解释介绍推挽输出(Push-PullOutput):推挽输出模式是最常见的GPIO输出模式。在该模式下,引脚可以输出高电平或低电平,同时具有一定的驱动能力。引脚在输出低电平时形成低阻抗,输出高电平时形成高阻抗,可以驱动外部电路。//初始化推挽输出模式的GPIOGPIO_InitTypeDefGPIO_InitStruct;GPIO_InitStr

驱动开发作业3——GPIO子系统

作业1:在内核模块中启用定时器,定时1s,让LED1以1s为周期实现流水灯 myled.c(驱动文件)/**Copyright(c)2023byHuijieXia,AllRightsReserved.*@Author:HuijieXia*@Date:2023-06-2908:56:26*@LastEditTime:2023-07-1115:36:16*@FilePath:/B_Drive/day8/01_myled/myled.c*@version:*@Description:GPIO子系统*/#include#include#include#include#include#includest

ESP8266与手机相互通信 透传模式(STM32F103C8T6 HAL库)有APP和完整代码

一、目标    stm32f103c8t6用串口发送AT指令控制esp8266发送数据到手机APP上,同时手机也可以发送数据到stm32f103c8t6主控,控制LED的亮灭。     将esp8266模块的GND、VCC、TXD、RXD、CH-PD与单片机对应引脚连接,其中TXD与RXD要反接,模块在工作时CH-PD要处于高电平状态。二、串口助手实验过程          步骤:1esp8266配置wifi模式 AT+CWMODE=1          2esp8266重启 AT+RST          3开启手机热点          4esp8266连接手机热点 AT+CWJAP="热

【记录】自己动手使用HAL库对MPU6050进行编程

有关于I2C的知识看这篇文章:【记录】嵌入式经典通信I2C理解有关于MPU6050的基础知识和手册去看这篇文章:【记录】MPU6050原理快速入门(附手册)此篇记录代码编写过程:直接看汇总: 代码汇总一、完成CubeMX的配置。首先分析自身需求:MPU6050需要用到I2C或者是模拟I2C,因为stm32自身具备I2C,故选择使用物理I2C。此外,通过串口来将数据传给电脑,实现在电脑上查看吗,因此需要配置串口,并完成串口的重定向。使用的控制板是正点原子的探索者,主控芯片是STM32F407ZGT6。CubeMX的配置请参考其它文章,这里只给出I2C的配置图和最终的引脚配置图。I2C的配置如图:

STM32使用HAL库,串口收发一段时间后出错问题及解决

STM32使用HAL库,串口收发一段时间后出错问题及解决方法问题1:串口溢出解决方法问题2:串口同时收发,一段时间后串口接收不工作解决办法问题及解决方法当STM32使用HAL库进行开发时,偶尔会遇到串口收发数据量大时,会出现问题。比如同时串口同时收发,一段时间后就只能发送,接收不工作。或是只接收,但数据量大时也不工作。下面对这些问题和其解决办法进行整理。问题1:串口溢出当数据量过大且传输频率快时,串口可能会因为溢出,而不进入串口中断。解决方法使能RXNE中断和ORE中断:if(HAL_UART_Receive_IT(&huart1,(uint8_t*)&aRxBuffer,RXBUFFERSI

STM32系列(HAL库) ——定时器编码器/正交解码模式

     STM32定时器的正交解码模式多用于检测电机的编码器脉冲数做闭环控制,如PID。本文简单介绍一下定时器在Cubemx如何配置以及程序引用到的API函数。一、前期准备1、硬件:STM32C8T6最小系统板USB-TTL串口模块ST-Link下载器2、软件:keil5-IDEcubeMX 二、cubeMX配置1、配置RCC——选着外部时钟源2、配置SYS—— SerialWire模式3、时钟树拉满72M4、配置串口1        5.编码器模式配置这里配置哪一个定时器都可以,只要在第2步存在EncoderMode选项即可。第3步EncoderModeT1是只计上升沿,EncoderMo

STM32CubeMX配置HAL库实现SPI-DMA的递归调用

对于快速入门STM32CubeMX,可以参考【STM32】HAL库STM32CubeMX系列学习教程——————————一、硬件参数与配置:核心:STM32F407ZET6  外设ADC:ADS1258  数量:3个  ※核心与3个ADC使用SPI总线“一主多从”方式连接,PCB布线的方式与下图一致。※在电路板上STM32与三个ADS1258在同一直线上分布,STM32在一端,三个ADC依次排布。※离STM32最远ADC的DRDY硬件管脚与STM32的EXTIline4interrupt连接。 1.1STM32CubeMX的设置 1.1.1时钟树配置如下:  1.1.2 ADC输入的CLK由S

Jetson TX2 NX的GPIO引脚使用方式

JetsonTX2NX是一款高性能的嵌入式AI计算平台,其中引脚的设计和使用对于开发人员来说非常重要。在本文中,我们将会介绍JetsonTX2NX的引脚并说明其功能和使用方式。官方文档官方文档引脚概述JetsonTX2NX具有许多不同类型的引脚,包括数字输入/输出(GPIO)、串行外设接口(SPI)、I²C、UART等。这些引脚有助于与其他外围设备进行通信,如传感器、摄像头、LCD显示器、WiFi模块等。40针GPIO引脚GPIO引脚可以用作输入或输出端口,它们提供了一个数字电平以使用户在外界设备上进行控制或读取。JetsonTX2NX共有198个GPIO引脚,分为三个不同的管脚组:J1、J2