2084|0

1

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

2274SPI 通讯问题 [复制链接]

程序是这样的。但为什么当我SPI仿真的时候,接收和发送寄存器都会变,但在发送接的时候用示波器,量SIMO,SCK 一直是高电平并不是正常波形
请各位们指示下,小弟感激万分。
void initializeMSP430(void)
{
   int8 i = 0;          
   WDTCTL = WDTPW + WDTHOLD;// Stop watchdog timer to prevent time out reset
   //DCOCTL |= DCO2|DCO1|DCO0;
   BCSCTL1 |= XT2OFF + XTS + DIVA0 + DIVA1;   // CLOCK SOURCE = LFXT1, Aclk = LFXT1/8
   BCSCTL2 |= SELM1 + SELS+DIVS0+DIVS1;                  // MCLK = LFXT1/2 MSCLK = LFXT1/2
   BCSCTL3 |= LFXT1S1+LFXT1OF; // LF = 4 - 16 M  LFXT1 oscillator fault
   do
   {
    IFG1 &= ~OFIFG;                             // Clear OSCFault flag
    for (i = 0xFF; i > 0; i--){;}               // Time for flag to set
  }while((IFG1 & OFIFG));
   
}
//--------------------------------------------------


/*------------------------------------------------
        
           Configure the USCI in spi mode

------------------------------------------------*/

void ConfigSPIMode(void)
{
   volatile unsigned char i ;
   i = 0;
   UCB0CTL0 = UCCKPH + UCCKPL + UCMSB + UCMST  + UCSYNC ;//+ UCMODE1
   UCB0CTL1 = UCSSEL1+UCSWRST;       // UCSSEL1+UCSSEL0 UCSI RESET
   P2DIR |= BIT2;                            // SPI CS OUTPUT
   P3DIR = 0x1D;  
   P3OUT = 0x00;                            // 101101 P3.1 DI P3.2 DO P3.3 SCK P3.4 RX P3.5 TX
   P3SEL = 0x3F;                             
   UCB0CTL1 &= ~UCSWRST;              // SPI initialize           
   
                                           //UCSI in spi syncronous mode  clock phase is 1  clock polarity is 1
   //IFG2 = 0x00;                             // transmit flag
   
}void SPITransmit(unsigned char Dat)
{
      UCB0TXBUF__SPI = Dat;
      while(!(IFG2 & UCB0TXIFG));

}
/

void main()

{

   init();

 do

{

    delayms(2);
    SPITransmit(0x55);
    delayms(2);

}while(1);

}

[ 本帖最后由 feimy 于 2011-11-18 11:57 编辑 ]
 
点赞 关注

回复
举报
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条
电源解决方案和技术 | DigiKey 应用探索站
当月好物、电源技术资源、特色活动、DigiKey在线实用工具,干货多多~

查看 »

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表