专业知识不能忘,这一期讲讲单片机的知识,以stm32f103为例,谈谈。
基础知识
GPIO:(英语:General-purpose input/output),通用型输入输出。简单的说就是可以输入或者输出的端口。
输出模式:开漏输出、开漏复用功能、推挽式输出、推挽式复用功能
开漏输出:开漏输出只能输出低电平,类似于三极管的集电极,要输出高电平需要上拉电阻才能输出
我们先来说说集电极开路输出的结构。集电极开路输出的结构如图1所示,右边的那个三极管集电极什么都不接,所以叫做集电极开路(左边的三极管为反相之用,使输入为“0”时,输出也为“0”)。对于图1,当左端的输入为“0”时,前面的三极管截止(即集电极C跟发射极E之间相当于断开),所以5V电源通过1K电阻加到右边的三极管上,右边的三极管导通(即相当于一个开关闭合);当左端的输入为“1”时,前面的三极管导通,而后面的三极管截止(相当于开关断开)。
stm32f103的情况:
推挽式输出:两个参数相同的三极管或 MOSFET,以推挽方式存在于电路中,各负责正负半周的波形放大任 务,电路工作时,两只对称的功率开关管每次只有一个导通,所以导通损耗小、效率高。输出既可以向负载 灌电流,也可以从负载抽取电流。推拉式输出级既提高电路的负载能力,又提高开关速度。
复用输出
- GPIOx_CRL :端口配置低寄存器
- GPIOx_CRH:端口配置高寄存器
- GPIOx_IDR:端口输入寄存器
- GPIOx_ODR:端口输出寄存器
- GPIOx_BSRR:端口位设置/清除寄存器
- GPIOx_BRR :端口位清除寄存器
- GPIOx_LCKR:端口配置锁存寄存器