AVR复习笔记--AVR单片机SPI多机通讯【包括数据回传与接收】【0926】

 

AVR复习笔记—SPI多机通信

    最近决定复习下AVR单片机,其实也是为了借此复习下几种简单的通信协议,包括串口,SPI,IC等。

    本来以为一两个晚上就能搞定的事儿,没想到竟耗费了一周晚上空余的时间。

当然主要是这次的要求要提高点,实现SPI的多机通信,

不但要发数据还要回传数据。

实际中还是遇到了比我想象中要大的多的困难。

即使是现在的实现方式也不是很理想。

下面是spi部分的代码,由于spi接收发送用的同一终端,感觉使用起来形式不怎么样,还是采用了轮询标志位的方式

Code



 

在我的例子中有一个主机,两个从机

进行如下通信【数据中的0ascii码)和空格不计】

发送至1号从机 1 2    

发送至2号从机 3 4

发送至1号从机 5 6

发送至2号从机 7 8

从机1收到数据后回传 1

从机2收到数据后回传 2

下面还是看代码

 

Code



 

从机程序如下,只列出用PB4的代码,对应1号从机,接收数据正确回传‘1


Code


下面为proteus下的截图

 

posted @ 2009-09-26 16:53  平繁  阅读(6429)  评论(4编辑  收藏  举报