No.65053 作者:whaway 邮件:whaway@163.com ID:15988 登陆:10次 -- MSN:whaway@hotmail.com 文章数:8篇 最后登陆IP:220.234.105.102 最后登陆:2006/3/5 20:15:22 注册:2003/11/8 17:51:46 财富:144 发帖时间:2004/10/23 18:49:52 发贴者IP:61.187.64.198 标题:whaway:[求助]谁能放出个MSP430F149的双SPI主从对发的例子啊 摘要:No.65053[求助]谁能放出个MSP430F149的双SPI主从对发的例子啊 自己编了一个,可是怎么也调试不通。 IAR430,3.20a,4K限制版。 程序主要是想验证一下SPI通讯,从主设备1口发出0x12,从设备0口接收到后回发,通过查看0口的RXBUF0来验证通讯成功,现在的情况是RXBUF0不为0x12。 源程序如下: /* 硬件接线: STE: P3.0--> P5.0 SIMO: P3.1--> P5.1 SOMI: P3.2--> P5.2 UCLK: P3.3--> P5.3 晶振: XT2-4M */ #include <msp430x14x.h> /**************************************************************wh *初始化函数声明 ***************************************************************wh*/ __monitor void InitCPU(void); __monitor void InitUART0(void); __monitor void InitUART1(void); unsigned int Data; /**************************************************************wh *函数:main()主循环函数 *作者:wh *日期: *参数: *返回: *功能: ***************************************************************wh*/ void main(void) { _DINT(); InitCPU(); //init CPU InitUART0(); //init UART0,rx enabled InitUART1(); //init UART1,all about disabled _EINT(); while (!(IFG2 & UTXIFG1)); TXBUF1 =0x12; while(1); } /**************************************************************wh *函数:InitCPU() *作者:wh *日期: *参数: *返回: *功能:选择晶振,等待晶振稳定,关狗,选择分频 ***************************************************************wh*/ __monitor void InitCPU(void) { unsigned int i; WDTCTL = WDTPW + WDTHOLD; BCSCTL1 &= ~XT2OFF; // XT2on do { IFG1 &= ~OFIFG; // Clear OSCFault flag for (i = 0xff; i > 0; i--); // Time for flag to set }while ((IFG1 & OFIFG)); // OSCFault flag still set? //BCSCTL2 |= SELM_2 + SELS; // MCLK = SMCLK = XT2 (safe) BCSCTL2 |= SELM_2 + SELS + DIVS_3 + DIVM_3; } /**************************************************************wh *函数:InitUART0() *作者:wh *日期: *参数: *返回: *功能:UART0 Slave ***************************************************************wh*/ __monitor void Ini ......
>>返回讨论的主题
|