SPI多机通信

嵌入式Linux, 嵌入式Linux, 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我现在想用两台单片机上进行SPI的多机通信,可收发,用到四根线SDO,SDI,EN,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,I2­C等。本来以为一两个晚上就能搞定的事儿,没想到竟耗费了一周晚上空余的时间。当然主要是这次的要求要提高点,实现SPI的多机通信,不但要发数据还要回传数据。实际中还是遇到了比我想象中要大的多的困难。即使是现在的实现方式也不是很理想。

weixin_38620734

ATMEGA16 SPI多机通信实践指南

微控制器,也称为单片机,是一种集成电路芯片,它将CPU、存储器、输入/输出接口等主要微电子部件集成在单一芯片上,适用于各种控制应用。ATMEGA16是基于AVR架构的高性能8位微控制器,广泛应用于工业、消费、通信和汽车领域。在串行外设接口(SPI)通信协议中,设备可以被配置为“主”或“从”设备,以适应多设备通信环境。在主模式(Master Mode)中,微控制器负责产生时钟信号,控制数据传输的时序,并且能够发起与从设备的通信。

Saint George

基于多机SPI协议的多机通信

单片机之间通过SPI协议相互通讯,基于C51的,有分析有代码.

gj6224

ATMEGA16 SPI多机通信

ATMEGA16 SPI多机通信 ATMEGA16 SPI多机通信

pengli8244

SPI多机通信注意及讨论

SPI多机通信注意事项 AVR的SPI本质上是环形移位寄存器,在主机写的时候,同时可以得到一个从机回来的数据。

wu_long_
评论 19
收藏 已收藏
分享
返回顶部
嵌入式Linux,
嵌入式Linux, 嵌入式领域专家 嵌入式领域专家领域专家: 嵌入式与硬件开发技术领域 领域专家: 嵌入式与硬件开发技术领域
单片机/工控 27,522 成员 28,796 内容