嗨,大家好,我對微芯片PIC32MX例如工作打印機的主機,其中我來到翻過下面的代碼wherin在節目中找出客戶端驅動程序使用,如果環路used.I我無法以下了解循環的執行情況,我想知道if循環如何返回1或0,我被卡在def類型的usb_client_init函數指針,另外我不明白CLIENT_DRIVER_TABLE usbClientDrvTable []數組的工作情況,它如何決定使用哪個函數。 初始化.operator應該調用指針函數* USB_CLIENT_INIT,但它們對USB_CLIENT_INIT沒有定義,它只是被聲明的。訪問typedef結構數組
typedef BOOL (*USB_CLIENT_INIT) (BYTE, DWORD ,BYTE);
typedef struct _CLIENT_DRIVER_TABLE {
USB_CLIENT_INIT Initialize; // Initialization routine
} CLIENT_DRIVER_TABLE;
CLIENT_DRIVER_TABLE usbClientDrvTable[] = {
{
USBHostPrinterInitialize, // It is a function
USBHostPrinterEventHandler, // It is a function
0
},
{ USBHostPrinterInitialize, // It is a function
USBHostPrinterEventHandler, // It is a function
1
}
};
void main()
{
while(1)
{
char temp=0;
if(!usbClientDrvTable[temp].Initialize(a,b,c))
{
//do something
}
}
}
請格式化你的代碼,它看起來像狗屎 –
好,我也嘗試編輯,打撈這個帖子變成有意義的事情,但放棄了,因爲我完全不明白髮生了什麼這樣說。投票結束... – Lundin