32开发板的基础学习

GPIO的八种工作模式

输出模式

推挽输出

Push-Pull,pp 让输出控制变成了 VDD/VSS 输出,使得输出电流增大
提高了输出引脚的驱动能力,提高了电路的负载能力和开关的动作速度

开漏输出

(Open-Drain,OD) 推挽输出模式可以直接输出高电平,开漏输出需要外接上拉电阻才能输出高电平
开漏输出的特性
利用外部电路驱动能力
实现电平转换
方便实现 逻辑与 功能

复用推挽/开漏输出

Alternate Funtion,AF
GPIO 除了作为通用输入输出引脚使用以外,还可以作为片上外设( USART,IIC,SPI
专用引脚,即一个引脚可以有多种用途,但是同一时刻一个引脚只能使用复用功能中
的一个
当引脚设置为复用功能的时候,可选择推挽复用模式或者复用开漏模式,在设置为复用开
漏模式时,需要外接上拉电阻。

输入模式

上拉输入

VDD 经过开关、上拉电阻,连接外部 I/O 引脚。当开关闭合时,外部 I/O 输入信号时,默认
输入高电平

下拉输入

VSS 经过开关,下拉电阻,连接外部 I/O 引脚,当开关闭合时,外部 I/O 无输入信号
时,默认输入低电平

浮空输入

两个上下拉电阻开关均断开,没有上拉也没有下拉, I/O 引脚直接连接 TTL 肖特基触发
器此时,I/O 引脚浮空,读取的电平是不确定的,外部信号是什么电平, MCU 引脚就输
入什么电平MCU复位上电后,默认为浮空输入模式

模拟输入

两个上下拉电阻开关均断开,同事 TTL 肖特基触发器也断开,引脚信号直接连接模拟
输入,实现对外部信号的采集

LED灯

固件库实现LED灯点亮
在主函数中使用,注意是低电平点亮还是高电平点亮,可以仔细看看电路图

振动器

自己可以写一个小项目,同时初始化继电器和振动器,当发生震动时,继电器的灯被点亮,亮的时间持续一秒,然后熄灭

蜂鸣器

蜂鸣器的种类

蜂鸣器是一种常用的电子发声元器件,采用直流电压供电。广泛应用于计算机,打印
机,报警器,电子玩具,汽车电子设备灯等产品中常见的蜂鸣器可分为有源蜂鸣器和
无源蜂鸣器。

蜂鸣器的控制方式

有源蜂鸣器:内部有震荡源,只要通电即可自动发出固定频率的声音。(频率固定无
法控制音色)
无源蜂鸣器:内部无震荡源,需要外部脉冲信号驱动发声,声音频率可变。(可改变
频率来改变音色)

区分蜂鸣器

从外观上来看两种蜂鸣器形状相似,有源蜂鸣器底部有黑胶密封。
无源蜂鸣器底部可以看到电路板,两种蜂鸣器都标注有正负极。

按键

外部中断
在我自己第一次写的时候就是忘了加复用,导致继电器一直不亮。
写完之后一定别忘了加复用
在初始化NVIC之前,要在前面加上一个组的初始化

串口通信

TX是输出,RX是输入
输入的时候可以不用加speed
在初始化串口之后要调用
USART_Init和USART_ITConfig(配置串口的中断)最后再来一个使能cmd就好了
在此基础上
这个是自己封装的发送单个字节的函数,发送完成后再清除标志位就好了
这个是自己封装的一个发送字节的函数
用一个do while循环,将其全部发送,判断的结束标志就是'\0'

还弄了一个printf的重定向

 

定时器中断

定时器的种类

计数器模式

通用定时器可以向上计数、向下计数、向上向下双向计数模式

向上计数模式

计数器从0计数到自动加载值(TIMx_ARR),然后重新从0开始计数并且 产生一个计数器溢出事件

向下计数模式

计数器从自动装入的值 (TIMx_ARR) 开始向下计数到 0 ,然后从自动装入的值重新开始,并产生一个计数器向下溢出事件

中央对齐模式(向上/向下计数)

计数器从 0 开始计数到自动装入的值 -1 ,产生一个计数器溢出事件,然后向下计数到1 并且产生一个计数器溢出事件;然后再从 0 开始重新计

定时时间的计算

PWM

PWM输出模式

PWM 输出就是对外输出脉宽(即占空比)可调的方波信号,信号频率由自动重装载
ARR 的值决定,占空比由比较寄存器 CCR 的值决定。

pwm输出时需配置TIM_OCInitTypeDef结构体的参数

因为上面选的通道是PWM1,所以是低电平有效,所以要定义为LOW

强调一下,所有的函数初始化完成后都需要调用Init函数,如果是包含中断的话,自己可以在去查看函数的定义,上面的一些强调点都是本人在写代码中遇到的实际问题,可以仔细看看。

  • 18
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值