数据手册的使用
这个是STM32F103ZET6的数据手册关于GPIO的引脚说明;我的是144引脚的
这个数据手册的名字叫:STM32F103xCDE_DS_CH_V5
STM32的输出最多只有3.3V,但是STM32的输入最大可以是5V,也就是FT,容忍5V,不带FT的只能接入3V电压
keil的使用
关于具体keil的界面的各个功能可以参考以下这篇文章:keil工程目标选项配置:Options for Target_keil target设置-CSDN博客Keil中Options for Target的 C/C++选项配置_one elf section per function 不优化_MrZhanghx的博客-CSDN博客keil工程目标选项配置:Options for Target_keil target设置-CSDN博客
GPIO通用输入输出口
GPIO位结构
1.保护二极管(它的作用是对输入电压进行限幅,上面的Vdd=3.3v,下面的Vss=0)
功能:如果输入的电压比3.3v还要高,上面的这个二极管就会导通,输入电压产生的电流就会直接往Vdd去,而不进入内部电路(避免过高电压对内部产生伤害);如果输入电压比0v还要低,电流就会直接从Vss流出去,而不会从内部电路汲取电流,也可以保护内部电流;如果输入电压在0V-3.3V之间两个二极管都不导通
2.上拉电阻和下拉电阻
这两个阻值都比较大,是一种弱上拉和弱下拉,上拉输入高电平,下拉输入低电平;都断开(浮空输入模式
3.输出数据寄存器
通过选择这个寄存器输出就是普通的IO输出,写这个数据寄存器的某一位就可以操作对应的端口了
因为它是同时控制16个端口,并且这个寄存器只能整体读写
位带:在STM32中,专门分配的有一段地址区域,这段地业映射了RAM和外设寄存器所有的位,读写这段地址中的数据,就相当于读写所映射位置的某一位)
4.位设置清除寄存器:可以单独操作输出数据寄存器的某一位而不影响其他位
5.施密特触发器
6.MOS管