新闻中心

EEPW首页>嵌入式系统>设计应用> 基于SPI总线的51单片机多机互连编程技术

基于SPI总线的51单片机多机互连编程技术

作者: 时间:2012-08-21 来源:网络 收藏

图4中2号机通信和UART通信皆为Slaver方式,由于、UART共用一个中断,会导致通信工作过程不正常,严重时和UART通信皆无法正常进行。上述协议无法满足需要。为此,在基本协议的基础上,构造高级的协议。
高级协议:主机和从机皆用定时器进行SPI数据帧的收发,定时器是SPI通信的发动机,通信是由主机定时器发动。从机仅被动收发,为了保证SPI收发双方数据包的字节相位匹配,必须设置数据包收发缓冲区,收发缓冲区字节个数应当是数据包的N倍。同时,数据包中设置若干包标示字节,通常为头字节、尾字节,以便主从机在接收数据时可以动态的进行字节相位的校准,保证数据接收的可靠性。高级协议构造示意图如图5所示。

本文引用地址://m.amcfsurvey.com/article/171013.htm

e.JPG


图5中,SPI通信数据包为8个字节,包标识字节为0x0d、0x0c。SPI通信发动采用PCA定时器模式,读者也可以采用定时器T1和T2实现SPI通信发动。参考程序如下:
f.JPG



评论


相关推荐

技术专区

关闭