码迷,mamicode.com
首页 > 其他好文 > 详细

STM8入门到精通 1

时间:2015-06-12 00:37:29      阅读:335      评论:0      收藏:0      [点我收藏+]

标签:

GPIO 简介
GPIO用于单片机和外部设备进行传输数据。
当单片机GPIO设置为输出时,单片机可以输出任意数据到GPIO;当GPIO设置为输入单片机可以读取别的设备,传输到GPIO的数据。

STM8单片机每个端口有8个脚,每个管脚,可以独立编程为数字输入或者是数字输出,有些IO口还具有模拟输入,外部中断,片上外设等功能。

STM8GPIO各功能总结如下。

端口的各个位可以被单独设置,

输入模式可以选择,浮动输入、上拉输入
输出模式可以选择,推挽输出、开漏输出;
输出数据输入数据有单独寄存器。

外部中断可以单独使能,或者关闭。

输出频率可以设置,减少EMC

具有片上外设第二功能。

作为模拟输入模式时候,可以关闭施密特触发器降低功耗。

IO口工作电压是1.6  到 5v

浮动输入与上拉输入是 GPIO 作为输入时的两种方式,浮动输入是 GPIO 的管脚的电平状态是不确定的,容易受到外部电平的干扰;

上啦输入是IO口只有高或者低两种状态
一般IO口做中断输入时要设置为上拉输入,做AD时候设置为浮动输入

 

单片机的GPIO输出高电平时形成的电流我们称为拉电流。
输出低电平时形成的电流,我们称为灌电流。
推挽输出方式能够独立输出高电平和低电平,适合驱动数字器件。
开漏可以稳定输出低电平,能承受大的灌电流,但是开漏输出无法输出高电平,需要外接上啦电阻才可以输出高电平,输出的高电平,只有外接上拉电平决定,这种方式适合做电流型驱动。
寄存器
1 端口输出数据寄存器 Px_ODR 端口设置为输出模式时,写入此寄存器的数值会通过芯片内部锁存器加到对应管脚上,读此寄存器则返回之前存的值。
2 端口 X 输入寄存器 Px_IDR 管端口处于输入模式还是输出模式,都可以通过读该寄存器获取管脚的电平;返回 0 代表对应管
脚为逻辑低电平,返回 1 代表对应管脚为逻辑高电平。此寄存器只读。
3 端口 X 数据方向寄存器 Px_DDR 在程序中通过软件来将此寄存器的位置位或清零,可设置对应的管脚上的数据方向。当某位被设置
为 1 时,对应管脚为输出模式;当某位被设置为 0 时,对应的管脚为输入模式。
4 端口 X 控制寄存器 1 Px_CR1 端口控制寄存器 1 用来设置端口的某些功能。在端口为输入模式下,设置端口的上拉模式:0—浮空输入;1—带内部弱上拉输入;
在端口为输出模式下,设置端口为开漏输出或推挽输出: 0—模拟开漏输出;1—推挽输出;
端口 X 控制寄存器 2 Px_CR2
在端口为输入模式下,设置端口的中断:
0—禁止外部中断;1—使能外部中断;
在端口为输出模式下,设置端口的输出摆率:
0— 低速摆率,输出速度最大 2M;1—快速摆率,输出速度最大 10M;

使用GPIO的一些小提醒
1 复位之后,所有的GPIO均为悬浮输入模式
2 没有使用的管脚,必须链接到一个固定的电平。
3 低功耗模式Halt下,PA1,PA2如果被用来连接外部振荡器,为达到最低功耗,PA1,PA2需要设置为上拉输入;
④管脚复用功能的输入功能使用之前需要设置对应管脚为输入模式;
⑤管脚的外部中断对应管脚需要设置为输入模式;
⑥ADC 输入管脚推需要设置为不带中断浮空输入,推荐禁止施密特触发器;
⑦当管脚设置为 SPI 时,为达到最大性能,对应管脚必须设置为带上拉、快速摆率;
⑧复位之后,所有 GPIO 相关寄存器全部被清零;

STM8入门到精通 1

标签:

原文地址:http://www.cnblogs.com/xiangxiangyuan/p/4570386.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!