标题: 两个单片机互相通信问题 [打印本页]

作者: forest415    时间: 2020-7-25 21:04
标题: 两个单片机互相通信问题
请问怎么两个单片机通讯啊STC的,比如U1输出一个低电平让U2检测,U2检测到了延时5秒钟输出高电平给U1。我把IO口连在一起不起作用啊
下面是U1
  1. if(p37==1){
  2. p01=0;delayms(35);p01=1;p37=0;}//
  3.                                 }
复制代码
下面是U2
  1. while(1){if(p37==0){delayms(5000);p37=1;}}
复制代码





作者: forest415    时间: 2020-7-25 21:05
while(1){if(p37==0){delayms(5000);p37=1;}}
作者: wulin    时间: 2020-7-26 06:57
楼主设想的就是单总线通讯的雏形。U1输出一个低电平并维持一段时间保证能让让U2检测到后恢复高电平(释放总线),U2检测到了U1发送的低电平后延时一段时间等待U1释放总线后U2输出低电平并维持一段时间保证能让U1检测到后恢复高电平(释放总线)。这时U1检测到的低电平就是U2的回应,祝贺你通讯成功!当然要完成实用的通讯内容比这要复杂得多-----叫做通讯协议。
作者: Wprogrammer    时间: 2020-7-26 09:17
比较通用的有串口协议   这样能传输更多的内容
作者: yoxi    时间: 2020-7-26 14:22
不要只整if,else也要整进去,不能只想着可能发生的情部分不理未发生的情况,你把这些逻辑关系想清楚了就很容易做出你想要的事物
作者: baiyun1234    时间: 2020-7-27 11:00
你的两个单片机需要共GND,或者是一个电源系统也行。这样你的I/0直接连就没问题。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1