TI中文支持网
TI专业的中文技术问题搜集分享网站

ADS1148时序问题

我在使用ads1148制作的测温电路中与430单片机通信,SPI初始化程序如下:

U0CTL|=SWRST;                               //复位                                             (1)
U0CTL|=SYNC+MM+CHAR;          //SPI模式,主模式,8位数据     (2)
//时钟延迟半周期,时钟停止高电平,发送数据在下降沿,接收数据在上升沿
//选择smclk时钟(8MHZ),3线
U0TCTL|=CKPH+CKPL+SSEL1+STC;                                                (3)                         
U0BR0=200;                                                                                              (4)
U0BR1=0;                                                                                                   (5)
ME1|=BIT6;                               //spi使能                                                  (6)

U0CTL&=~SWRST;                //初始化                                                   (7)
IE1|=URXIE0;                          //接收中断使能位                                   (8)
P3SEL|= BIT3+BIT2+BIT1;   //设置IO口为特殊模式                            (9)

读寄存器MUX0,发送20h,00h,单片机会收到默认值01h。时序图如下:

               (从上到下:第一条是时钟clk,第二条是单片机的输出SIMO,第三条是单片的输入SOMI)

问题:1.请问这个时序图是正确的吗,怎么读的?

如果把程序第(3)改为U0TCTL|=CKPL+SSEL1+STC;,单片机收不到数据,时序图如下:

2.CKPH会使得不能正常通信吗?

user151383853:

检查串行数据传送的时序, 一个很重要和关键的前提, 先要捕捉和识别到时序的开头点, 特别是连续传输的时候, 有时候还需要mcu特别提供脉冲信号来引导

赞(0)
未经允许不得转载:TI中文支持网 » ADS1148时序问题
分享到: 更多 (0)