私は2つのファイルを持っている:ポインタを介してファイルの静的変数に別のファイルからアクセスできますか?
static FIFO inputBuffer;
static FIFO outputBuffer;
そしてbuffer.c
、同様に、FIFO
構造体を管理するためにsevenalの機能があります:
void FIFOGet(FIFO* buffer, uint8_t* data, uint8_t length)
これらの機能uart.c
、それは4-5thラインにおける牽引変数を持っています一般的な使用のため、をbuffer.c
に直接決してポインタで処理することはありません。 ablove関数は次のようにuart.c
から呼び出されます。
FIFOGet(&inputBuffer, someArray, n)
しかし、この関数の中で私がbuffer
の値(私は関数を呼び出すときinputBuffer
は0x04f0に位置していることを知っているが、buffer
の値が0x04eaで失われた - これをoutputBuffer
を指している、私は140%の関数呼び出しがうまくいると確信している、私はoutputBuffer
を渡すことはありません)。これは、inputBuffer
をstatic
と宣言したために発生しますか?その場合は削除しますが、にextern FIFO inputBuffer
を入力する必要がありますか?誰かが正確にどのように動作するかを説明できるかどうかが欲しいです。
「静的な」変数を読んで... –