AURIX TC3xx芯片LIN通讯中断寄存器中断触发机制

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

cross mob
Sivan
Level 3
Level 3
5 sign-ins First question asked Welcome!
我在使用vector davinci导入lin通讯ldf文件之后,直接在os模块的os_isr中生成了对应的3个中断: SRC_ASCLINxTX(ASCLINx Transmit Service Request) SRC_ASCLINxRX(ASCLINx Receive Service Request) SRC_ASCLINxERR(ASCLINx Error Service Request) 我查找芯片手册,配置好了以上三个对应的中断寄存器地址,但是在实际通讯中始终无法触发LIN通讯的中断。请问LIN通讯的这几个中断触发(中断寄存器置位)的条件是什么? TX:是否是LIN报文(比如主节点的帧头)成功发送,就会触发中断? RX:是否是识别到LIN transceiver发过来LIN报文(比如来自从节点的response),就会触发中断? ERR:识别到什么类型的错误,就会触发中断? 而且我发现这三个中断寄存器,在vector中会强制在代码中生成同一个中断向量,也就是三个中断共用同一个终端服务函数,这样子是正常的吗? 麻烦大神解答一下,非常感谢!
0 Likes
1 Solution
Jeremy_Z
Moderator
Moderator
Moderator
1000 replies posted 250 sign-ins 100 likes received

Hi @Sivan ,

1) LIN对应的中断触发类型请参考用户手册中的36.3.11 Interrupts。

Jeremy_Z_0-1703576503508.png

2) 在vector中会强制在代码中生成同一个中断向量,也就是三个中断共用同一个终端服务函数,这样子是正常的吗?

-- 不正常,三个中断触发源有对应SRC寄存器需要配置,当然中断优先级也可以各自选定。

BR,

Jeremy

View solution in original post

0 Likes
1 Reply
Jeremy_Z
Moderator
Moderator
Moderator
1000 replies posted 250 sign-ins 100 likes received

Hi @Sivan ,

1) LIN对应的中断触发类型请参考用户手册中的36.3.11 Interrupts。

Jeremy_Z_0-1703576503508.png

2) 在vector中会强制在代码中生成同一个中断向量,也就是三个中断共用同一个终端服务函数,这样子是正常的吗?

-- 不正常,三个中断触发源有对应SRC寄存器需要配置,当然中断优先级也可以各自选定。

BR,

Jeremy

0 Likes