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.

[参考译文] 编译器/LAUNCHXL2-TMS57012:了解回调函数(halcogen API 中的通知)

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/617998/compiler-launchxl2-tms57012-understanding-callback-function-notifications-in-halcogen-api

器件型号:LAUNCHXL2-TMS57012
主题中讨论的其他器件:HALCOGEN

工具/软件:TI C/C++编译器

目前我使用 halcogen 作为 MCU 组件的驱动程序.... 在 API 中,有几个函数将在发生中断事件时调用(假设 VIM 模块的适当设置).... 我想知道由 halcogen 生成的代码中的哪一部分会导致在 SCI/LIN 模块接收到字符时调用 sciNotification()函数。

我的 skim 包含头文件,但找不到任何内容...  

如果问题不清楚,请告诉我提供更多信息. 提前感谢。

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

    您好!

    SCI/LIN 模块有两条中断线路、电平0和电平1 、连接到矢量中断管理器(VIM)模块(通道13用于电平0、通道27用于电平1。 默认情况下、中断处于中断级别0。 SCISETINTLVL 将给定的中断设置为1级。 SCICLEARINTLVL 将给定的中断级别复位为默认的0级。 中断向量寄存器 SCIINTVECT0和 SCIINTVECT1返回挂起中断线路 INT0或 INT1的向量。 如果有多个中断挂起、那么中断向量寄存器将保存最高优先级的中断。

    HALCoGen 中的示例:

    1.启用 SCI 驱动程序

    2.启用 RX 中断、优先级为0级(高电平)

    3.在 VIM 通道0-31中、启用通道13 (步骤2中选择的0级)。

       在 VIM RAM 中:通道13的 SCI ISR 是线性高电平中断


    4.生成代码,ISR 位于 sci.c 中


    5.在发送和接收之后,它将跳转到 sciNotification 以进行数据处理


    6. HALCoGen 生成的 sciNotification()为空,您需要添加代码来处理数据。

     

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好 QJ... Tnx 答复...
    我注意到 linHighLevelInterrupt()。 首先,我们要问另一个问题,即在发生中断时如何调用 linHighLevelInterrupt()函数。 此问题通过#pragma Interrupt 语句或 gcc arm 属性(参考 spnu151p:ARM 优化 C/C++编译器)获得答案。
    再次选择 Tnx。