アプリ版:「スタンプのみでお礼する」機能のリリースについて

いま、H8S2368でプログラミングを行っていて、変数に入れたデータをprintf文でシリアルで出力して確認したいと思い、



BYTE cur;
long addr;

cur = TMR1.TCSR.BYTE;
addr = (long)&cur;
printf("data:%X add:%X\n\r",cur,addr);


このようにプログラムしました。
curに入ったデータはH8S2368マイコンの0xFFFFB3番地のTCSR_1というアドレスなので、一応そのアドレス番地の値も表示したいと思い設定したのですが、


”data:C0 add:FF”
という表示が出てきます。

アドレスが0xFFFFB3と出てこないのはなぜなのでしょうか?

A 回答 (1件)

printf("data:%X add:%p\n\r", TMR1.TCSR.BYTE, (void*)&TMR1.TCSR.BYTE);


なのでは?

一度変数に入れれば、その変数のアドレスになるので。
    • good
    • 0
この回答へのお礼

回答頂きありがとうございました。

printf("data:%X addr:%p\n\r", TMR1.TCSR.BYTE,(void*)&TMR1.TCSR.BYTE);
これでやってみたら、

data:C0 addr:ffffb3
このように表示されました。

お礼日時:2010/01/07 16:01

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