打印
[应用相关]

一直是高电平并不是正常波形

[复制链接]
1320|25
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
bbapple|  楼主 | 2019-11-24 14:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
程序是这样的
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);

}
为什么当我SPI仿真的时候,接收和发送寄存器都会变,但在发送接的时候用示波器,量SIMO,SCK 一直是高电平并不是正常波形

使用特权

评论回复
沙发
handleMessage| | 2019-11-24 14:01 | 只看该作者
SPI通讯一瞬间就完成了,要用示波器触发,你是这样测的么。

使用特权

评论回复
板凳
zhouhuanの| | 2019-11-24 14:04 | 只看该作者
时间间隔调的合适么???

使用特权

评论回复
地板
wanglaojii| | 2019-11-24 14:05 | 只看该作者
你只是触发了一次而已,再量波形 当然没有了。。

使用特权

评论回复
5
laozhongyi| | 2019-11-24 14:08 | 只看该作者
这个看来是SPI总显得操作的。。

使用特权

评论回复
6
Edisons| | 2019-11-24 14:09 | 只看该作者

硬件电路的驱动能力不足。

使用特权

评论回复
7
_gege| | 2019-11-24 14:12 | 只看该作者
可以在spi上添加一个上拉电阻试试。

使用特权

评论回复
8
Mozarts| | 2019-11-24 14:13 | 只看该作者
这个用示波器的检查下SPI总线的是否好着的

使用特权

评论回复
9
Listate| | 2019-11-24 14:16 | 只看该作者
楼主, 测量的电平信号是多大?

使用特权

评论回复
10
xia00| | 2019-11-24 14:17 | 只看该作者
是高电平吗?
信号是什么图形?

使用特权

评论回复
11
hfdy01| | 2019-11-24 14:20 | 只看该作者
应该是硬件的问题。你的IO是怎么配置的?

使用特权

评论回复
12
CallReceiver| | 2019-11-24 14:20 | 只看该作者
通信的IO电压是多大?

使用特权

评论回复
13
boy1990| | 2019-11-24 14:25 | 只看该作者
来一份你的原理图看看是什么原因?

使用特权

评论回复
14
sourceInsight| | 2019-11-24 14:25 | 只看该作者
数据读取是否正确?软硬件都检查一下。

使用特权

评论回复
15
feiqi1| | 2019-11-24 14:29 | 只看该作者

信号不正常是什么样的呢?

使用特权

评论回复
16
androidbus| | 2019-11-24 14:30 | 只看该作者
是不是上拉电阻有问题?

使用特权

评论回复
17
litengg| | 2019-11-24 14:33 | 只看该作者
是不是驱动能力不足?配置上拉模式输出。

使用特权

评论回复
18
qiangweii| | 2019-11-24 14:34 | 只看该作者

楼主的信号电平不正确吗?

使用特权

评论回复
19
shashaa| | 2019-11-24 14:37 | 只看该作者
寄存器接收到的数据可能有问题。

使用特权

评论回复
20
maowentao0416| | 2019-11-24 14:54 | 只看该作者
代码里面循环执行spi信号,然后拿示波器测量

使用特权

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

本版积分规则

293

主题

1811

帖子

1

粉丝