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.

[参考译文] CC3135:CC3135移植- sl_IfRegIntHdlr (InterruptHdl、pValue) API 详细信息

Guru**** 2553450 points
Other Parts Discussed in Thread: CC3135, CC3100

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/929289/cc3135-cc3135-porting---sl_ifreginthdlr-interrupthdl-pvalue-api-details

器件型号:CC3135
主题中讨论的其他器件: CC3100

我正在尝试将 CC3135 UART 驱动程序移植到 NXP i.MXRT 1052处理器。

我对 sl_IfRegIntHdlr (InterruptHdl、pValue) API 有一些疑问。 我有以下问题。

根据 CC3100编程人员指南、此 API 为主机 IRQ 线路注册中断处理程序例程。

这是否意味着它启用中断或其他功能?

2.需要传递给 CC3135的参数包含哪些数据?

是否有任何特定的结构和指针组合需要传递给此 API?

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

    您好、Suhel、

    sl_IfRegIntHdlr 应同时寄存主机 IRQ 线路的中断处理程序函数并启用中断。

    2.第一个参数应该是指向 P_EVENT_handler 类型的中断处理程序函数的指针(在 cc_PAL.h 中定义了 P_EVENT_handler)。 您只需创建一个中断处理程序函数、并在调用 sl_IfRegIntHdlr 时键入 cast 为 P_EVENT_handler。 第二个参数是指向任何内存结构的指针、因此可以选择为 NULL。

    此致、

    Paul

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

    感谢你的答复。

    但我仍然不清楚。  

    我的问题如下-  

    1.注册 sl_IfRegIntHdlr API 所执行的中断的含义是什么?

    2.如果我传递 sl_IfRegIntHdlr API 中断处理程序的函数指针、即使没有调用中断、我的中断处理程序函数也会执行。

    3. P_EVENT_handler 宏的数据类型是什么? 在代码中、定义如下所示-  

    #define P_EVENT_Handler SL_P_EVENT_handler  

    但是、代码中未定义 SL_P_EVENT_Handler。

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

    您好、Suhel、

    sl_IfRegIntHdlr API 负责注册中断服务例程、该例程将在主机 IRQ 线路上触发中断时执行。 应将 API 的第一个参数(中断处理函数的指针)注册为触发中断时的回调函数。

    2.如果禁用主机 IRQ 线路的中断,则不会执行中断服务例程,因为不会触发中断。

    3.从 cc_pal.h (在 CC32xx SDK 移植层中)定义了 sl_P_EVENT_handler:

    typedef void (* sl_P_EVENT_handler)(void);
    
    #define P_EVENT_handler sl_P_EVENT_handler 

    此处的 typedef 将 sl_P_EVENT_handler 定义为函数指针类型。 函数返回 void、参数列表未指定。

    如果您使用 SimpleLink Wi-Fi 插件 SDK 移植层作为参考、您可能会看到它定义为:

    typedef void (* sl_P_EVENT_handler)(unsigned int 索引); 

    类似地、这会将 sl_P_EVENT_handler 定义为函数指针类型。 该函数再次返回 void、但参数会列出 unsigned int。

    此致、

    Paul