c语言指向结构体成员运算符的运用
uint8 AutoReadAmmeter(void)
{
uint8 i = 0;
uint8 data;
uint8 MeterNo = 0;
uint8 Bandrate;
uint8 Rst,Len;
uint32 Bit=1,cBit;
T188FrameFormat * T188SendFrame= (T188FrameFormat *)Uart2_TxBuf; 这行什么意思啊?
FrameFormat * DLT645SendFrame= (FrameFormat *) Uart2_TxBuf;
T188SendFrame->MeterNum=0x00; 还有“->”这个符号在这边怎么用啊,是什么意思?
T188SendFrame->ReadMeterCode=0x03;
T188SendFrame->PortNum=0xD0;
T188SendFrame->Rem_Ark=0x00;
T188SendFrame->CodeA=0x00;
T188SendFrame->CodeB=0x40;
T188SendFrame->CRCvalue;
Len=8;
Mbus1_TXDLED_ON;
LedMBUS1tx_Time = LED_FLASH_TIME;
SendFrameDataToUarst(Uart2_TxBuf,Len,MBUS1_IDX);
}
这个是标准的c语言语法
你的
T188SendFrame是一个指向T188FrameFormat结构指针
而
MeterNum是其中的成员
在c语言中,要访问结构指针成员,就是用->运算符,这个是C语法规定
所以要用T188SendFrame->MeterNum