对于spi进行下列设置,能够正确发送uclk和simo的波形 #include <msp430x14x.h>
//unsigned char Data[6];
unsigned char flag = 0;
void Init_spi(void);
void main(void)
{ unsigned char j;
WDTCTL = WDTPW + WDTHOLD;
Init_spi();
_EINT();
while(1)
{TXBUF1 = 0x51;
for(j=100;j>0;j--);
}
}
void Init_spi(void)
{ UCTL1 |= SWRST;
UCTL1 = CHAR+SYNC+MM;//char=1,8bit,sync=1,spi mode,mm=1,master
UTCTL1 = STC+SSEL1+CKPH+CKPL;//stc,3pin;ssel1=1,master,ckph=1,uclk is delay,CKPL=1,上升沿跳变
UBR01 = 0x02;
UBR11 = 0x00;
UMCTL1 = 0;
ME2 = USPIE1;
UCTL1 &= ~SWRST;
P5SEL |=0x0F;
P5DIR = 0x0A;
IE2 |=URXIE1; }
但当把其中的
UTCTL1 = STC+SSEL1+CKPH+CKPL;
改为 UTCTL1 = SSEL1+CKPH+CKPL;
则不能正确发送波形
查看了一下手册,
手册中说STC只是决定了3pin还是4pin 不知道为什么原因?
请教各位
[ 本帖最后由 wwj0102 于 2011-7-8 17:14 编辑 ]
此帖出自小平头技术问答
但是我就只是把STC去掉,就不能正确发送波形了
(在加上STC的情况下,是能够正确发送波形的)
能不能再讲解一下
三线是SDI和SDO合二为一,节省了一个引脚,但只是半双工通信。看看测波形时用的管脚对不对,4线模式下把SDI和SDO都接了观察一下。
msp430中的STE是多个master被一个slave选择,所以STE是input
那么这么说,msp430的spi中只能用其他管脚来模拟SS线(多个slave片选)的功能了
一周热门 更多>