打印

MSP430G2433 的SPI问题

[复制链接]
2126|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yywr|  楼主 | 2012-4-13 16:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位大虾,这是我一个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
  }

相关帖子

沙发
yywr|  楼主 | 2012-4-13 16:55 | 只看该作者
时钟分频的注释有问题。是我调试的时候该的,请大家帮我看看其他的对应注释有没有问题。

使用特权

评论回复
板凳
peter_zheng| | 2012-4-14 16:56 | 只看该作者
感觉没必要用宏定义来这么写吧,SPI的初始化就那么一段语句而已。可以参照G2xxx的demo code 来修改

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

68

帖子

0

粉丝