• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PIC18F1320でwarningがでる)

PIC18F1320でwarningがでる

このQ&Aのポイント
  • PIC18F1320でwarningがでる。MPLAB X IDE v3.26およびXC 8を使用しています。
  • warningがでるが、プログラムは動作する。しかし、warningをなくしたい。
  • 8ビット符号なし整数型を使用する理由は、LCD液晶表示装置を使用するためであり、キャラクターコードをLATB(PORTB)に送るために制御している。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

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になったりしないよう制御してある コンパイラそのものは「制御してるとかどうとか、そんなことは知ったこっちゃない」ので、とにかく「怪しそうな部分はワーニングを吐きまくる」のです。

DCPICuF
質問者

お礼

早速のご返答ありがとうございます 頑張ります

その他の回答 (1)

  • MSZ006
  • ベストアンサー率38% (390/1011)
回答No.2

#pragma warning push #pragma warning disable 752 ワーニングの出る行 #pragma warning pop な感じでワーニングを出させないという方法もあります。

DCPICuF
質問者

お礼

早速のご返答ありがとうございます

関連するQ&A