求教

在貴司的CH375芯片測試的程序中有下面語句:

CH375_WR_CMD_PORT( CMD_WR_USB_DATA7 ); // 向USB端點2的發(fā)送緩沖區(qū)寫入數據塊 cnt = udp.up.mLength + [u](UINT8)( & ( (USB_UP_PKT *)0 ) -> mBuffer[/u] ); CH375_WR_DAT_PORT( cnt ); // 寫入后續(xù)數據長度 buf = [u]((PUINT8)&udp.up[u]; // 指向狀態(tài)包緩沖區(qū)

本人水平有限,不能理解上面帶下劃線語句的意思。 請指點迷津 謝謝

上傳的應答包是總是由一個固定格式的頭部結構和一個變長的緩沖區(qū)構成。 第一個下劃線是指 固定格式的頭部結構的長度,所以之和 cnt 是整個應答包的總長度。 第二個下劃線是指 應答包的起始地址, 這樣才能從頭到尾將整個包寫到CH375中再上傳。 C語言指針/結構/類型轉換比較復雜,這樣做目的是為了能夠了解原理。 例如其中(UINT8)和(PUINT8)是可選的, 是為了避免編譯出現警告。


我用的是ICC AVR編譯器,芯片用的是ATmega8, 編譯時出現以下提示: C:\icc\bin\imakew -f jhh.mak iccavr -c -IC:\icc\include\ -e -l -g -Mavr_enhanced_small -Wa-W C:\diaplay\display.c !W C:\diaplay\display.c(360):[warning] conversion from `pointer to array 32 of unsigned char' to `unsigned char' is undefined !W C:\diaplay\display.c(362):[warning] conversion from `pointer to struct _USB_UP_PACKET' to `unsigned char' is undefined !E C:\diaplay\display.c(362): operands of = have illegal types `pointer to unsigned char' and `unsigned char' C:\icc\bin\imakew.exe: Error code 1 Done: there are error(s). Exit code: 1

這些提示所指位置正是上述下劃線語句中。 請問應如何處理?


只有登錄才能回復,可以選擇微信賬號登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频