![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
STM32
大笨钟365
这个作者很懒,什么都没留下…
展开
-
STM32学习13:对射式红外传感器计次
当这种其他外设使用GPIO的情况,需要查阅STM32F10xxx参考手册,在GPIO章节下的“外设的GPIO配置”表中,有每个外设的各个引脚都需要配置的模式。总结:若想在主函数中查看或清除标志位,则需要162、163行,若想在中断函数里查看或清除标志位,则用164、165行。159行,对EXTI_InitStruct结构体里的参数配置EXTI外设,即初始化EXTI。361行,锁定GPIO配置:锁定某个引脚的配置,防止意外更改。365行,配置AFIO的数据选择器,来选择想要的中断引脚。原创 2024-03-15 14:57:40 · 485 阅读 · 0 评论 -
STM32学习12:旋转编码器
对STM32来说,旋转编码器的信号是突发且迅速的,同时它是外部驱动的,STM32只能被动读取。此时,可以考虑使用STM32的外部中断,一旦有脉冲,STM32就立即进入中断函数处理。不推荐使用外部中断来读取按键,因为外部中断不好处理按键抖动的问题。可以使在主程序循环中读取或使用定时器中断的方式读取。原创 2024-03-14 17:17:12 · 517 阅读 · 0 评论 -
STM32学习11:NVIC基本结构与EXTI外部中断
当主程序执行到某个地方时,外设的中断条件满足,则主程序立刻暂停,程序由硬件电路跳转到中断程序中当中断程序正在执行时,又有新的优先级更高的中断出现,则会打断中断程序的运行,执行新的中断一般中断程序都会在一个子函数中,这个子函数不需人为调用,当中断来临时,硬件自动调用此函数。原创 2024-03-14 17:16:17 · 404 阅读 · 0 评论 -
STM32学习10:调试与OLED显示屏
左图是4针脚版本的OLED,其中,SCL和SDA是I2C的通信引脚。由于江协科技给的驱动函数模块使用的是GPIO口模拟的I2C通信,所以这两个引脚可以接在任意的GPIO口上。右图是3针脚版本的OLED,其中,D0、D1、RES、DC和CS是SPI的通信引脚,也可以由GPIO口模拟通信协议。此图是江协科技提供的OLED驱动函数。原创 2024-03-13 15:07:26 · 396 阅读 · 0 评论 -
STM32学习9:模块化编程
分别添加各个模块的.c和.h文件。.c用来存放驱动程序的主体代码,.h用来存放这个驱动程序可以对外提供的函数或变量的声明。3、在main.c文件里,写上#include "LED.h",并在主函数中调用LED _Init()并编译。当使用外设模块较多时(比如LED和按键),可以分别将其驱动代码封装起来。原创 2024-03-13 01:39:09 · 362 阅读 · 0 评论 -
STM32学习8:C语言数据类型、宏定义、typedef与结构体及枚举
51单片机中int占16位,STM32中int占32位。推荐使用stdint.h文件对这些数据类型的重命名。typedef专用于对数据类型重命名。原创 2024-03-12 21:25:56 · 386 阅读 · 0 评论 -
STM32学习7:按键与传感器
第四张小图外接了一个下拉电阻,当按键按下时引脚接到了3.3V,所以引脚为高电平。当按键松开时,引脚由于下拉作用,保持为低电平。第二张小图外接了一个上拉电阻,当按键按下时引脚接到了GND,所以引脚为低电平。当按键松开时,引脚由于上拉作用,保持为高电平。当按键按下时,PA0被下拉到GND,当按键松手时,PA0被上拉到高电平。第五张小图是传感器模块电路,DO数字输出接一个端口(如PA0),用于读取数字量,AO模拟输出涉及ADC模数转换器,暂不讨论。当按键按下时,引脚为高电平,松手时引脚为低电平。原创 2024-03-12 21:13:49 · 379 阅读 · 1 评论 -
STM32学习6:Delay延时函数与GPIO初始化及调试端口
在Delay.h文件中,有三个延时函数:在Delay.c文件中,可以看到该函数是用SysTick定时器实现的延时:使用Delay延时函数模块时,需要在main.c文件上方写上:GPIO初始化复制结构体名字后,可以用“.”将结构体的成员都引出来: 在开启时钟时,可以使用“按位或”来同时选择多个外设:在赋值GPIO引脚时,也可以使用“按位或”来同时赋值多个引脚:或直接赋值所有引脚:原创 2024-03-12 14:55:19 · 850 阅读 · 1 评论 -
STM32学习5:GPIO输入输出函数
其中,最常用的是692、693、694行函数,即RCC AHB外设时钟控制、RCC APB2 外设时钟控制、RCC APB1 外设时钟控制,它们均可通过在编译后右键函数跳转到定义来查看。2、使用GPIO_Init函数初始化GPIO。351行:用结构体的参数来初始化GPIO口。这里总共涉及到RCC和GPIO两个外设。3、使用输出或输入函数控制GPIO口。349行:将指定的GPIO外设复位。353~356行:GPIO读取函数。357~360行:GPIO写入函数。1、使用RCC开启GPIO时钟。原创 2024-03-12 13:17:38 · 516 阅读 · 1 评论 -
STM32学习4:LED与蜂鸣器
2、无源蜂鸣器:内部不带震荡源,需要控制器提供震荡脉冲才可发声,调整提供震荡脉冲的频率,可发出不同频率的声音。1、有源蜂鸣器:内部自带震荡源,将正负极接上直流电压即可持续发声,频率固定,低电平触发(鸣响)。LED:发光二极管,只有正向导通时才亮。原创 2024-03-09 17:32:27 · 302 阅读 · 1 评论 -
STM32学习2:芯片的命名规则与C8T6引脚定义及启动配置
来源:江协科技PPT。原创 2024-03-09 15:35:58 · 430 阅读 · 1 评论 -
STM32学习3:系统结构与GPIO输入输出
可以作为通信协议的驱动方式。GPIO在输入模式下可以读取端口的高低电平或电压,用于读取按键输入、外接模块电平信号输入、ADC电压采集、模拟通信协议接收数据等。ps:在8种模式下,只有模拟输入模式会关闭施密特触发器,这种模式使得GPIO能够直接接收模拟信号,而无需经过数字转换。GPIO在输出模式下可以控制端口输出高低电平,用以驱动LED、控制蜂鸣器、模拟通信协议输出时序等。3、浮空输入:当外部没有信号输入时,引脚电平状态不稳定,容易受到外部噪声的干扰。2、下拉输入:可读取引脚电平,引脚悬空时默认输入低电平。原创 2024-03-09 17:06:01 · 372 阅读 · 1 评论 -
STM32学习1:主流系列与外设
STM32:ST公司开发的一款基于ARM Cortex-M内核开发的32位微控制器。(注:STM32学习系列是本人看江协科技的课所记的笔记)4、ROM程序存储器:64K(Flash)5、供电:2.0~3.6V(标准3.3V)3、RAM运行内存:20K(SRAM)1、内核:ARM Cortex-M3。主流系列:STM32F1。6、封装:LQFP48。2、主频:72MHz。原创 2024-03-09 15:20:57 · 611 阅读 · 1 评论