掲示板


[記事リスト] [返信する] [新着記事] [過去ログ] [ワード検索] [留意事項] [管理用]

記事No 840
タイトル Re: USART送信 ワーニング
投稿日 : 2017/03/16(Thu) 21:42:04
投稿者 n
参照先
radioさん

はじめましてnです。

CCSCのputc()に対応する関数は、
WriteUSART()だと思います。

void putsUSART(char *data);
void WriteUSART(char data);

putsUSART()ですと、引数はchar型データへのポインタ型になります。
一連の警告は、これが原因でしょう。
Cでは、"S"と'S'は似ているが異なる型です(ポインタと整数)
(アセンブラでは、"S"と'S'が同じになるものが多数派です)

以下のコードでご確認ください。
(タイミングをとるコードが必要かもしれません)

//USART送信
WriteUSART('S');//putsUSART("S");同等
WriteUSART('S');
WriteUSART(Direction);
WriteUSART(MLdata >> 8);
WriteUSART(MLdata & 0x00FF);
WriteUSART(MRdata >> 8);
WriteUSART(MRdata & 0x00FF);
WriteUSART(~Direction);
WriteUSART(~(MLdata >> 8));
WriteUSART(~(MLdata & 0x00FF));
WriteUSART(~(MRdata >> 8));
WriteUSART(~(MRdata & 0x00FF));
WriteUSART('E');

> PIC18F2320 + C18コンパイラを使用しています。
>
> 次のサイトを参考にしてUSART通信プログラムを作成しています。
> [参考サイト]
> http://www.picfun.com/Sensor/equipj77.html
>
> USART通信用プログラムをコンパイルすると、
> 大量のワーニングが出てしまい困っています。
>
> ワーニングの原因が分かりません。どなたか教えてください。
>
> //変数の宣言
> static unsigned int Direction;
> static unsigned long MRdata,MLdata;
>
> //USART送信
> putsUSART("S");
> putsUSART("S");
> putsUSART(Direction);
> putsUSART(MLdata >> 8);
> putsUSART(MLdata & 0x00FF);
> putsUSART(MRdata >> 8);
> putsUSART(MRdata & 0x00FF);
> putsUSART(~Direction);
> putsUSART(~(MLdata >> 8));
> putsUSART(~(MLdata & 0x00FF));
> putsUSART(~(MRdata >> 8));
> putsUSART(~(MRdata & 0x00FF));
> putsUSART("E");
>
>
> //ワーニング
> Warning [2066] type qualifier mismatch in assignment
> Warning [2066] type qualifier mismatch in assignment
> Warning [2054] suspicious pointer conversion
> C
> Warning [2054] suspicious pointer conversion
> C
> Warning [2054] suspicious pointer conversion
> C
> Warning [2054] suspicious pointer conversion
> C
> Warning [2054] suspicious pointer conversion
> C
> Warning [2054] suspicious pointer conversion
> C
> Warning [2054] suspicious pointer conversion
> C
> Warning [2054] suspicious pointer conversion
> C
> Warning [2054] suspicious pointer conversion
> C
> Warning [2054] suspicious pointer conversion
> C
> Warning [2066] type qualifier mismatch in assignment

- 関連一覧ツリー (▼ をクリックするとツリーを一括表示します)


- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)
おなまえ
Eメール
タイトル
メッセージ
参照先
画像UP
暗証キー (英数字で8文字以内)
投稿キー (右画像の数字を入力) 投稿キー


- 投稿記事修正/削除フォーム -
処理 No 暗証キー

- WebForum -