历史上的今天
今天是:2024年09月24日(星期二)
2021年09月24日 | STM8S专题之GPIO输入输出
2021-09-24 来源:eefocus
简介
单片机的GPIO引脚由于内部电路不同具有不同的模式,一般分为输入模式和输出模式。输入模式有悬浮输入、上拉输入。输出模式有推挽输出、开漏输出。
如果GPIO引脚作为模拟信号输入设置为悬浮输入,作为I2C数据通信设置为开漏输出模式,作为方波输出设置为推挽输出模式。

原理
悬浮输入
悬浮输入模式下,电路的引脚电平状态不确定,它跟随外部信号的变化而变化,适用于模拟信号输入采样。

上拉输入
上拉的作用就是将引脚的不确定电平通过一个上拉电阻确定为高电平状态,同理,下拉作用则是通过一个下拉电阻将引脚电平拉到低电平。一般来说上拉作用强弱与上拉电阻阻值和上拉电阻端电源电压有关,电压一定时,阻值越小上拉作用越强。同理下拉时阻值越小下拉作用越强。

推挽输出
推挽输出模式下,内部电路由两个三极管或mos管轮流导通输出高低电平,即在每一时刻只有一个管子处于导通状态。如图所示PMOS管导通,NMOS管关闭,输出高电平,NMOS管导通,PMOS管关闭,输出低电平。推挽输出的特点是提高负载驱动能力,提高开关速度。

开漏输出
开漏输出是MOS漏极处于开路状态,无法输出高电平,如果需要得到确定的高电平状态需要外接上拉电阻,适合于电流型的驱动,吸收电流能力强。

寄存器

STIM8单片机GPIO配置表

数据方向寄存器 Px_DDR

控制寄存器1 Px_CR1
输入/输出模式设置

控制寄存器2 Px_CR2
用于输入模式时中断使能,输出模式时输出速率设置


输入数据寄存器 Px_IDR

输出数据寄存器 Px_ODR

流程
上一篇:STM8S专题之ADC数据转换
下一篇:TIM1输入捕获测量方波信号周期
史海拾趣
|
请问有没有参加过会问嵌入式培训班的,感觉怎么样?能不能推荐几个实力强的培训班? 参加过的朋友能不能留下联系方式,或者加我QQ:404099141。 感激不尽!!… 查看全部问答> |
|
有篇文章说在开发过程中软件分为三部分,bootrom,vxworks和用户程序。bootrom固化在单板rom。开发完后,软件分为bootrom和vxworks(+自启动用户程序)两部分 在另一篇文章中说到,可引导镜像(Bootable Image) :是将引导程序和vxWorks融为一体的 ...… 查看全部问答> |
|
我用一个最简单的程序; #include main() { while(1); } 在小模式先编译是没有任何问题的,但是我在Project 窗口中包含汇编代码的 C 文件上右键,选择“Options for ...”,点击右边的“Generate Assembler SRC File”和“Assemble SR ...… 查看全部问答> |
|
SI4735 SI4713( 功能很全的单芯片fm,am,sw接收芯片和fm收发芯片)哪有卖? SI4735 SI4713哪有卖?功能很全的fm,am,sw接受芯片和fm发射芯片 [ 本帖最后由 ssawee 于 2010-12-11 15:12 编辑 ]… 查看全部问答> |
|
问:我在ISE4.1中,用fpga express verilog编译的某些文件,用modelsimxe只能前仿,不能后仿,不知5.1i是否有改进? 答: 4.1i支持用Modelsim XE实现行为级仿真和时间仿真,5.1I也同样。请用热线(china_support@xilinx.com)打开一个例子并在4.1i/M ...… 查看全部问答> |
|
lm3s9b96 usb bulk如何修改端点! 我看官方的dk-lm3s9b96\\usb_dev_bulk案例是! in 是1端点,并且out也是1端! 请问版主! 在哪里修改端点呢! 我要修改成:端点1为in,端点2为out。 我将官方的源码奉上! 希望路过的大侠能提示我一下! ...… 查看全部问答> |
|
熟悉ti c6000系列dsp芯片开发流程和程序设计。 熟悉心电算法的基本理论。 主要是开发dsp的心电算法实现,能测试得到心电波形和数据。 有感兴趣的,加qq 82145215详谈… 查看全部问答> |




