劳烦各位大大了,小弟写了一个关于spi口输出值到TLV5616进行da转换的程序,发现端口输出电压没有变化,希望大家帮我看看,谢谢。
void main(void)
{
char temp;
InitSysCtrl();
Init_SPI();
SpiaRegs.SPICTL.bit.TALK=1;//FS引脚控制
TX_SPI(0X016a);
SpiaRegs.SPICTL.bit.TALK=0;//FS引脚控制
while(1);
}
主函数里通过控制TALK位所连FS引脚下降沿进行读取转换。发送完毕后将FS拉高完成
发送函数
void TX_SPI(char c)
{
while(SpiaRegs.SPISTS.bit.BUFFULL_FLAG==1);
SpiaRegs.SPITXBUF=c;
while(SpiaRegs.SPISTS.bit.BUFFULL_FLAG==1);
}
。。。。。。其他应该没问题初始化中SpiaRegs.SPIBRR=0x07;
不知道是不是tlv5616的读取顺序不对??? |