- ベストアンサー
PIC18F1320でwarningがでる
- PIC18F1320でwarningがでる。MPLAB X IDE v3.26およびXC 8を使用しています。
- warningがでるが、プログラムは動作する。しかし、warningをなくしたい。
- 8ビット符号なし整数型を使用する理由は、LCD液晶表示装置を使用するためであり、キャラクターコードをLATB(PORTB)に送るために制御している。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
C言語では「定数は符号付きのint型」です。 unsigned char TMRA=1; unsigned char TMRB=1; の2行は「符号無しの変数に符号付きの式を代入しようとしている」ので「ホントに大丈夫?」と警告が出ます。 この警告を黙らせるには TMRA = (unsigned char)1; TMRB = (unsigned char)1; のように「定数式を、unsigned char型に型変換(型キャスト)する」か、または TMRA = 1U; TMRB = 1U; のように「定数式を符号無し定数にする」必要があります。 C言語では「unsigned char型変数とintの定数を演算した結果は、int型」です。 TMRA = TMRA - 20; TMRB = TMR+1; の2行は「unsigned char型にint型の式を代入しようとしている」ので「ホントに大丈夫?」と警告が出ます。 この警告を黙らせるには TMRA = (unsigned char)(TMRA - 20); TMRB = (unsigned char)(TMR+1); のように「足し算や引き算してint型になった計算結果を、unsigned char型に型変換(型キャスト)する」必要があります。 >プログラムで-1や256になったりしないよう制御してある コンパイラそのものは「制御してるとかどうとか、そんなことは知ったこっちゃない」ので、とにかく「怪しそうな部分はワーニングを吐きまくる」のです。
その他の回答 (1)
- MSZ006
- ベストアンサー率38% (390/1011)
#pragma warning push #pragma warning disable 752 ワーニングの出る行 #pragma warning pop な感じでワーニングを出させないという方法もあります。
お礼
早速のご返答ありがとうございます
お礼
早速のご返答ありがとうございます 頑張ります