📄 01.c
字号:
void readrelay(void)//读取输出继电器的状态
{
unsigned char *p;
p=(unsigned char *)&SPI1.inputstate;
txbuf[0]=rxbuf[0];
txbuf[1]=rxbuf[1];
txbuf[2]=rxbuf[2];
txbuf[3]=rxbuf[3];
txbuf[4]=rxbuf[4];
txbuf[5]=rxbuf[5];
txbuf[6]=*(p+3); //高八位//P+2指向relaystate;//继电器状态 1为响应的继电器闭合
txbuf[7]= *(p+2); //低八位
T16=crc16(rxbuf,8); //????????????????????????????8位
high8=T16 >> 8;
low8=T16 & 0xff;
txbuf[8]=high8;
txbuf[9]=low8;
P3OUT |= BIT7; //P4.2为高电平为发送模式
flag.transfer_ok=FAULT;
i=0;
//if ((IFG1 & UTXIFG0) == 0) // USART0 TX buffer ready?
//{
// do
// {
// TXBUF0=txbuf[i];
// i++;
// }while(i<=9);
// transfer_ok=TRUE;
// i=0;
//}
do
{
TXBUF1=txbuf[i];
while((IFG2 & UTXIFG1) == 0) // USART0 TX buffer ready?
{
_NOP();
}
i++;
}while(i<10); //10位???????????
flag.transfer_ok=TRUE;
i=0;
for(i=0;i<140;i++)
{
rxbuf[i]=0;
txbuf[i]=0;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -