1.拉低CSB电平;
2.发送起动自测试GPIO转换和轮询状态指令(0x05 0x47);
3.通过PEC校验函数计算起动自测试GPIO转换和轮询状态指令PEC并发送;
4.拉高CSB电平。
//LTC6804_axst:起动自测试GPIO转换和轮询状态函数
void LTC6804_axst(Uint8 parallel){
Uint8 i;
Uint8 ST[2];
Uint8 cmd[4]; //定义一个4字节数组,两个字节作为数据,两个字节作为PEC校验
Uint16 cmd_pec;
ST[0]=0x05; //MD=0x10:7kHz,ST=0x10:test 2
ST[1]=0x47;
//指令
cmd[0] = ST[0];
cmd[1] = ST[1];
cmd_pec = pec15_calc(2, ST); // PEC转换
cmd[2] = (Uint8)((cmd_pec&0xff00) >> 8); //PEC0,第14-7位PEC
cmd[3] = (Uint8)(cmd_pec&0xff); //PEC1,第6-0位PEC
wakeup_idle(parallel); //This will guarantee that the LTC6804 isoSPI port is awake. This command can be removed.
LTC6804_CS(parallel,0); //使能
//将AXST轮询指令写入
for(i=0;i<4;i++){
SPIA_SendReciveData(cmd[i]);
}
LTC6804_CS(parallel,1); //未使能
}
原文:https://www.cnblogs.com/fcy1/p/12929021.html