ARM 組み込みアプリケーションを開発しています。私はちょっとばかげた問題で立ち往生しています - 私は符号なしの8ビット整数の配列を持っています:
uint8_t days[42] = { 0 };
それはいくつかのデータで初期化されています - 初期化アルゴリズムは混乱を招き、問題とは関係のない多くの変数を導入するので、ここでは再投稿しません. デバッガーの変数ウォッチにこの配列が表示され、0 から 31 までの整数値で埋められていることは確かです。
この配列の任意の要素、たとえば 15 番目を取得char*
して、LCD 画面に表示できるように変換したいと思います。関数を使用して書き直しsprintf
ます:
char d[3] = { '0', '0', '0' };
sprintf(d, "%d", days[15]);
1 つだけ注意してください。いいえ、このstdlib
itoa()
関数は MISRA-C 規格に準拠していないため、使用できません。MISRA-C 規格に従う義務があります。
その結果、d
バッファーにバイナリ ゼロの値しか取得できません。何か案は?