SPICLKA,SPISIMOA,SPISTEA都是功能引脚,SPICLKA引脚正常,输出了我想要的波特率,SPISIMOA也有方波输出,应该是有数据在发出,但是SPISTEA引脚的波形一直都不正常。SPISTEA设为功能引脚后,在数据发送前、发送完不是会自动拉低、拉高吗?为什么我的SPISTEA引脚的波形却很乱?
下面是我的程序:
void InitSpi(void)
{
SpiaRegs.SPICCR.all=0x0F; //配置控制寄存器
//进入初始状态,数据在上升沿输出,自测禁止,16位数据模式
SpiaRegs.SPICTL.all=0x06; // 配置操作控制寄存器 // 正常的SPI时钟模式,主动模式,使能发送,禁止中断
SpiaRegs.SPIBRR=124; //波特率设置
//波特率=LSPCLK/125=300khz
SpiaRegs.SPICCR.bit.RESET=1; //SPI复位
}
void Writedata(Uint16 data) //发送数据
{
SpiaRegs.SPITXBUF=data;
}
for(account=1;account<=100;account++) 输出三角波
{ if(1<=account&&account<=50) { Writedata(sum);
sum=sum+81; }
if(50<account&&account<=100)
{ Writedata(sum);
sum=sum-81; }
if(account==100)
{
account=1;
}
mangui zhang:
如果配置为功能引脚 使能脚是可以自动拉高拉低的
你如果看到有波形输出 说明是在自动使能输出 有条件最好将3路的波形同时观察 这样就可以看出是否工作正常