[开发工具] 单片机IO口不够用了,怎么办?

[复制链接]
 楼主| gaonaiweng 发表于 2021-9-28 21:30 | 显示全部楼层 |阅读模式
STM32F103C8T6引脚不够!没关系,告诉大家该怎么解决。
96749615318e96930c.png
 楼主| gaonaiweng 发表于 2021-9-28 21:31 | 显示全部楼层
1 IO口扩展:

扩展的方法很多,锁存器;输出串并转换/输入并串转换;I²C总线等等……

不过公子一般都是喜欢采用138或者164来扩展的,以138为例,电路图如下:

968406153192827dc6.png
这款芯片的作用是把串行输入的数据并行输出。注意,它没有锁存功能,在允许输出的情况下,每一个时钟的上升沿,数据依次从最低位移向最高位。因此,在做数码管的输出显示的时候会出现拖影的想象,下面我们再看看它的真值表,有了真值表我们才知道如何正确的去编写程序去驱动它(其它复杂的器件还需要对照时序图编写相应的驱动程序)。

怎么样,这个表很简单吧,相信大家都能够看的懂。当Reset为低电平时不管时钟为高电平还是低电平也不管输入引脚A1,A2为何值,输出的并行数据均为低电平。当Reset为高电平时,只有在时钟的上升沿,A1A2上的值才被移位输出。看懂了这张表那么剩下的事情就好办多了。
346036153193be31ed.png
 楼主| gaonaiweng 发表于 2021-9-28 21:32 | 显示全部楼层
2 再接一个单片机:

当一个单片机的引脚不够的时候,需要在外接一个单片机就可以了,怎么操作呢?让两个单片机的TXD与RXD相连就可以了,不过,如果是两块单片机同时处理一个传感器(比如说:摄像头,TFT LCD),那么你需要考虑时序的问题,特别是当两块单片机的处理速度不一样的时候,这个需要特别注意。
 楼主| gaonaiweng 发表于 2021-9-28 21:33 | 显示全部楼层
3 端口复用与重映射:

大家听说这几个术语可能是在学习STM32的时候,那么我们以STM32为例。
 楼主| gaonaiweng 发表于 2021-9-28 21:34 | 显示全部楼层
端口复用

STM32用很多内置外设而且都是和GPIO复用的,也就是GPIO可以设置成一些常用的外设如串口的外设等等,数据手册有详细说明,需要时就查表。

84418615319ad0ec01.png
GPIO作为内置外设使用时就叫复用,也就是图中的默认复用功能,不把GPIO口当作单纯的I/O口而是赋予它一个外设的含义。
 楼主| gaonaiweng 发表于 2021-9-28 21:35 | 显示全部楼层
端口重映射
14286615319d72913e.png
端口重映射通过设置重映射寄存器的方式,把这个外设的接口映射到其它的端口,方便PCB布线,虚拟增加外设。

复用功能串口1是PA9 PA10,但是如果我们觉得PB6 PB7更方便是就可以重映射使用这两个I/O口,重映射还分完全重映射和部分重映射,完全重映射就是功能外设的所有引脚都全部映射,如果映射串口,那么串口所有相关外设都映射到,这就是完全重映射,否则只映射部分需要的就是部分重映射。
labasi 发表于 2021-10-11 16:41 | 显示全部楼层
我一般就外扩了
guanjiaer 发表于 2021-10-11 16:43 | 显示全部楼层
如果差的不多 可以复用
heimaojingzhang 发表于 2021-10-11 16:44 | 显示全部楼层
不推荐再接 一个单片机
keaibukelian 发表于 2021-10-11 16:46 | 显示全部楼层
也可以换一个单片机嘛
paotangsan 发表于 2021-10-11 17:00 | 显示全部楼层
视具体情况而定吧
andygirl 发表于 2021-10-14 10:59 | 显示全部楼层
这是系统设计,选型阶段干的事
可以换个芯片,也可以扩展,
看系统规划了
小叶三千 发表于 2021-10-14 13:16 | 显示全部楼层
输入输出IO可以外扩,外设IO不够了还是换单片机吧。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

79

主题

811

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部

79

主题

811

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部