找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1965|回复: 14
收起左侧

问一个很蠢得问题,求大神解释一下 工程里面的2个单片机芯片如何交流?

  [复制链接]
ID:653604 发表于 2020-11-11 16:51 | 显示全部楼层 |阅读模式
如果我一个工程里面需要有2个或者多个芯片,我需要对2个芯片都进行编程然后烧录?
如果需要的话,这些芯片是需要怎么样子进行交流,然后实现最终得功能!
回复

使用道具 举报

ID:654028 发表于 2020-11-11 18:59 | 显示全部楼层
通信协议,可以自己定,也可以用iic或者spi啥的
回复

使用道具 举报

ID:180919 发表于 2020-11-11 22:25 | 显示全部楼层
这个要看应用需要了,简单的用IO就行了,也可以用数据传输的几个协议
Uart
I2S
I2c
SPI
距离无的话也可以用485
回复

使用道具 举报

ID:547021 发表于 2020-11-12 10:54 | 显示全部楼层
两个单片机之间的通信方式有非常多种,最常见比如串口,IIC,SPI
回复

使用道具 举报

ID:367934 发表于 2020-11-12 13:33 | 显示全部楼层
比较多的使用串口进行芯片与芯片之间进行通信。
回复

使用道具 举报

ID:396065 发表于 2020-11-12 13:49 | 显示全部楼层
两个什么芯片
回复

使用道具 举报

ID:592807 发表于 2020-11-12 13:50 | 显示全部楼层
心有浮生 发表于 2020-11-11 18:59
通信协议,可以自己定,也可以用iic或者spi啥的

如果是数据传输的话,建议别自己写,用SPI 串口比较好。自己写适用于少量的数据输送
回复

使用道具 举报

ID:607298 发表于 2020-11-12 14:06 | 显示全部楼层
通常都是制定协议通讯实现,这种每个芯片都要烧录程序。
当然也有支持级联的芯片,多个芯片可以级联到一块,芯片间数据可以直接读取,程序也可以只烧录一次即可。
回复

使用道具 举报

ID:687694 发表于 2020-11-12 15:34 | 显示全部楼层
这样子问恐怕并不能得到你想要的答案,芯片间的交流就像人与人交流用人类语言(英语,中文等等),芯片间用的是机器语言,简单的交流,你可以为它们定义语言比如一组8位0/1数字有256的数,每个数字代表一种意思。一组8位0/1数字记作1字节数据,一般机器交流256种表达意思够用了,那么它们之间采用I/O口直接连接就可以交流,当然也可以使用通用交流通道,I2C,SPI,UART等等,至于这些通道传输交流数据,由你来定。
例如:00000001:表示我已准备好!又例如:10000000:代表启动自毁程序。。。等等。。。
回复

使用道具 举报

ID:653604 发表于 2020-11-12 15:34 | 显示全部楼层
lightday 发表于 2020-11-12 14:06
通常都是制定协议通讯实现,这种每个芯片都要烧录程序。
当然也有支持级联的芯片,多个芯片可以级联到一块 ...

好的谢谢!那我懂了!
回复

使用道具 举报

ID:653604 发表于 2020-11-12 15:35 | 显示全部楼层
谢谢各位大神的解答,我就不一一回复了!
回复

使用道具 举报

ID:313791 发表于 2020-11-12 18:23 | 显示全部楼层
我们甚至做个用一个单片机烧另一块单片机,同时可以通信,也试过单片机与FPGA的通信
回复

使用道具 举报

ID:846082 发表于 2020-11-20 18:17 | 显示全部楼层
我认为应该是用串口。
回复

使用道具 举报

ID:653604 发表于 2020-11-24 11:55 | 显示全部楼层
lovexulu 发表于 2020-11-12 15:34
这样子问恐怕并不能得到你想要的答案,芯片间的交流就像人与人交流用人类语言(英语,中文等等),芯片间用 ...

谢谢大佬,我大概懂你们的意思了。就是说多芯片之间如果要进行数据交换通信的话,就需要一种协议(这个协议可以是自己制定的,也可以使用通用的协议比如I2C,SPI等等)。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表