AVR 的 SPI 主模式

[复制链接]
3122|2
 楼主| dudongdao 发表于 2009-8-18 00:37 | 显示全部楼层 |阅读模式
AVR, spi, ST, os, pc
SPI使能主模式后,MOSI SCK SS的方向由用户定义,本来是读165就没管SS的方向,结果SPI的SPIF就是不置1,后来发现SPCR MSTR为零,一怎么都写不进去,把SS方向改为输出,MSTR也能写了,SPIF也正常了。软件模拟的时候就不用管SS的方向,怪死。
电子夜行人 发表于 2009-8-18 08:02 | 显示全部楼层
当 SPI 配置为主机时(MSTR 的 SPCR 置位),用户可以决定 SS 引脚的方向。
若 SS 配置为输出,则此引脚可以用作普通的 I/O 口而不影响 SPI 系统。典型应用是用来
驱动从机的 SS 引脚。
如果 SS 配置为输入,必须保持为高以保证 SPI 的正常工作。若系统配置为主机,SS 为
输入,但被外设拉低,则 SPI 系统会将此低电平解释为有一个外部主机将自己选择为从
机。为了防止总线冲突, SPI 系统将实现如下动作:
1. 清零 SPCR 的 MSTR 位,使 SPI 成为从机,从而 MOSI 和 SCK变为输入。
2. SPSR 的 SPIF 置位。若 SPI 中断和全局中断开放,则中断服务程序将得到执行。
因此,使用中断方式处理 SPI 主机的数据传输,并且存在 SS 被拉低的可能性时,中断服
务程序应该检查 MSTR 是否为 "1”。若被清零,用户必须将其置位,以重新使能 SPI 主机
模式。
 楼主| dudongdao 发表于 2009-8-19 12:03 | 显示全部楼层
哦~~   是了~~~  很久以前看过~~  看来基础知识还要扎实啊~~
   谢谢夜行人大侠~~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

90

主题

413

帖子

1

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