📝 はじめに
こんにちはpiyovateです。
組み込み開発で CS+(Renesas)を使ってデバッグしているとき、
変数の値はウォッチで簡単に確認できます。
しかし、配列になると少し困ることがあります。
ウォッチでは
sensor[0] = 120
sensor[1] = 118
sensor[2] = 121
...
のように確認はできますが、
配列の値をまとめてコピーすることができません。
今回、センサーの感度確認のため
100個の配列データを取得する必要があり、手動確認は大変だったため
「もっと楽な方法はないか?」と調査しました。
その結果、メモリパネルを使う方法が一番実用的だったのでまとめます。
🎯 今回の概要
今回の記事では以下を紹介します。
- CS+で配列データをまとめて取得する方法
- メモリパネルを使ったデータコピー方法
- センサー配列データ(100個など)を楽に取得する方法
📌 配列データがコピーできない問題
CS+のウォッチウィンドウでは
sensor[0]
sensor[1]
sensor[2]
のように表示されます。
しかし
- 配列全体コピー
- 範囲コピー
といった操作ができません。
例えば
int16_t sensor[100];
のようなデータを確認する場合
100個の値を1つずつコピーするのは現実的ではありません。
🛠️ メモリパネルを使う方法
そこで使えるのが メモリパネルです。
① 配列の先頭アドレスを確認
ウォッチに配列を追加します。
例
sensor[0]
そこから 配列の先頭アドレスを確認します。
例
sensor[0] = 0xFFF82000
② メモリパネルを開く
メニューから
表示 → メモリ
を選択します。
③ 先頭アドレスを入力
メモリパネルのアドレス欄に
0xFFF82000
のように入力します。
すると配列のメモリ内容が表示されます。
④ 表示形式を変更
右クリック → 表示形式
設定例
| 項目 | 設定 |
|---|---|
| 表記 | 符号付き10進 |
| サイズ | 2バイト |
例えば
int16_t sensor[100]
の場合
この設定にすると センサー値をそのまま確認できます。
⑤ 必要な範囲をコピー
配列100個なら
100 × 2byte = 200byte
分をドラッグ選択して
Ctrl + C
でコピーできます。
そのまま
- Excel
- メモ帳
- CSV
などに貼り付け可能です。
🔜 まとめ
CS+のウォッチでは配列データをコピーできませんが、
メモリパネルを使うことで簡単に取得できます。
今回の手順まとめ
- 配列の先頭アドレスを確認
- 表示 → メモリ
- アドレス入力
- 表示形式を設定(符号付き10進 / 2byte)
- 範囲選択してコピー
センサーなど 大量の配列データを確認するときに非常に便利なので
同じ問題で困っている方の参考になれば嬉しいです。
それではまた次の記事でお会いしましょう✨