草庐IT

HAL_GPIO_WritePin

全部标签

STM32HAL库驱动DHT11和BH1750

文章目录硬件配置软件配置DHT11代码编写BH1750代码编写虚拟串口输出和OLED显示硬件配置stm32f103c8t6DHT11(温湿度传感器)BH1750(光照度传感器)OLEDmicroUSB数据传输线软件配置sys->Debug->SerialWrieRCC->HSE->Crystal/CerarnicResonatorPC13->GPIO_OutTIM1->ClockSource->InternalClockParameterSettings为后面DHT11的延时us起作用TIM2->ClockSource->InternalClockParameterSettingsNVICSe

STM32-GPIO编程

一、GPIO1.1 基本概念GPIO(General-purpose input/output)通用输入输出接口--GP通用--Iinput输入--ooutput输出通用输入输出接口GPIO是嵌入式系统、单片机开发过程中最常用的接口,用户可以通过编程灵活的对接口进行控制,实现对电路板上LED、数码管、按键等常用设备控制驱动,也可以作为串口的数据收发管脚,或AD的接口等复用功能使用。其作用和功能是非常重要的。1.2实际应用input 输入-数据采集 按键、光照(光敏传感器)、ADC、各种传感器output输出 - 设备控制LED灯、数码管、继电器(小控大)二、功能描述1、IO结构框图保护二极管:

STM32的GPIO知识(F103C8T6为例)

    学习过51单片机的同学应该知道IO引脚,表示这个引脚既有输入也有输出的功能,STM32的GPIO也是如此,它的引脚同样也有输入输出的功能。接下来我们来看一下这个芯片的引脚布局。 通过引脚的名字我们可以看出以下的现象①48和47,36和35,23和24这三组引脚是供电用的,8和9是模拟供电。供电电压一般为3.3V。        这是因为STM32主打的是高性能、低功耗的特色。如果学过初中电学你应该知道一个简单的功率的公式:P=UI,P就是功率,U是电压,I是电流,那我们的电压是减少了,电流也不可能会增大非常大,那么整体的功率是比较小的。为什么要多组供电呢,STM32的多组供电对应不同的

【STM32】STM32学习笔记-GPIO输出(05)

00.目录文章目录00.目录01.GPIO简介02.GPIO基本结构03.GPIO位结构04.GPIO模式4.1输入浮空4.2输入上拉4.3输入下拉4.4模拟输入4.5开漏输出4.6开漏复用功能4.7推挽式输出4.8推挽式复用功能05.LED和蜂鸣器简介06.面包板07.附录01.GPIO简介GPIO(GeneralPurposeInputOutput)通用输入输出口可配置为8种输入输出模式引脚电平:0V~3.3V,部分引脚可容忍5V输出模式下可控制端口输出高低电平,用以驱动LED、控制蜂鸣器、模拟通信协议输出时序等输入模式下可读取端口的高低电平或电压,用于读取按键输入、外接模块电平信号输入、

【STM32】低功耗模式下GPIO、外设、时钟省电配置避坑

【STM32】低功耗模式下GPIO、外设、时钟省电配置避坑文章目录低功耗模式省电外设配置GPIO省电模式实验低功耗模式扩展附录:Cortex-M架构的SysTick系统定时器精准延时和MCU位带操作SysTick系统定时器精准延时延时函数阻塞延时非阻塞延时位带操作位带代码位带宏定义总线函数一、位带操作理论及实践二、如何判断MCU的外设是否支持位带低功耗模式【STM32笔记】低功耗模式配置及避坑汇总前文:blog.csdn.net/weixin_53403301/article/details/128216064【STM32笔记】HAL库低功耗模式配置(ADC唤醒无法使用、低功耗模式无法烧录解决

STM32 HAL库:使用C标准库或MicroLIB实现printf && 多串口使用printf输出 && 结合DMA实现printf && 常见问题总结

综合多篇文章对实现printf进行总结,本篇博客包含内容如下:使用MicroLIB实现printf(Windows环境下和Linux环境下)使用C标准库实现printf(也就是不需要配置工程打开MicroLIB)结合DMA实现printf(针对大量数据、OS任务间使用printf冲突)多串口通信(当有多个串口通信设备时)printf使用常见问题如果本篇博客对你有帮助的话,记得点个赞哦!谢谢大家!😀😀😀😀😀😀文章目录一、需打开MicroLIB版打开MicroLIB,后面的步骤基于此(重点!!!!!!!)1.1方案一1.1.1修改usart.cⅠ添加头文件stdio.hⅡ定义结构体FILEⅢ重写f

Linux下控制GPIO的三种方法

https://blog.csdn.net/qq_41076734/article/details/1246699081.应用空间控制gpio1.1简介在/sys/class/gpio/下有个export文件,向export文件写入要操作的GPIO号,使得该GPIO的操作接口从内核空间暴露到用户空间,GPIO的操作接口包括direction和value等,direction控制GPIO输入或者输出模式,而value可控制GPIO的状态或者读取状态。/sys/class/gpio/目录下各个文件说明:/sys/class/gpio/export文件用于通知系统需要导出控制的GPIO引脚编号;/s

stm32使用i2c读写eeprom的HAL库实现

stm32使用i2c读写eeprom的HAL库实现快速查看stm32使用i2c读写eeprom的HAL库实现实验目的缘起搭建工程实验现象本文中使用的测试工程附录本文目标:基于HAL库的stm32实现eeprom的i2c实验按照本文的描述,应该可以跑通实验并举一反三。先决条件:装有编译和集成的开发环境,比如:KeiluVision5、STM32CubeMX使用外设:I2C1、USART1、GPIOEEPROM(也称为E2PROM)代表电可擦除可编程只读存储器,是计算机中使用的一种非易失性存储器,通常集成在智能卡和远程无钥匙系统等微控制器中,或作为一个单独的芯片设备,通过允许擦除和重新编程单个字节

嵌入式-32单片机-基于HAL库的电动车报警器项目(开源)

一:项目描述1.功能描述:通过一个无线遥控器控制电动车的报警器。2.需求分析:当遥控器按A进入警报模式,当小偷触碰电动车,电动车振动传感器会发出信号,触发继电器,继电器闭合高功率喇叭响起;当遥控器按B则关闭警报模式,此时摇晃电动车,喇叭不会响。二:项目硬件材料1.STM32F103系列开发板12.振动传感器13.继电器14.高功率喇叭15.无线遥控器(433M无线发射模块1+433M无线接收模块1)三:思路分析1.用cubemx配置,形成初步的各种寄存器代码2.用Keil5写业务逻辑代码,先用中文写出来逻辑,再写各个代码进去四:CubeMX界面配置1.芯片选型:stm32F103C8T62.G

STM32使用HAL库驱动DS3231

1、STM32通讯口配置启动IIC,默认配置即可。2、头文件#ifndef__DS3231_H#define__DS3231_H#include"main.h"#defineDS3231_COM_PORThi2c1 /*通讯端口*//****************************defines*******************************/#defineDS3231_ADDR 0xd0/*DS3231slaveaddress(write)*/#defineDS3231_SEC 0x00//秒#defineDS3231_MIN 0x01//分#defineD