私は、freeRTOSをAT32UC3A0512で動作するアプリケーションに統合しようとしています。私は(それがAT32UC3Aをサポートしています)EVK1100ためfreeRTOSプロジェクトの例をダウンロードして自分のアプリケーション階層がどのように見えるので、カーネルのソースファイルを含めるようにしてみてください。既存のプロジェクトにfreeRTOSを統合する
src
|ASF
|main.c
|freertos
|freertos-7.0.0
|source
今では
int main()
{
char str[5];
uint8_t num;
enable_Timer();
enable_Timer_Interrupt();
sprintf (str, %03d, num);
while(1)
{
// Wait the timer interrupt to happen
}
}
のような主要なルックスちょうど私のプロジェクトからfreertosフォルダを除いて、タイマ割り込みが発射され、すべて正常に動作します。
私はfreertosフォルダを含める(含まれていないか、freertosソースへの呼び出しは行われません)。
それは狂気のようだが、私はsprintf
の行動がこのように変化しているのか分からないとも私はsprintf
との関係と割り込みコントローラ
フィードバックをいただきありがとうございます。実際には同じタイマーが呼び出されていますが、freeRTOSタイマーを設定するには 'prvSetupTimerInterrupt'までです。私はfreeRTOSから関数を呼び出さなかったと言いました。 – fedi
'sprintf'を呼び出す前にwhileループを置き、タイマーISRをブレークポイントにすると、タイマーは作業を中断します – fedi