?? 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 + -