RTC を制御する AVR-atmega プロセッサを使用しています。atmega では、RTC からの時間が構造体として保存されます。
typedef struct {
uint8_t year;
uint8_t month;
uint8_t hours;
uint8_t minutes;
"and so on..."
} time_t;
atmega にグローバル変数 "time" (volatile time_t *time;) があります。
RTCで正しい時刻を設定するために、現在の時刻の配列をUSB経由でatmegaに送信するCプログラムを作成しました。
atmegaのUSB機能では、コードは次のとおりです。
time = (void *) data;
data は、C プログラムから現在の時刻とともに送信された配列です。これは正しい方法ですか?私の問題は、atmegaから時間を読み取ろうとすると、つまりatmegaが構造体を返すときに、時々ランダムな値を取得しますが、ほとんどの場合、実際に設定された時間を取得します。
私はそれをいくらか理解できるように説明したことを願っています..
ありがとう
// ノクセット