STM32学习笔记 输入(1)

使用的是野火F429,哎就是好久没摸了要再重头炒回锅肉,老菜鸡了,这次想慢慢的基础一下。
一、下载准备
1.串口下载:要配置一下boot0,boot1;我当时没有把boot1置高,半天接收不到数据,下载不了程序。
但是如果BOOT0不接到GND,重启就看不到效果了…真的很鸡肋…就不停的换过去换过来,太麻烦了!。在这里插入图片描述2.DAP下载
一根接USB转串口给底板供电。但是有的时候我在按settings老是IDE要闪退,我看的是网上说的是 在工程路径下找到与项目同名的 .UVOPTX 文件 uvoptx文件记录了工程的配置选项,如下载器的类型、变量跟踪配置、断点位置以及当前已打开的文件等等,闪退的原因就是这个文件引起的 删除后 重新编译保存项目便可解决闪退奔溃问题。但是呢我还是要闪退,先放着明天来解决一下吧。
(明天:我把整个MDK和C51卸载了重新来了一遍…就好了QWQ)

在这里插入图片描述在这里插入图片描述在这里插入图片描述二、固件库准备
在这里插入图片描述
可以利用固件库里面的库文件进行库的查询,里面怎么用那些函数都写得很清楚。
三、GPIO
在这里插入图片描述最右边是外部引脚,左边是内部结构,方便我们理解什么是开漏、推挽和禁止模式。之前其实一直都没有好好分析过这些结构,但是学了模电了数电(ing)以后,一切都变得很好玩了。
在这里插入图片描述在这里插入图片描述
这里的结构就是要给GPIO一个确定的电压进去,低电平下拉都是在一个范围内的。使它拥有一个默认的状态。
2. P-MOS 管和N-MOS 管
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
其实掰扯半天记得住实用的场合就行了:
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述四、代码部分
一些常用的结构体指针指向的寄存器。
A.
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述(英文中―Set‖表示“置位”,即高电平,“Reset”表示“复位”,即低电平)

首先我们需要定义并初始化GPIO结构体,一共有5个步骤:且不希望每次用到都要去查找这些索引值,所以使用C 语言中
的枚举语法定义这些参数。
在这里插入图片描述在这里插入图片描述这样我们的GPIO_InitTypeDef 结构体也可以使用枚举类型来限定输入。
在这里插入图片描述
在这里插入图片描述B.字符类型的规定在这里插入图片描述
那么针对我们这些改代码的,只需要修改一下四个C文件。其他的不用做任何修改。除了系统时钟以外。
在这里插入图片描述在这里插入图片描述可以在库的上述栏目进行查询固件库函数的使用方法。
C一个工程中包括的有
在这里插入图片描述我要动的部分:
在这里插入图片描述五、实战
1.点亮一个RGB灯,说实话我想搞个黑色或者粉红色也行啊!
在这里插入图片描述代码部分:
在USER文件夹下创建一个LED文件夹存放bsp_led.c/bsp_led.h的文件用于用户自定义。
为了规范,首先我们要写的是 bsp_led.h里面的宏定义
在这里插入图片描述
其中的GPIO 时钟宏“RCC_AHB1Periph_GPIOH”“RCC_AHB1Periph_GPIOD”是STM32 标准库定义的GPIO 端口时钟相关的宏,所以在写头文件的时候也要引用GPIO和RCC两个头文件。
在这里插入图片描述我们进入RCC的宏里面可以发现,GPIOA–K都在AB1里面,其他的用到再慢慢记。
在这里插入图片描述其次就是***控制RGB混色的宏***,先不用PWM做。
在这里插入图片描述

然后就是对GPIO端口使能
特别要强调一下输入有上拉,下拉,浮空模式。这里指的是在没有输入的时候,该管脚的状态。比如这个LED我们最开始的时候坑定是期望他关上的,那么就应该设置为上拉模式,这是没有输入的高电平状态不导通。
最主要区别在于没有输入信号的时候默认输入高电平(因为有弱上拉)。下拉输入模式:区别在于没有输入信号的时候默认输入低电平(因为有弱下拉)。对于浮空输入模式顾名思义也就是输入什么信号才是什么信号,对于浮空输入要保证有明确的输入信号。
在这里插入图片描述最后在Main里面进行调用即可,这个程序出来的应该是黄光。
在这里插入图片描述
那现在我们走吧~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
嗨!对于学习STM32笔记,我可以给你一些基本的指导。首先,你需要了解STM32是一系列由STMicroelectronics公司开发的32位微控制器。它们具有广泛的应用领域,包括嵌入式系统、物联网和工业自动化等。 在学习STM32时,你可以按照以下步骤进行: 1. 硬件准备:获取一块STM32开发板,例如STM32F4 Discovery或NUCLEO系列。这些开发板通常带有一些外设和接口,便于学习和实验。 2. 开发环境搭建:下载并安装Keil MDK或者IAR Embedded Workbench等集成开发环境(IDE)。这些IDE提供了编译器、调试器和其他工具,方便你编写和调试STM32的代码。 3. 学习基本知识:了解STM32的体系结构、寄存器和外设等基本知识。可以通过阅读相关的参考手册、数据手册和应用笔记来深入了解。 4. 编写代码:使用C/C++语言编写STM32的应用程序。你可以使用相关的库函数来简化开发过程,如标准外设库(StdPeriph Library)或者新的STM32Cube库。 5. 调试和测试:使用调试器和仿真器来调试和测试你的代码。这些工具能够帮助你单步执行代码、观察寄存器和内存的状态,以及检查外设的操作。 6. 实践项目:尝试一些小型的项目,如LED闪烁、按键输入和PWM输出等,以巩固你的学习成果。随着经验的积累,你可以尝试更复杂的项目,如通信接口、传感器应用和无线通信等。 记得在学习过程中多查阅官方文档、参考资料和在线论坛,以便解决遇到的问题。祝你学习STM32的旅程愉快!如果你有具体的问题,欢迎随时向我提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值