1,STM32可以通过SPI实现一主多从的多机连接方式么

可以实现.用不同IO口作为片选信号就行了.
那还是要配置为主机的。否则你只能等着主机主动读取。

STM32可以通过SPI实现一主多从的多机连接方式么

2,SPI模拟可不可以多机通信或者用模拟的话可不可以多个SPI同时模拟

就是说miso和mosi,sclk不同芯片都可以分开么
当然可以。一主机带多从机时,如果主从之间是双向通讯,那么从机就必须带接口使能,使能端由主机控制。同时模拟多个SPI接口也是可行的。

SPI模拟可不可以多机通信或者用模拟的话可不可以多个SPI同时模拟

3,有人用过arduino的spi上挂多个设备吗

可以的 spi是一种总线 就像一条走廊 很多和寝室 当我想A说话时 我就大声的喊A的名字 接着说内容 说完以后 就说 好了 你回去吧 接着 再喊B。。。。以此类推 A的名字 就是设备的地址 说话的内容 就是传输的内容
普通的 uno就有的 更具体你可以看一下 http://en.wikipedia.org/wiki/list_of_arduino_boards_and_compatible_systems

有人用过arduino的spi上挂多个设备吗

4,SPI单主单从问题

通过将电平上啦 不知道能不能解决这个问题 楼主
你这个问题太专业了,在这问不大合适,程序流程看上去是主机发送12到从机,然后从机发送98到主机,这样,主机应该等待发送结束,然后等待接受,所以应该有两个while等待过程,你再仔细看看,建议修改主机//以下为主机程序 while(1) KB1=0; SPSTAT=0xc0; SPDAT=0x12; while ((SPSTAT&0x80)==0); // 等待SPIF 位为1,数据发送完毕 while ((SPSTAT&0x80)==0); // 等待SPIF 位为1,数据接收完毕KB1=1; dat=SPDAT; send_char_com2(dat) ; //发送数据至串口 delay(1000); }

5,spi主设备怎么选择spi从设备

回复 1# 我也是新手,不过调通了spi, 在spi 驱动里面是分为 设备 总线 驱动的。。这个你要搞清楚。你所说的几个文件就是在这个层次关系里面的代码,如果你只是简单的使用spi,内核自带的spidev.c就已经能够满足要求了。。我就这么用的。。。你可以参照内核里面的例程来分析分析。 另外,你也可以试着写一个裸驱试试。。。
1. 与IIC不同,SPI没有明文标准,只是一种事实标准,对通信操作的实现只作一般的抽象描述,芯片厂商与驱动开发者通过data sheet沟通实现上的细节。因此各种不同的多从机,多主机主要看芯片厂商对芯片的设计。(仔细看datasheet就对了)2. 多从机的SPI正常的应用会有多根SS线(类似片选线),不同的片选连接不同的从机的SS,想要选择哪个从机只要拉低相应的SS线就可以了。如果芯片本身没有多根SS线,可以用普通的IO口模拟,只是这样一来,通讯开始之前就要先操作IO口了。

6,SPI通信协议

一般是粗略估算是否满足使用要求,没有反过来计算可以“带动多少从机”的,你想“带动多少从机”啊。 一般可按负载与驱动能力计算,也有设备之间使用的、电磁环境都有关系、线长,准确计算很难。但不可能在实际应用中有太多的spi设备互连spi主要是芯片级或板级通信使用,同时与速度也有关系,分布电容
SPI是这样的,有三根线用于通信(一根发送、一根接收还有一根时钟信号)。带从机则需要在此三根线基础上外加从机的使能信号线。所以理论上来说有多少闲置的I/O口(用作从机使能端)就可以带多少从机。如果再加上I/O扩展芯片的话就可以带更多了。
SPI主要是芯片级或板级通信使用,也有设备之间使用的。但不可能在实际应用中有太多的SPI设备互连。一般可按负载与驱动能力计算,分布电容、线长、电磁环境都有关系,同时与速度也有关系,准确计算很难,一般是粗略估算是否满足使用要求,没有反过来计算可以“带动多少从机”的,你想“带动多少从机”啊?

7,硬件SPI的数据移位寄存器是8位的可以操作象AD7705这样的16位设

应该是可以的,但我没试过。
很多外围的接口IC,比如ADC、DAC之类其SPI不一定是标准的SPI格式,所以,我基本哦度是IO模拟,反正现在的MCU,好多其IO模拟SPI的速度都能达到1Mbit/S以上。
有的,AD7705的转换结果寄存器的是16bits的。而对它读写,都要先给通信寄存器一个命令,再读转换结果寄存器。我的担心是读完一次,是不是还需要重新先给通信寄存器一个命令,再读转换结果寄存器;这个两次操作是不是都只是读的高8位。低位未读。不过看了英文datasheet的一个例程程序,不是的,问题解决了
元器件商城
SPI是同步总线,主机不发CLK的时候,从机是在等待状态,片选CS是用于分割每个数据帧的,所以只要CS在使能状态,你发多少次,从机都当一个命令来处理。对AVR来说,SPI的寄存器是8bit的,你把16bit分开2次发就可以了(注意两次之间CS保持使能状态不要动)。有的单片机支持16bit的SPI传送,只是说效率稍微高一点罢了,跟8bit的没有本质区别。
两次8位跟一次16位有什么区别么?

文章TAG:spi多少  stm32  可以  
下一篇