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.

[参考译文] CCS/TMS570LC4357:基于中断的发送和接收 UART

Guru**** 2589300 points
Other Parts Discussed in Thread: HALCOGEN, TMS570LS1224, LAUNCHXL2-570LC43

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/749491/ccs-tms570lc4357-interrupt-based-transmit-and-receive-uart

器件型号:TMS570LC4357
主题中讨论的其他器件:HALCOGENTMS570LS1224LAUNCHXL2-570LC43

工具/软件:Code Composer Studio

尊敬的先生:  

我需要基于中断 的通过 UART 发送和接收帧。 首先、我想接收一个帧(基于中断)、然后我必须发送一个帧(也基于中断)。  我知道我必须在 hl_notification.h 文件中使用 scisend()和 scireceive()。 但我感到困惑 的是、一旦我接收到一个10字节的帧、就会生成中断、并且我必须读取数据。 之后、我必须发送一个10字节的帧、如何为其写入逻辑?

请帮帮我

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    主席先生,
    我发现 sci.c 中存在 ISR、但我想知道它将从何处获得长度值。 据我所知,该值必须在 scireceive()和 scisend()函数中传递。

    在哪里可以调用 scireceive()和 scisend()?

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

    您好!

    附件是使用中断接收数据的项目(HALCoGen 和 CCS)。 它适用于 TMS570LS1224、但可用于参考。 e2e.ti.com/.../6378.UART_5F00_TMS570LS1224_5F00_TX_5F00_RX.ZIP

    此致、

    米罗

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    主席先生,
    但我收到错误"Lin1HighLevelInterrupt Not Defined"。 问题可能出在哪?

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

    您好!
    您可以附加项目吗?

    此致、
    米罗

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

    尊敬的先生:

    我将项目附加在这里。 在项目中、我将持续切换两个 LED (LAUNCHXL2-570LC43)。 我想实现基于中断的接收 UART、然后发送接收到的帧。

    请帮帮我。 在 hl_notification.c 中调用 sciSend() 我所理解的是、一旦产生中断、执行将被转移到 lin1HighLevelInterrupt()、然后在 HL_notification.c 的 scinointification ()中将 ISR 转移到 lin1HighLevelInterrupt()

    e2e.ti.com/.../3542.uart_5F00_int_5F00_exmpl.rar

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

    您好!

    在附加的代码中、当按下按钮时、SCI1发送5个字节。 SCI1连接到 SCI3。 当 SCI3接收到数据时、会产生中断。

    sciReceive 的第一个调用用于接收设置。 每次产生中断时、传输一个字节。 传输完所有字节后、调用 sciNotification 以设置新接收。 在调用 sciNotification 回调之前,不能再次调用 sciReceive。

    e2e.ti.com/.../1184.UART_5F00_TMS570LS3137_5F00_SCI1_5F00_SCI3.ZIP

    您可以修改代码以发送接收到的数据。

    此致、

    米罗

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

    主席先生,  

    我正在使用 CCSv7.3。 我无法打开 您附加的项目。 问题可能出在哪?

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

    您好!

    zip 存在问题。

    请重试此操作:

    e2e.ti.com/.../1273.UART_5F00_TMS570LC4357_5F00_SCI1_5F00_SCI3.zip

    此致、

    米罗

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

    谢谢先生! 我稍微修改了代码、但无法从计算机串行端口接收数据。 我要在此处附上修改后的代码

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    要使用_enable_IRQ_interrupt_(),请 在 hl_sys_main.c 中放入#include "hl_sys_core.h",或将其替换为_enable_IRQ ()。

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

    主席先生,

    仍然无法接收5个字节的帧。 从代码中我理解的是一旦接收到完整的帧,就会生成中断,并将执行转移 到 scinoint化()。 但在我的情况下,它不会发生。

    谢谢你

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

    此致、
    米罗