- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- Permalink
- 印刷
- 不適切なコンテンツを報告
TimerCounterコンポーネントのinterruptに isr_Timeout1 を追加し、
自動生成された isr_Timeout1.c に #include "xxx.h" を追記しましたが、
しばらくすると Build時に xxx.hの内容が定義されていないという
warning が発生し、isr_Timeout1.cを確認すると #include "xxx.h" が消えていました。
自動生成ファイル(isr_Timeout1.c)への追記内容が消去される原因が分かりますでしょうか?
個人的には isr_Timeout1.cの自動生成後に、何らかの要因で2回目のファイル自動生成処理が走り、
追加した処理が消えてしまったのではないか?と考えております。
解決済! 解決策の投稿を見る。
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- Permalink
- 印刷
- 不適切なコンテンツを報告
こんばんは、
Generated_Source 以下のファイルは基本的に generate application を行う度に上書きされてしまいます。
例外的に(私の例では) isr_Timeout.c の isr_Tiemout_interrupt 関数内の
/* `#START isr_Timeout_Interrupt` */ と書かれている行から
/* `#END` */ と書かれている行までの間に記述された内容は保存されるようです。
(timer_isr_test_190419B)
=================
CY_ISR(isr_Timeout_Interrupt)
{
#ifdef isr_Timeout_INTERRUPT_INTERRUPT_CALLBACK
isr_Timeout_Interrupt_InterruptCallback();
#endif /* isr_Timeout_INTERRUPT_INTERRUPT_CALLBACK */
/* Place your Interrupt code here. */
/* `#START isr_Timeout_Interrupt` */
#include "Timer.h"
extern volatile int timeout_flag ;
Timer_ClearInterrupt(Timer_INTR_MASK_TC) ;
timeout_flag = 1 ;
/* `#END` */
}
=================
また、このように Generated_Source 以下のファイルを触りたくない場合には
ユーザー領域のソース (main.c 等) 内で下記のように記述すると
ユーザーの ISR がデフォルトの ISR の代わりに使用されるようです。
※ 私はもっぱらこちらを使用しています。
(timer_isr_test_190419A)
=====================
CY_ISR(my_timeout_isr)
{
...
}
...
isr_Timer_StartEx(my_timeout_isr) ;
...
=====================
添付は CY8CKIT-044 用のサンプルプロジェクトです。
moto