M12AにEEPROM(24FC512)が繋がりましたので、Teraterm上に下記の様なdump リストを表示出来る様に考えています。
目下、頓挫中。
2015/6/7(Sun)
utils::formatを使って其れらしい表示を出すべくやって見ました。
adc_testプログラムを参照しながら001e番地まで取り合えず表示させてみましたが、プログラムの記述(C++)は全く分かりませんのでクイズを解く様な感じです。
左側の0000~001eの0部分はprintfの場合は自動的に0で埋めるようなことが出来た、、、様な、そうでない様な、、、。仕方がないのでかなり泥臭い方法で0で生めています。
001Eの様に大文字にしたいのですが、知恵が回りません。
後はEEPROMの書き込み、読み取りデータの部分を合体させればいいのですが、これが意外と難しい。
% static_cast<uint32_t>(nnn);
++nnn; <---- これは何をしているのか?これが無いとうまく表示ができませーーん。
I2C接続のEEPROMのR/Wについて、色々な意見があったようです。
ただし、I2C用のハードウェアを持たないR8C M12Aで実現するのは幾つもの
工夫が必要です。動作実績のあるソフトウェアが求められていると思います。
さて、16進形式でのメモリダンプですが、ADC_testの中に utils::format と
いう極めて便利な機能が用意されています。
printfに近い使い方が可能で、これを使えばラジオ少年さんが希望するものを
短時間で作成できると思います。
for文などで表示したい領域に対するループを構成すれば、16進形式の表示が
可能になります。
どうもアドバイス有難うございます。
>さて、16進形式でのメモリダンプですが、ADC_testの中に utils::format という極めて便利な機能が用意されています。
なるほど、これを利用すれば出来るのですね。考えてみます。
これに移植する必要があるわけですね。
HEWでも、utils::formatに似た機能を持つsprijntfが使え
るかもしれません。
http://www.geocities.jp/bleis_tift/cpp/newcast.html
C++は、C言語に比べて信頼性を向上させるための工夫が随所に
見られます。C言語が熟練の匠向けの道具で、C++は規格に基づく
工業製品用の道具という印象です。
思います。
http://www-ice.yamagata-cit.ac.jp/forum/viewtopic.php?t=1567&start=19
どうも色々アドバイス有難うございます。これで少し先が見えて来ました。