【求助】SOC中的 GPIO 有什么用?

SOC小白 2019-07-15 09:48:41
最近在学习soc设计的知识,看到很多芯片都通过APB总线接了个GPIO,请问这个gpio具有什么功能?有什么用途?

根据我的了解 gpio可以配置为input、output。
作为input的时候,通过gpio_in 进来的数据去哪里了呢?
作为output的时候,输出的数据从哪里来呢?
另外gpio里的中断模块可以根据gpio_in产生中断,莫非gpio的另一用途是根据输入信号产生中断信号?

请各位大佬指教
...全文
567 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
fly 100% 2019-07-17
  • 打赏
  • 举报
回复
最重要的作用还是输入的中断,用作检测输入状态
TXGO 2019-07-16
  • 打赏
  • 举报
回复
GPIO是通用输入输出引脚,通常用于控制外设,举个例子,输入可用于按键,输出可用于指示灯。soc通过寄存器操作GPIO,寄存器某位置1,输出引脚输出高电平,置0,输出低电平;输入引脚高电平,寄存器某位为1,SOC可通过查询得到输入引脚的值。得到输入引脚的值还可以通过中断,中断可以使soc快速响应输入引脚的电平变化。
TXGO 2019-07-16
  • 打赏
  • 举报
回复
对的,GPIO跟寄存器值对应,可以CPU读取寄存器得到输入引脚的电平,也可以忽视,CPU向寄存器写值,输出引脚产生相应的电平。中断是发给CPU的信息举个,例子,设置引脚高电平中断,当该引脚高电平时,CPU会执行对应中断函数,在中断程序里可以写入在该情况下想要执行的操作
TXGO 2019-07-16
  • 打赏
  • 举报
回复
对的,GPIO跟寄存器值对应,可以CPU读取寄存器得到输入引脚的电平,也可以忽视,CPU向寄存器写值,输出引脚产生相应的电平中断。是发给CPU的信息个件,例子,设置引脚高电平中断,当该引脚高电平时,CPU会执行对应中断函数,在中断程序里可以写入在该情况下想要执行的操作
SOC小白 2019-07-16
  • 打赏
  • 举报
回复
可不可以这样理解:输入可用于按键:芯片pad接按键,pad上的数据通过gpio_in 进入gpio IP, 然后通过apb总线将gpio IP 内的数据读入CPU。 输出可用于指示灯:芯片pad接指示灯,cpu通过apb总线将数据写进gpio IP,然后数据通过gpio_out进入pad。 以上论述是否正确?请指点 另外,根据输入引脚值产生中断时,apb总线读出的时中断信息还是引脚值?

6,169

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 硬件设计
社区管理员
  • 硬件设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧