① keil程序編譯出現未定義符號
從圖中來看,是ADD1這個子函數的標號未定義。
前面也可能還有其他的未定義標號。
② keil匯編語言 編譯不能識別P1
你需要包含51的頭文件,例如reg51.h或reg52.h之類,否則匯編器不能識別P1是什麼東西。
③ keil中已經定義了為什麼編譯還說未定義
有3個子程序聲明語句不帶括弧( ); 肯定是錯誤的。
其實這三行沒必要寫的。就是有括弧( )是對的,也不用寫這三行的,都刪掉。如果子程序寫在主程序的後面了,主程序還要調用時,才需要先聲明。而這三個子程序都在主程序前面的,就不用聲明了。
④ keil鏈瀹氫箟鏍囪瘑絎︽槸浠涔堥敊璇錛
鏈瀹氫箟鏍囪瘑絎︽槸undefinedidentifier銆鍦ㄧ▼搴忓唴浣跨敤浜嗘病鏈夎瀹氫箟鐨勬爣蹇楃︽垨鑰呭彉閲忥紝鏄甯歌佺殑keil緙栬瘧閿欒痚錛屽紩鍙戣繖涓閿欒鐨勫師鍥犳槸浣犱嬌鐢ㄧ殑鍙橀噺娌℃湁琚瀹氫箟銆
瑙e喅鍔炴硶鏄鎵懼埌榪欎釜娌℃湁琚瀹氫箟鐨勬爣蹇楁垨鑰呭彉閲忚繘琛屽畾涔夈傚彟澶栦竴縐嶅父瑙佺殑閿欒灝辨槸澶у皬鍐欏艱嚧鐨勶紝濡備綘瀹氫箟鐨勬槸unsignedcharnum錛屽湪浣跨敤鐨勬椂鍊欙紝鍐欐垚浜哊UM錛屼篃浼氬嚭鐜板悓鏍風殑閿欒銆
鏍囪瘑絎︾殑瀹氫箟
鍦ㄨ$畻鏈虹紪紼嬩腑錛屽彉閲忔垨鏍囬噺鏄涓庣浉鍏寵仈鐨勭﹀彿鍚嶇О閰嶅圭殑瀛樺偍浣嶇疆錛屽叾鍖呭惈縐頒負鍊肩殑涓浜涘凡鐭ユ垨鏈鐭ユ暟閲忕殑淇℃伅銆
鍙橀噺鍚嶇О鏄寮曠敤瀛樺偍鍊肩殑閫氬父鏂規硶錛涜繖縐嶅悕縐板拰鍐呭圭殑鍒嗙誨厑璁哥嫭絝嬩簬鍏舵墍浠h〃鐨勭『鍒囦俊鎮浣跨敤璇ュ悕縐般傝$畻鏈烘簮浠g爜涓鐨勬爣璇嗙﹀彲浠ュ湪榪愯屾椂緇戝畾鍒頒竴涓鍊礆紝騫朵笖鍙橀噺鐨勫煎洜姝ゅ彲鑳藉湪紼嬪簭鎵ц岃繃紼嬩腑鍙戠敓鍙樺寲銆