肯定是設置trisC,況且妳trisa和b都好使,c就不好使了這也太奇怪了吧。它說不識別,那就是妳頭文件定義錯了。請檢查頭文件是否和芯片型號匹配。有可能頭文件裏沒有#define trisc吧。
bittest應該是壹個函數,不是壹個宏。不要用define來定義。要用函數的方法來定義。妳這個算是編程的基礎錯誤吧。
首先,妳porta的0~3已經設置為analog了(在cmcon裏)。設置成analog的話是沒法讀取digital信號的。這4個口永遠都是讀0的。所以妳編的肯定不能用。
需要設置ADC。壹般用默認設置就好了,額外的配置就是porta的那些端口需要對應到ADC上。然後配置ADC的開始方式。定義好之後,在程序裏只要ADC_GO(不知道妳那裏是什麽命令)就可以了。然後讀取的數值自動存儲到ADC的壹個寄存器裏。
具體的妳要看對應芯片的datasheet了,每款芯片的adc都不壹樣。不過相差不多。