This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TRF7970A:将 NFC 堆栈移植到 STM32 - ISR

Guru**** 2540720 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/other-wireless-group/other-wireless/f/other-wireless-technologies-forum/694072/trf7970a-porting-nfc-stack-to-stm32---isr

器件型号:TRF7970A

亲爱的支持者!

我将把您的 NFC 完整堆栈从 sloa192a 移植到我们的系统中。 我们使用2个 STM32f0xx 微控制器、使用对等配置在2个电路板之间进行通信。

当 TRF7970提升 IRQ 线路时、我对处理事件的中断服务例程(ISR)感到困惑。

您有2个 ISR:(在 TRF79x0.c 文件中)

tTRF79x0_IRQFlag TRF79x0_irqHandler (uint16_t ui16TimeOut)

和  

已启用#ifdef MSP432P401R_Launchpad
void TRF79x0_isrHandler (void)

uint32_t status;

STATUS = GPIO_getEnabledInterruptStatus (TRF_IRQ_PORT);
GPIO_clearInterruptFlag (TRF_IRQ_PORT、STATUS);

if (status & TRF_IRQ)

G_ui8IrqFlag = 0x01;


#endif

我  在任何位置都看不到 void TRF79x0_isrHandler (void)调用 tTRF79x0_IRQFlag TRF79x0_irqHandler (uint16_t ui16TimeOut)  

那么 、TRF79x0_IRQFlag TRF79x0_irqHandler (uint16_t ui16TimeOut)是如何调用 acording 和中断事件的呢?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Quang、

    TRF79x0_irqHandler API 不是 ISR。

    调用 TRF79x0_irqHandler 来为 IRQ 事件的发生提供时间。 如果 IRQ 事件发生、它将报告该事件、如果在分配的时间内未发生 IRQ 事件、则 API 会报告超时。 这是 trf79x0.c 中 TRF79x0_writeFIFO API 和 NFC_controller.c 中的 NFC_waitForCommand API 中使用的 API
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您的支持。
    ISR 是 void TRF79x0_isrHandler (void)、它所做的就是设置标志"g_ui8IrqFlag = 0x01"、tTRF79x0_IRQFlag TRF79x0_irqHandler (uint16_t ui16TimeOut)将通过该标志检查中断状态?

    将 NFC 堆栈移植到 stm32f0xx MCU。 您是否有关于兼容性的注意事项?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Quang、

    对于 MSP432器件、TRF79x0_isrHandler 会执行此操作。 对于 MSP430器件、IRQ 引脚的 ISR 处理程序位于 lp_buttons.c 文件中、因为应用特定的 LaunchPad 按钮也需要 IRQ 引脚的同一端口、 由于 MSP430的 ISR 结构要求该端口具有单个 ISR、因此我们必须在常规端口 ISR 下的 LP_buttons.c 文件中具有 TRF79x0_isrHandler 的功能。

    纠正 TRF79x0_irqHandler 通过该标志检查中断状态的问题。 它还使用另一个标志检查来自 MCU 定时器外设的超时状态。 如果超时发生在 IRQ 之前、则它将报告超时。 此功能已根据 NFC 标准进行测试、以确保按照时序标准正确运行。

    我们没有 STM 微控制器的相关经验、也不能说兼容性。 我想不会有问题。 尽管请注意、如果您遇到问题、由于缺乏知识、我们可能很难提供支持。