- 简述:
- 针对8S每个I/O端口可以包括多大8个引脚,每个引脚可以被独立编程做为数字输入、输出接口;扩展功能使用:模拟输入、外部中断、片上外设的输入/输出等复用功能;
-
GPIO端口位操作方法:
-
_Bool 自定义位名称 @ 寄存器:位数;
-
例如:_Bool GPIO_Led @PB_ODR:5;
-
- 端口寄存器:
- 输出数据寄存器 Px_ODR
- 输入引脚寄存器 Px_IDR
- 选择寄存器 Px_CR1
- 配置寄存器 Px_CR2
- 数据方向寄存器(决定是IO是输入还是输出) Px_DDR
- 主要功能:
- 输入模式:浮动输入、上拉输入
- 输出模式:推挽输出、开漏输出
- 外部中断可单独使能和关闭
- I/O复用
- 模拟输入时可以关闭输入施密特触发器来降低功耗
- 输入兼容5V电压(部分管脚支持,详见datasheet)
- I/O工作电压范围为1.6V---VDD i/o -Max
- 寄存器篇:
- Px_ODR 输出数据寄存器(7---0高位在前)
- Px_IDR 输入数据寄存器
- Px_DDR 数据方向寄存器
- 0:输入模式
- 1:输出模式
- Px_CR1 端口控制寄存器1
- 当DDR = 0时(输入模式);
- 0:浮空输入
- 带上拉电阻输入
- 当DDR = 1时(输出模式);
- 0:模拟开漏输出(非真正的开漏输出)
- 1:推挽输出,由CR2相应的位做输出速率控制;
- 当DDR = 0时(输入模式);
- Px_CR2 端口控制寄存器2
- 当DDR = 0时
- 0:禁止外部中断
- 1:使能外部中断
- 当DDR = 1时
- 0:输出速度最大为2Mhz
- 1: 输出速度最大为10Mhz
- 当DDR = 0时
- 初始化顺序
- 选择相应I/O管脚
- 设置为输入/输出/复用模式
- 上拉、推挽
- 访问端口数据
- 例程:
-
_Bool GPIO_Led @PA_ODR:1; //led为输出, 1亮0灭; _Bool GPIO_Button @PA_IDR:2; //Button为输入 /************************************************** * 函数名: * 描述 : * 输入 :无 * 输出 :无 * 返回 :无 * 调用 :内部调用 **************************************************/ void GPIO_Init(void) { //PA1设置为输出模式,接led灯的正极; PA_DDR |= 0x01<<1; //PA1输出,其它引脚不改变,1出0入; PA_CR1 |= 0x01<<1; //PA1推挽输出,其它引脚不变; PA_CR2 |= 0x01<<1; //PA1输出速度10Mhz;其它引脚不变; GPIO_Led = 0; //上电不亮,1亮0灭; //PA2设置为输入模式 PA_DDR &= 0xfe<<2; //PA2输入,其它引脚不改变,1出0入; PA_CR1 |= 0x01<<2; //PA2上拉电阻输入, PA_CR2 &= 0xfe<<2; //PA2禁止外部中断; GPIO_Button = 1; //上电高电平,低电平有效 }
-
- 总结:
- 每个I/O端口都有5个寄存器;默认/初始复位时,所有引脚设置为浮空输入,每个寄存器全部为0;
- 浮动输入与上拉输入是GPIO作为输入时的两种工作方式,
- 浮动输入时:GPIO管脚电平状态是不确定的,容易受到外部电平的干扰;
- 上拉输入时:管脚的电平则只有高电平或者低电平两种确定的状态,一般I/O做外部中断输入时要设置为上拉输入,做AD转换时要设置为浮动输入;
- 推挽输出与开漏输出则为GPIO输出的两种方式
- 单片机的GPIO输出高电平形成的电容我们称为拉电流;
- 输出低电平时形成的电流,我们称为灌电流,
- 一般将拉电流和灌电流作为评价一个单片机端口驱动能力的指标
- 对于驱动能力不足的单片机,我们可以增加推挽或开漏电路来增加端口的驱动能力;
- 推挽输出方式能够独立的输出高电平和低电平,适合驱动数字器件;开漏输出可以稳定的输出低电平,能承受大的灌电流,但是开漏输出无法输出高电平,需要外接上拉电阻才可以输出高电平,输出的高电平则有外接的上拉电平决定,这种输出方式适合做电流型驱动;
- 工具篇:
- 有两种开发工具:
- ST Visual Develop Version 4.3.2
- IAR
- 有两种开发工具:
- 参考资料:
- 风驰开源STM8寄存器版本例程
- STM8中文参考手册
- STM8数据手册
- STM8S库函数中文参考.exe
- 程序
- 库函数
- 寄存器(本笔记依据寄存器编写)
【5】STM8——————8S GPIO操作
最新推荐文章于 2023-07-22 16:21:00 发布