電子書籍の厳選無料作品が豊富!

PIC16F1938で世界時計を作ろうと模索中です。
TIMER2で基準となるUTC時刻を刻むことはできましたが、
SWを押すたびにJST、NY、・・・。と表示を変えてゆきたいのですが、
いざプログラムを組んでテストをしてみたところ、通電し初期値のUTCが無事表示されたのですが、
SWを押したところNY時間が文字化けしてしまいました。
詳しい方よろしくお願いします。


--------------------下記コード抜粋--------------------

time = 14400; // 午前4時ジャストからカウント開始
time_2 = 0;
day = 1;
day_2 = 2;

if(SW == 0){ // UTC
time_2= time;
day_2= day;

}else if(SW == 1){ // JST
if((time + 9*3600) >= 24*3600){
time_2 = 0;
time_2 = (time + 9*3600) % 24*3600;
day_2 = day+1;
}else{
time_2 = time + 9*3600;
}
}else if(SW = 2){ // NY
if((time - 5*60*60) <= -1){ // NY (冬時間-5時間)
time_2 = (time - 5*60*60) % 24*60*60;
day_2=day-1;
}else{
time_2 = time - 5*60*60;
}
}

A 回答 (1件)

具体的になにがどう「文字化け」してるのか知らないけど, 例えば


time_2 = (time + 9*3600) % 24*3600;

time_2 = (time - 5*60*60) % 24*60*60;
の右辺の意味を正しく理解できていないとか?

ああ,
else if(SW = 2){ // NY
のところも変だな.
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
お礼が遅れてしまい申し訳ございません。
結論、知恵を絞りコーディングしたところ期待してい通りに動きました。

お礼日時:2019/05/01 09:33

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!