Warning [766] FER039.C; 38. degenerate signed comparison
Warning [766] FER039.C; 38. degenerate signed comparison
Warning [1090] FER039.C; 32. variable "_year" is not used
zjswuyunbo 發表于 2022-7-1 10:11
sizeof(unsignd short),看一下這個類型是不是16位
datouyuan 發表于 2022-6-30 15:02
我用PICC9.83編譯你的代碼,二者都可以編譯通過,并且編譯結果(分析匯編代碼)是正確的。
用unsigned cha ...
xiaoyuxinke 發表于 2022-6-30 21:24
你只是定義一個變量的東東,這個變量定義不能用8位變量,不然只能小于255,也可以用unsigned int 定義一個變量
hym8085hym 發表于 2022-7-2 10:39
我發現PICC編譯器,運算的數據是可以用16位或浮點數,比較數據大小卻只能是8位,是這樣的嗎?我是新手。
hym8085hym 發表于 2022-7-2 10:42
我的意思是我發現PICC編譯器,能運算浮點數和16位數據,比較數據卻只能8位。是不是設置有問題
datouyuan 發表于 2022-6-30 15:02
我用PICC9.83編譯你的代碼,二者都可以編譯通過,并且編譯結果(分析匯編代碼)是正確的。
用unsigned cha ...
datouyuan 發表于 2022-7-2 10:54
有點煩了。
出現問題,竟然懷疑編譯器有問題,而不懷疑自己的代碼。
你這新手太牛逼了。
Y_G_G 發表于 2022-7-2 15:56
PIC16F676只有64個字節的RAM,比傳統8051的128個字節還少
而且,PIC16F676只有8級的硬件堆棧,不知道你對硬件 ...
hym8085hym 發表于 2022-7-7 10:19
我之前是用匯編的。想學習C語言,實際上這個程序我定義的RAM不多,提示是不夠用。就是不明白C語言的程序 ...
hym8085hym 發表于 2022-7-7 10:19
我之前是用匯編的。想學習C語言,實際上這個程序我定義的RAM不多,提示是不夠用。就是不明白C語言的程序 ...
這代碼太多問題了。
1.不要大量使用volatile 絕對定位變量。
2.能用自動變量就不要用全局變量。
3.中斷服務中使用函數。
4.多處代碼邏輯混亂。
5.picc的特有語法使用錯誤。你這代碼功能我猜測是2位數碼管顯示,只需要標準C語言就能完成,完全不需要用到picc的特有語法。雖然你沒定義幾個變量,因語法出錯,編譯提示定義的變量超出了極限。
樓主應要花幾天學習下C語言基礎。
Y_G_G 發表于 2022-7-7 10:40
你用匯編,就更應該知道RAM和堆棧了,特別是PIC這種使用硬件堆棧的單片機
8級硬件堆棧在匯編上還行,但到了 ...
hym8085hym 發表于 2022-7-7 11:07
之前用匯編,所以內存我控制的很嚴格;中斷里面用到的RAM是不能被優化,所以需要固定地址;我發現又奇怪 ...
Y_G_G 發表于 2022-7-7 12:00
我用的是XC8編譯器,沒有用過PICC
這個單片機只有8級硬件堆棧,中斷的話,PC程序計數器用兩個,那就只剩下6 ...
hym8085hym 發表于 2022-7-7 12:30
我后續用你的編譯器試試。謝謝您的回復。
hym8085hym 發表于 2022-7-7 12:30
我后續用你的編譯器試試。謝謝您的回復。
hym8085hym 發表于 2022-7-7 11:07
之前用匯編,所以內存我控制的很嚴格;中斷里面用到的RAM是不能被優化,所以需要固定地址;我發現又奇怪 ...
datouyuan 發表于 2022-7-8 10:49
樓主還是在懷疑編譯器。
都已經多次指出是樓主代碼問題,和編譯器無關。
liu1337 發表于 2022-7-9 11:20
定義的unsighed int 最大就是255吧,你超過了當然要出錯了。如果擔心這個問題直接定義Long int
歡迎光臨 (http://www.zg4o1577.cn/bbs/) | Powered by Discuz! X3.1 |