工具/软件:Code Composer Studio
您好,
我有一个带有控制器和超声波传感器(MAX35101)的定制板、它们之间的接口由 SPI 提供。我正在使用(SPI A1) A1模块。我的配置如下所示。
///////////////////////////////////////////////////// 初始化////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
P8SEL&&=~BIT6;//CS 引脚
P8DIR|=BIT6;
P8OUT|=BIT6;//初始 CS 引脚为高电平
P1SEL|=BIT4|BIT4;//辅助外设选择
P2SEL|=BIT4;
UCA1CTL1 |=UCSWRST;
UCA1CTL0 =0XA9;
UCA1CTL1|= UCSSEL_2;// SMCLK
UCA1BR0 = 0x02;///2
UCA1BR1 = 0x00;
UCA1MCTLW = 0;
P2DIR |=BIT4;
P1DIR |=BIT5;
P1DIR &=~BIT4;
UCA1CTL1 &=~UCSWRST;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
如果我将一个8位寄存器值发送到 max35101、我只能看到一个时钟(我使用逻辑分析仪探测 MOSI MISO SCK CS 引脚 )。为了测试时钟、我将写入以下代码
while (1){
P8OUT|=BIT6;
_delay_cycles (10000);
P8OUT&=~BIT6;
UCA1TXBUF = 0x38; //通过 SPI 发送到从属设备
while (!(UCA1IFG&UCTXIFG));
P8OUT|=BIT6;
}
但是、对于 每个芯片选择低电平时间、我在时钟线中只能看到一个脉冲。是否有人可以解释这是怎么发生的?(我通过切换引脚来检查引脚、它们看起来很好)。