注册 登录
电子工程世界-论坛 返回首页 EEWORLD首页 频道 EE大学堂 下载中心 Datasheet 专题
Joyin的个人空间 https://home.eeworld.com.cn/space-uid-415548.html [收藏] [复制] [分享] [RSS]
日志

对SPI的设计记录

已有 625 次阅读2013-2-27 21:34 |个人分类:msp430|

    SPI通信是个控制主机的通信模式,例如A是主机,B是从机的话,你只能控制A向B里面写数据或从B读数据,你不能对B控制。这个SPI通信方式比较奇怪,因为不管你向B写数据或从B读数据,从硬件的信号反应上来讲是完全相同的!当时我理解了这个时感觉有点诡异···A向B传输一个字节必定有一个字节从B向A传输,同时进行!!感觉向力的相互作用一样,我打你一下,我必定也会疼,好凌乱···
 
    430的SPI算是硬件SPI通信,之前通信没有成功是因为每发送一个字节后没有加个延时,里面什么原因不清楚,就是要根据通信的波特率加相应的延时时间。如下:
/* 发送地址 */
 while (!(UCB3IFG&UCTXIFG));
 UCB3TXBUF = (addr/256);     //加的延时时间
 for(i = 2;i > 0;i--);
 while (!(UCB3IFG&UCTXIFG));
 UCB3TXBUF = (addr);
 for(i = 2;i > 0;i--);     //加的延时时间
我这个延时时间少,因为用的SPI波特率为8M,频率算很快了。我测试下来的结果是波特率越小,后面延时时间需要的越长。
    SPI的波特率要小于或等于所用的时钟的1/2。
 
 
太困了···
评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

热门文章