SPI多机通信
我现在想用两台单片机上进行SPI的多机通信,可收发,用到四根线SDO,SDI,EN,SCK、
我是这样进行假设的、
主机发送一个数据的8位、每个时钟上升沿开始发送数据、8个时钟后数据发送完毕
从机的话是如何进行接收的呢?(主机发送的8位数据不可能是全部存在了SDO上面的吧)、那么从机是检测每来一个时钟进行一次数据的存储了吗?那这样的话,从机的sck线是不是要设为输入状态了呢?
感觉发送很容易
上面是我写帖子时顺手写下的发送函数,要是主机以这样的方式发送出去的话、从机应该如何接收?
了解的人,请帮助帮助、谢谢了
我是这样进行假设的、
主机发送一个数据的8位、每个时钟上升沿开始发送数据、8个时钟后数据发送完毕
从机的话是如何进行接收的呢?(主机发送的8位数据不可能是全部存在了SDO上面的吧)、那么从机是检测每来一个时钟进行一次数据的存储了吗?那这样的话,从机的sck线是不是要设为输入状态了呢?
感觉发送很容易
void send(unsigned char date)
{
en=1;
_delay(10);
en-0;
sck=0;
for(int i=0;i<8;i++)
{
sdo=date&0x80;
sck=1;
_delay(10);
date<<=1;
sck=0;
}
}上面是我写帖子时顺手写下的发送函数,要是主机以这样的方式发送出去的话、从机应该如何接收?
了解的人,请帮助帮助、谢谢了
...全文
相关推荐
AVR复习笔记—SPI多机通信
最近决定复习下AVR单片机,其实也是为了借此复习下几种简单的通信协议,包括串口,SPI,I2C等。本来以为一两个晚上就能搞定的事儿,没想到竟耗费了一周晚上空余的时间。当然主要是这次的要求要提高点,实现SPI的多机通信,不但要发数据还要回传数据。实际中还是遇到了比我想象中要大的多的困难。即使是现在的实现方式也不是很理想。
ATMEGA16 SPI多机通信实践指南
微控制器,也称为单片机,是一种集成电路芯片,它将CPU、存储器、输入/输出接口等主要微电子部件集成在单一芯片上,适用于各种控制应用。ATMEGA16是基于AVR架构的高性能8位微控制器,广泛应用于工业、消费、通信和汽车领域。在串行外设接口(SPI)通信协议中,设备可以被配置为“主”或“从”设备,以适应多设备通信环境。在主模式(Master Mode)中,微控制器负责产生时钟信号,控制数据传输的时序,并且能够发起与从设备的通信。
基于多机SPI协议的多机通信
单片机之间通过SPI协议相互通讯,基于C51的,有分析有代码.
ATMEGA16 SPI多机通信
ATMEGA16 SPI多机通信 ATMEGA16 SPI多机通信
SPI多机通信注意及讨论
SPI多机通信注意事项 AVR的SPI本质上是环形移位寄存器,在主机写的时候,同时可以得到一个从机回来的数据。


单片机/工控
