STM32
文章平均质量分 78
黄色的拉拉6
BU & MU 少儿编程
展开
-
17. STM32——SPI硬件
STM32——SPISPI协议SPI接口SPI接口框图SPI工作原理时钟信号的相位和极性CPHA = 0CPHA = 1SPI中断状态标志发送缓存器空闲标志(TXE)接收缓冲器非空(RXNE)忙BUSY标志SPI引脚配置从设备引脚管理(NSS)①软件模式:②硬件模式:SPI结构体SPI配置过程①配置引脚,使能时钟②初始化SPI,设置工作模式③使能SPIx④SPI传输数据⑤查看SPI传输状态整合初始化SPI读写字节设置SPI的波特率spi.hspi.cSPI协议SPI是英语Serial Periphera原创 2021-11-03 20:30:34 · 3026 阅读 · 4 评论 -
16. STM32——测量空气的温度和湿度(STM32 + DHT11温湿度 + OLED显示)
STM32——测量空气的温度和湿度(STM32 + DHT11温湿度 + OLED显示)DHT11温湿度相关介绍初始化GPIOB11启动DHT11获取一个字节获取数据代码整合DHT11.hDHT11.coled.holed.cmain.c效果DHT11温湿度相关介绍在4. 51 测量空气的温度和湿度(51单片机 + DHT11温湿度 + LCD1602显示)有介绍初始化GPIOB11//对于stm32来说,是输入void DH11_GPIO_Init_IN(void){ GPIO_InitTy原创 2021-10-23 15:56:45 · 7681 阅读 · 57 评论 -
15. STM32——软件IIC驱动OLED屏幕显示字符、字符串、数字、汉字
STM32——软件IIC驱动OLED屏幕显示OLED屏幕写命令写内容对OLED写入一个字节设置光标启动OLED关闭OLED全屏填充(清屏)显示字符显示字符串获取次方显示数字显示中文OLED驱动代码OLED屏幕在4. 51 测量空气的温度和湿度(51单片机 + DHT11温湿度 + LCD1602显示)有介绍写命令static void OLED_Write_Cmd(unsigned char cmd){ I2C_Start(); I2C_WriteByte(0x78); I2C_WriteB原创 2021-10-23 13:38:32 · 7362 阅读 · 5 评论 -
14. STM32——软件IIC
STM32——软件IICIIC协议层空闲状态起始信号停止信号数据有效性应答信号配置引脚初始化整合软件IIC代码oled.coled.hIIC协议层空闲状态当IIC总线SDA以及SCL均处于高电平时,规定此状态为空闲状态,对应输出状态为高阻态(各场器件输出效应管截止,导致场效应管电阻很大),由上拉电阻将电平拉高。起始信号起始条件:SCL线是高电平时,SDA线从高电平向低电平切换先写SDA,容易写程序,容易理解//模拟IIC起始信号static void I2C_START(void){原创 2021-10-22 16:54:23 · 6819 阅读 · 5 评论 -
13. STM32——while( 表达式 ); 和 while( 表达式 ){ 循环体 } 问题
@[TOC](STM32——while( 表达式 ); 和 while(){ 循环体 } 问题)while( 表达式 );while(表达式);若括号里面的表达式=1,卡死,进入死循环等待,直到括号里面的表达式=0,跳转到下一个语句while( 表达式 ){ 循环体 }while( 表达式 ){ 循环体 }当满足条件时进入循环,进入循环后,循环会一直执行下去.除非你设置 break 等类似的跳出循环语句循环才会中止。区别:加了分号的while,只有为假,才往下执行,为真一直停留原创 2021-10-17 21:10:22 · 4337 阅读 · 0 评论 -
12. STM32——硬件IIC驱动OLED屏幕显示
STM32——硬件IIC驱动OLED屏幕显示OLED屏幕OLED屏幕特点OLED屏幕接线说明OLED屏幕显存OLED屏幕原理OLED屏幕常用指令OLED屏幕字模软件的使用写命令写数据OLED 初始化(厂家提供的代码)设置起点坐标全屏填充清屏OLED 打开OLED 关闭OLED屏幕OLED即有机发光管(Organic Light-Emitting Diode,OLED)。OLED显示技术具有自发光、广视角、几乎无穷高的对比度、较低功耗、极高反应速度、可用于绕曲性面板、使用温度范围广、构造及制程简单等有点,原创 2021-10-16 23:22:49 · 59252 阅读 · 15 评论 -
11. STM32——硬件I2C
STM32——I2CIIC协议简介IIC总线系统结构IIC总线物理层特点IIC协议简介IIC通讯协议(Inter----Integrted Circuit)是由Phiips飞利浦公司开发的,由于他引脚少,硬件实现简单,可拓展性强,不需要UASRT,CAN通讯协议的外部收发设备,现在被广泛使用在系统内多个集成电路IC(芯片)间的通讯。半双工的通讯方式 IIC通讯协议(Inter----Integrted Circuit)是由Phiips飞利浦公司开发的,由于他引脚少,硬件实现简单,可拓展性强,不需要原创 2021-10-15 13:43:15 · 6537 阅读 · 1 评论 -
10. STM32——PWM 控制舵机(超声波感应开盖垃圾桶)
STM32——PWM 控制舵机通用定时输出PWMPWM的工作原理PWM的模式TIM_OCMode_PWM1 (边沿对齐模式)TIM_OCMode_PWM2(中央对齐模式)占空比舵机实物图接线舵机工作原理周期TPWM占空比TIM3 PWM输出 驱动SG90电机 配置过程:1. 使能GPIO时钟,TIM定时器时钟,部分重映射时钟2. 重映射定时器3. 配置GPIO结构体4. 配置通用定时器TIM结构体5. 配置PWMstm32 超声波感应开盖垃圾桶motor.c通用定时输出PWM以TIM3为例,STM32的原创 2021-09-27 14:11:31 · 12948 阅读 · 65 评论 -
9. STM32——HC_SR04超声波测距
STM32——HC_SR04超声波测距HC_SR04实物图基本参数工作原理时序图超声波测距步骤1. 使能GPIO时钟、定时器时钟2. 配置GPIO引脚3.配置TIM定时器时钟4. 配置NVIC优先级5. 开启TIM4定时器6. 关闭TIM4定时器7. TIM4定时器中断服务函数8. 获取Echo时间9. 获取距离整合代码HC_SR04.cHC_SR04.husart.cusart.hmain.c测距完成HC_SR04实物图基本参数工作原理时序图超声波测距步骤1. 使能GPIO时钟、原创 2021-09-25 16:27:30 · 21850 阅读 · 40 评论 -
8. STM32——系统定时器SysTick
STM32——系统定时器SysTickSysTick 配置库函数SysTick 中断时间的计算SysTick 配置库函数__STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks){ // 不可能的重装载值,超出范围 if ((ticks - 1UL) > SysTick_LOAD_RELOAD_Msk) { return (1UL);} // 设置重装载寄存器 SysTick->LOAD = (uint32_t)(tick原创 2021-09-23 10:33:54 · 947 阅读 · 2 评论 -
7. STM32——定时器中断(1秒闪烁灯)
STM32——定时器中断(闪烁灯)基本框架1. 配置定时器时钟在 stm32f10x_rcc.h 头文件中查找相关函数函数2. 配置定时器结构体在 stm32f10x_tim.h 头文件中查找相关函数函数3. 开启定时器中断在 stm32f10x_tim.h 头文件中查找相关函数函数4. 配置中断结构体在 misc.h 头文件中查找相关函数函数TIM2_IRQn 在 stm32f10x.h 头文件中可以查找到5. 搭建定时器中断服务函数闪烁灯代码整合tim.ctim.hmain.c闪烁灯基本框架1. 配原创 2021-09-20 21:38:37 · 15371 阅读 · 4 评论 -
6. STM32——用串口发送数据点亮LED(串口的中断接收)
STM32——串口中断接收1. 配置 GPIO 时钟、串口时钟、复用时钟2. 配置 GPIO 结构体3. 配置串口1. 2. 3. 步骤基本框架在 [5. STM32——串口发送字符、字符串 + printf 的重定向](https://blog.csdn.net/weixin_46105931/article/details/120385156?spm=1001.2014.3001.5501)4. 配置中断 NVIC 抢占优先级在 misc.h 头文件中查找相关函数函数USART1_IRQn 在 stm3原创 2021-09-20 18:27:59 · 11678 阅读 · 4 评论 -
5. STM32——串口发送字符、字符串 + printf 的重定向
STM32——串口发送字符、字符串 + printf 的重定向基本框架1. 配置时钟:配置GPIO时钟、窗口时钟、引脚复用时钟2. 配置GPIO结构体在 stm32f10x_gpio.h 头文件中查找相关函数函数3. 配置串口结构体在 stm32f10x_usart.h 头文件中查找相关函数4. 串口的发送STM32 串口通信中 USART_FLAG_TC 与 USART_FLAG_TXE 区别在 stm32f10x_usart.h 头文件中查找相关函数基本框架整合代码usart.cusart.hmain.原创 2021-09-20 09:54:27 · 9474 阅读 · 1 评论 -
4. STM32——固件库外部 中断 EXTI和NVIC 震动感应灯
STM32——固件库外部 中断 EXTI和NVIC 震动感应灯1.配置 GPIOA12.配置 EXIT 外部中断结构体3.配置NVIC中断优先级结构体4.搭建中断函数服务函数exti.cexti.hmain.c1.配置 GPIOA1//1.配置GPIOA1GPIO_InitTypeDef shake_init;//1.1使能GPIOA时钟,设置复用,中断线输入 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);RCC_APB2Pe原创 2021-09-19 09:03:48 · 462 阅读 · 0 评论 -
3. STM32——固件库震动感应灯
固件库震动感应灯接线STM32 和 震动传感器 的接线STM32 和 继电器 的接线LED 和 继电器 的接线接线STM32 和 震动传感器 的接线VCC——3.3GND——GNDDO——GPIOA1STM32 和 继电器 的接线VCC——3.3GND——GNDIN——GPIOA3LED 和 继电器 的接线...原创 2021-09-18 17:31:05 · 442 阅读 · 0 评论 -
2. STM32——固件库点灯 + 呼吸灯
STM32——固件库点灯1. 新建固件库工程文件1.1 找到一个固件库模板1.2 打开 KEIL5 新建工程1.3 添加相关文件1.4 手动添加其他文件路径进来2. STM32固件库点灯2.1 在 User 底下创建 led 文件夹,led 文件夹创建 led.c .h 文件2.2 将 led.c 加入 USER 组2.3 添加 led.h 路径2.4 在 led.h 头文件中声明 LED_Init()函数(直接复制void LED_Init(void) + ;号)2.5 点灯开始2.5.1 使能APB2时原创 2021-09-17 13:21:38 · 2566 阅读 · 2 评论 -
1. STM32 环境搭建 + STM32 新建工程 + Yinyuer(ZCY) 的 STM32 寄存器首次点灯
1. STM32 环境搭建 + STM32 新建工程 + 寄存器点亮 LED 灯STM32 环境搭建安装 keil5下载安装芯片包百度网盘官网下载安装芯片包STM32 新建工程Yinyuer(ZCY) 的 STM32 寄存器首次点灯STM32 环境搭建安装 keil5百度云盘下载提取码:v2lp注意:安装路径不能出现中文下载安装芯片包百度网盘STM32F1xx_DFP.1.0.5.pack提取码:ot7hSTM32F4xx_DFP.1.0.8.pack提取码:di7e官网下载原创 2021-09-14 14:53:18 · 2176 阅读 · 4 评论
分享