[戻る]
新着表示

USART送信 ワーニング[解決] 投稿者:radio 投稿日:2017/03/21(Tue) 09:01:16 No.846

n様

情報ありがとうございました。
無事解決できました。

harmony trouble 投稿者:窪田秀明 投稿日:2017/03/20(Mon) 05:45:54 No.844

mplabxide xc32 harmony をインストールし、プロジェクトを立ち上げコード化しましたが peripheralファイルと<stdint.h>がインクルードされません。パスの設定を追加しても解決されません。解決法を教えてください。

Re^2: USART送信 ワーニング 投稿者:tanaka 投稿日:2017/03/19(Sun) 00:47:17 No.843

> 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

情報ありがとうございます。

Re^2: 12F1571 投稿者: 投稿日:2017/03/18(Sat) 12:25:05 No.841

> 初心者は今時、機械語は使わないでしょう・・・

何のための投稿じゃ
荒しと変わらんぞ !

Re: USART送信 ワーニング 投稿者:n 投稿日:2017/03/16(Thu) 21:42:04 No.840

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

USART送信 ワーニング 投稿者:radio 投稿日:2017/03/16(Thu) 16:53:14 No.839

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

Re^2: 12F1571 投稿者:煩悩 投稿日:2017/03/09(Thu) 20:03:42 No.837

はじめましてnさん。

nさんの言うとおりにしたら解決できました。
ありがとうございます。
助かりました。

> 煩悩さん
>
> はじめましてnです。
>
> 以下のコードが、PORTAではなくTRISAをテストしています。
>
> BTFSC PORTA,0 ;SWの確認
> (BTFSC TRTSA,0と同じコード)
>
> TRISAを設定した後、MAIN_LOOPに入る前に、
> BANKSEL PORTAが必要です。
>
> #include <p12f1571.inc>
>
> MAIN
> BCF INTCON,GIE
> BANKSEL PORTA
> CLRF PORTA
> BANKSEL LATA
> CLRF LATA
> BANKSEL ANSELA
> CLRF ANSELA
> BANKSEL TRISA
> MOVLW B'00000011'
> MOVWF TRISA
> BANKSEL PORTA
>
> MAIN_LOOP
> BTFSC PORTA,0 ;SWの確認
> GOTO MAIN_LOOP
> NEXT
> GOTO NEXT
> END
>
> > 初心者です。教えてください。
> >
> > MAIN
> > BCF INTCON,GIE
> > BANKSEL PORTA
> > CLRF PORTA
> > BANKSEL LATA
> > CLRF LATA
> > BANKSEL ANSELA
> > CLRF ANSELA
> > BANKSEL TRISA
> > MOVLW B'00000011'
> > MOVWF TRISA
> >
> > MAIN_LOOP
> > BTFSC PORTA,0 ;SWの確認
> > GOTO MAIN_LOOP
> > NEXT
> >
> > PIC12F1571のピックを使用しています。
> > RA0,RA1は入力。RA2は出力。
> > RA4,RA5は外部クロックに使用しています。
> > MPLAB Xのシミュレータを使用してPORTA,0に変数"1"を入れても
> > 無視されてMAIN_LOOPから抜けだせません。
> > どこが間違っているのでしょうか?よろしくお願いします。

Re: 12F1571 投稿者:n 投稿日:2017/03/09(Thu) 01:12:17 No.836

煩悩さん

はじめましてnです。

以下のコードが、PORTAではなくTRISAをテストしています。

BTFSC PORTA,0 ;SWの確認
(BTFSC TRTSA,0と同じコード)

TRISAを設定した後、MAIN_LOOPに入る前に、
BANKSEL PORTAが必要です。

#include <p12f1571.inc>

MAIN
BCF INTCON,GIE
BANKSEL PORTA
CLRF PORTA
BANKSEL LATA
CLRF LATA
BANKSEL ANSELA
CLRF ANSELA
BANKSEL TRISA
MOVLW B'00000011'
MOVWF TRISA
BANKSEL PORTA

MAIN_LOOP
BTFSC PORTA,0 ;SWの確認
GOTO MAIN_LOOP
NEXT
GOTO NEXT
END

> 初心者です。教えてください。
>
> MAIN
> BCF INTCON,GIE
> BANKSEL PORTA
> CLRF PORTA
> BANKSEL LATA
> CLRF LATA
> BANKSEL ANSELA
> CLRF ANSELA
> BANKSEL TRISA
> MOVLW B'00000011'
> MOVWF TRISA
>
> MAIN_LOOP
> BTFSC PORTA,0 ;SWの確認
> GOTO MAIN_LOOP
> NEXT
>
> PIC12F1571のピックを使用しています。
> RA0,RA1は入力。RA2は出力。
> RA4,RA5は外部クロックに使用しています。
> MPLAB Xのシミュレータを使用してPORTA,0に変数"1"を入れても
> 無視されてMAIN_LOOPから抜けだせません。
> どこが間違っているのでしょうか?よろしくお願いします。

Re: 12F1571 投稿者: 投稿日:2017/03/07(Tue) 13:35:11 No.835

初心者は今時、機械語は使わないでしょう・・・

> 初心者です。教えてください。
>
> MAIN
> BCF INTCON,GIE
> BANKSEL PORTA
> CLRF PORTA
> BANKSEL LATA
> CLRF LATA
> BANKSEL ANSELA
> CLRF ANSELA
> BANKSEL TRISA
> MOVLW B'00000011'
> MOVWF TRISA
>
> MAIN_LOOP
> BTFSC PORTA,0 ;SWの確認
> GOTO MAIN_LOOP
> NEXT
>
> PIC12F1571のピックを使用しています。
> RA0,RA1は入力。RA2は出力。
> RA4,RA5は外部クロックに使用しています。
> MPLAB Xのシミュレータを使用してPORTA,0に変数"1"を入れても
> 無視されてMAIN_LOOPから抜けだせません。
> どこが間違っているのでしょうか?よろしくお願いします。

12F1571 投稿者:煩悩 投稿日:2017/03/07(Tue) 11:44:55 No.834

初心者です。教えてください。

MAIN
BCF INTCON,GIE
BANKSEL PORTA
CLRF PORTA
BANKSEL LATA
CLRF LATA
BANKSEL ANSELA
CLRF ANSELA
BANKSEL TRISA
MOVLW B'00000011'
MOVWF TRISA

MAIN_LOOP
BTFSC PORTA,0 ;SWの確認
GOTO MAIN_LOOP
NEXT

PIC12F1571のピックを使用しています。
RA0,RA1は入力。RA2は出力。
RA4,RA5は外部クロックに使用しています。
MPLAB Xのシミュレータを使用してPORTA,0に変数"1"を入れても
無視されてMAIN_LOOPから抜けだせません。
どこが間違っているのでしょうか?よろしくお願いします。

| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 |

- WebForum -