老是发送不对

2019-08-04 18:42发布

各位大虾,这是我一个MSP430G2433 的SPI(B0)口编的一个初始话程序,大家看看有什么问题没有,老是发送不对。
#define SYNC    UCB0CTL0__SPI_bit.UCSYNC
#define MODE0   UCB0CTL0__SPI_bit.UCMODE0
#define MODE1   UCB0CTL0__SPI_bit.UCMODE1
#define MST     UCB0CTL0__SPI_bit.UCMST
#define BIT     UCB0CTL0__SPI_bit.UC7BIT
#define MSB     UCB0CTL0__SPI_bit.UCMSB
#define KPL     UCB0CTL0__SPI_bit.UCCKPL
#define KPH     UCB0CTL0__SPI_bit.UCCKPH
#define SWRST   UCB0CTL1__SPI_bit.UCSWRST
#define SSEL0   UCB0CTL1__SPI_bit.UCSSEL0
#define SSEL1   UCB0CTL1__SPI_bit.UCSSEL1
#define BUSY    UCB0STAT__SPI_bit.UCBUSY
#define OE      UCB0STAT__SPI_bit.UCOE
#define FE      UCB0STAT__SPI_bit.UCFE
#define LISTEN  UCB0STAT__SPI_bit.UCLISTEN

#define SPIREN    IE2_bit.UCB0RXIE
#define SPITEN    IE2_bit.UCB0TXIE
#define SPIR      IFG2_bit.UCB0RXIFG
#define SPIT      IFG2_bit.UCB0TXIFG
#define TXBUF     UCB0TXBUF__SPI
#define RXBUF     UCB0RXBUF__SPI

   void spi()
   {
   SWRST=1;                       //关spi
   SYNC=1;                       //选择spi
   MST=1;                        //spi主机模式
   BIT=0;                        //8位数据模式
   MSB=0;                        //低位在前
   
   KPL=0;  
   KPH=0;                        //选择时钟与数据关系
     
  MODE0=0;
   MODE1=0;                     //3线spi
  
   SSEL0=1;
   SSEL1=0;                      //选择ACLK时钟
   
   UCB0BR0__SPI=200;
   UCB0BR1__SPI=200;                //时钟8分频
   
   SWRST=0;                       //开spi
  }
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
wuhany
1楼-- · 2019-08-04 18:54
不懂,帮顶
shimx
2楼-- · 2019-08-04 23:43
时钟分频的注释有问题。
shimx
3楼-- · 2019-08-05 02:56
是我调试的时候该的,请大家帮我看看其他的对应注释有没有问题。
heweibig
4楼-- · 2019-08-05 05:21
感觉没必要用宏定义来这么写吧
spark周
5楼-- · 2019-08-05 07:38
 精彩回答 2  元偷偷看……
shimx
6楼-- · 2019-08-05 09:06
嗯,好的,我知道了

一周热门 更多>