1

質問を更新して曖昧さを減らしました。

sqliteのようなものが完璧になるように、センサーデータを時間ごとにログに記録する予定ですが、atmega328pのようなものではリソースが多すぎます。ほとんどの検索はuC外で行われます。

他の人は何を使っていますか?フラットテキストファイル?XML?より複雑なデータ構造?


フィードバックをお寄せいただきありがとうございます。他の人が何を使っているかを知るのは良いことです。今のところ、uCでの文字列処理を排除するために、データ構造をシリアル化してバイナリファイルに保存することにしました。

4

2 に答える 2

2

何年も前ですが、同様のプロジェクトでフラット テキスト ファイルを使用したことがありますが、それでもその環境には適したアプローチだと思います。オンチップでデータを処理する必要がないため、できるだけ効率的に (オーバーヘッドをできるだけ少なく) する必要があります。

ただし、より柔軟性が必要で、スペースをそれほど気にしない場合は、各フィールドが明確に識別される JSON オブジェクトを保存する方がよいでしょう。オブジェクトを作成するためのオーバーヘッドはわずかですが、解釈側で複雑なロジックを使用せずにフィールドを追加および削除できます。XML ではなく JSON を選択するのは、オーバーヘッドが約半分 (スペース、およびおそらく処理中) であるためです。

于 2011-08-19T18:47:13.167 に答える
1

328 のような小さなマイクロコントローラでは、スペース要件を決定することが非常に重要です。

各レコードのサイズはどれくらいですか? いくつのレコードを保存しますか? マイクロコントローラーからどのように記録を取得しますか?

Doug のように、私は通常フラット テキストを使用してデータを保存します。したがって、1 日に 1 回値を保存する場合、各レコードには年、通算日、および値が含まれる場合があります。

ファイルは次のようになります。

11,314,100<cr>
11,315,99<cr>
11,316,98<cr>
11,317,220<cr>

約 90 ~ 100 レコードを保存でき、3 か月ごとにデータをダンプする必要があります。

1kEEprom が保持する容量 (200 個の 5 バイト レコード、100 個の 10 バイト レコード、または同様のもの) を超える必要がある場合は、IC、SD、またはフラッシュを使用して追加のメモリが必要になります。

メモリを取り外して PC に接続する場合は、SD またはフラッシュが最適です。

FTDIChip.com の vinculum チップを使用して、ファット ファイルをフラッシュ ドライブに簡単に書き込むことができます。

于 2011-08-20T01:53:24.373 に答える