Community Translations - Adding User Code for USB Interrupts in PSoC Creator - KBA230825

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
MiNe_85951
Level 7
Level 7
Distributor - TED (Japan)
50 likes received 500 replies posted 50 solutions authored

Dear Sirs and Madams,

I would like to translate KBA230825, please confirm to my work.

https://community.cypress.com/t5/Knowledge-Base-Articles/Adding-User-Code-for-USB-Interrupts-in-PSoC...

Regards,
Masashi

0 Likes
2 Replies
JennaJo
Moderator
Moderator
Moderator
1000 replies posted 750 replies posted 500 replies posted

Hi, Masashi-san

Confirm to work this KBA.

Thanks.

Regards, 

Jenna Jo
0 Likes
MiNe_85951
Level 7
Level 7
Distributor - TED (Japan)
50 likes received 500 replies posted 50 solutions authored

Jenna-san,

I translated KBA230825 into Japanese.
We would appreciate it if you could confirm.

Regards,
Masashi

/***************************************************************************/

 

PSoC CreatorにおけるUSB割り込みのユーザーコードの追加 - KBA230825

Version: **

質問 : PSoC®3、PSoC 4200-L、およびPSoC 5LPのPSoC Creator™USBコンポーネントにユーザーコードを追加するにはどうすればよいですか?

回答 : PSoC Creator USBコンポーネントには、エンドポイント、SOF、バスリセット、アービター、およびリンク電力管理のそれぞれに関連付けられた割り込みがあります。これらの割り込みがトリガーされた時に、ユーザーはカスタムコードを追加するか、タスクを実行する必要がある場合があります。これは、次の2つの方法を使用して実行できます。

  1. スペースを使用してカスタムコードの追加

この方法では、図1に示すように、提供されたスペース間のそれぞれの割り込みハンドラーにカスタムコードを直接追加できます。

図1 : 割り込みハンドラーにカスタムコードを入力するスペース

MaMi_1205306_0-1627886790812.png

 

 

USBFS_episr.c ファイルには、USBFSコンポーネントでサポートされている全ての割り込みの割り込みハンドラーが含まれています。図1は、エンドポイント1の割り込みハンドラーを示しています。コードを再生成しても、/* `#START EP1_USER_CODE` Place your code here */ と /* `#END`間に挿入されたコードは削除されません。

  1. 割り込みコールバック関数の使用

この方法では、各割り込みハンドラーの最初と最後にあるEntry、およびExitコールバック関数を使用します。

  • コールバックの存在を通知するマクロを(cyapicallbacks.h 内に)定義します。 これにより、コンポーネントのソースコードからの関数呼び出しが「コメント解除」されます。
  • 関数宣言を (cyapicallbacks.h内に)記述します。これにより、この関数が全てのプロジェクトファイルに表示されます。
  • 関数の実装を任意のユーザーファイルに書き込みます。

次の例は、SOF割り込みの場合にエントリーコールバック関数を使用する方法を示しています。

  • cyapicallbacks.hで USBFS_SOF_ISR_ENTRY_CALLBACKのマクロ を定義します。cyapicallback.hが USBFS_episr.cに含まれていることを確認して下さい。これにより、USBFS_SOF_ISR_EntryCallback()が有効になります。

図2 :  コールバック関数のコメントを解除するマクロ

MaMi_1205306_1-1627886790821.png

 


  • cyapicallback.hファイルでUSBFS_SOF_ISR_EntryCallback()関数を宣言します。

図3 : cyapicallback.hでマクロと関数を定義する

MaMi_1205306_2-1627886790820.png

 

 

  • 任意のユーザーファイル(この場合はmain.c)でUSBFS_SOF_ISR_EntryCallback()を定義します。USBFSコンポーネントに関連付けられたコールバック関数の詳細については、PSoC Creator User Guideおよび USBFS component datasheet を参照してください。

図4 : 関数を定義する

MaMi_1205306_3-1627886790822.png

 

 

0 Likes