小问题请教大家

[复制链接]
2455|4
 楼主| entepino 发表于 2009-8-26 21:58 | 显示全部楼层 |阅读模式
MCU与下面的芯片SPI通讯方式,MCU是主设备,下面的芯片是从设备,有点想不通了,MCU是如何进入SPI接收中断的?是不是像串口那样,有数发到MCU上来,就自动进入SPI接收中断?还是说下面的设备有个专门的中断引脚来触发MCU中断?
谢谢了。
xnwxq 发表于 2009-8-26 22:13 | 显示全部楼层
中断是可以设置的,就看你实际的使用哪种更合理!
 楼主| entepino 发表于 2009-8-26 22:26 | 显示全部楼层
就是有接收中断啊。
FDLock 发表于 2009-8-26 22:40 | 显示全部楼层
我以前用过NXP的LPC900单片机,带有硬件SPI,使用硬件SPI作为主机模式时(MCU作为主机),如果要读取1字节从机的数据,就要发送1字节数据下去,SPI控制器在发送的同时又接收从机的数据,操作完成后SPIF标志位会置为1(如果使能了SPI中断,就会产生中断,可以说是接收中断,但也是发送中断)。

“还是说下面的设备有个专门的中断引脚来触发MCU中断?”,即使有引脚去触发MCU中断,也不会是SPI接收中断, 只能是其它功能(如温度超出设定范围)。

SPI总线时钟(SPICLK)是由主机产生的,所以SPI从机是不会自己发送数据到主机的,和UART的不一样。

但不知道你用的MCU的SPI控制器是不是这样, 哈哈.
zhaiweilei 发表于 2009-8-27 08:06 | 显示全部楼层
观点和楼上一样!
我用的是PIC单片机,SPI没有接收中断。
主机要接收从机数据,从机给主机发外部中断信号,主机产生SCK时钟来接收数据!
当接收到一个8位数据时,将其装入缓冲器SSPBUF,并将缓冲器满标志位BF=1,及产生中断请求SSPIF=1;
当然可能还与你用的MCU有关!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

214

主题

653

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部