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/CC1350:cc1350

Guru**** 2539500 points
Other Parts Discussed in Thread: CC1350, CC1350STK

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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/738629/ccs-cc1350-cc1350

器件型号:CC1350

工具/软件:Code Composer Studio

您好!

我想使用 cc1350 UART。 我从 nortos UART 回波示例开始。

我能够使用 UART_WRITE 调用在 UART 上发送字节(我使用示波器进行了检查)、但当我调用 UART_Read 时、过程不会返回。  

我担心会发生中断、但我看不到任何中断过程、所发生的情况是:

-如果在我调用 UART_Read 时 TXD 连接到 RXD、程序将不会返回(我正在使用 cc1350 Launchpad 板进行调试)

-如果 TXD 未连接到 RXD、则 UART_READ 返回、但显然没有数据。

注意:我将引脚 DIO2和3设置为 UART Rx 和 TX

井:

1) 1)我的分析是否正确?

2) 2)我能否在没有中断的情况下工作(我能否对此提供帮助)?

3) 3)是否有其他建议?

谢谢你

Maurizio Stefani

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

    您使用的是哪个 SDK 版本?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    大家好、感谢您的回答、

    我使用的是 Code Composer Studio 8.2.0

    Maurizio
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    CCS 不是 SDK。 您使用的是哪个 SimpleLink CC13x0 SDK 版本?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Maurizio、

    这是 IDE 版本、我们需要 SDK 版本(包含 uartecho 示例的软件包)。 此外、您说它基于 uartecho 示例、但您是否执行了任何修改并不清楚。 您能否分享一些您正在做的事情(如果可能的话、也可以分享一个完整的示例)、我们可以查看这些事情并试用一下?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我很抱歉、
    我使用的是 cc1350 Launchpad

    谢谢你
    Maurizio
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    请注意、您是否有用于输入和输出的有效 CCS 选择? 我一起闭合 DIO2和 DIO3以进行测试
    Maurizio
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Maurizio、

    是的、uartecho 示例就是这样。 但是、简单地桥接 TX 和 RX 可能会导致数据丢失、因为 UART 模块未设置为在发送数据时接收数据(可能是这样的、但本示例并未考虑到这一点)。

    我建议您只需使用串行终端连接到器件以验证"回波"功能、就可以尝试该示例。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    抱歉、
    我从一个回显示例"C:\ti\simplelink_cc13x0_sdk_2_30_00_20\examples\nortos\CC1350STK_drivers\uartecho"开始、其中:
    - DIO2和3未设置为输出为 UART,但为 generioc IO
    -当 UART_READ 调用被执行时、程序不会继续

    请:
    您能否提供该程序的新副本?

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

    为了澄清这一点,您的案例中的 SDK 版本为2.30.00.20 (正如您在 SimpleLink_cc13x0_SDK_*路径中看到的那样):)
    如果您使用的是 CC1350 LaunchPad、则应包含 CC1350_LAUNCHXL 文件夹中的示例、将为:
    \examples\nortos\cc1350_LAUNCHXl\drivers\uartecho

    如果您需要新的副本、只需从 CCS 工作区中删除工程(选中"Delete project content on disk"复选框)并重新导入示例。 执行此操作时、请查看该示例的自述文件、并验证该示例是否按文件中所述工作。 请勿桥接 TX 和 RX、而是使用串行终端连接到 LaunchPad 串行端口。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    好的、
    我稍后会检查

    谢谢你
    Maurizio
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    使用您建议的程序。 但是
    -我正在发送计数器的值,但我收到了错误的数据。
    我等待完成初始阶段、在该阶段完成后放置一个断点、并保持断点设置
    比我跳过 DIO2和 DI03、在 DIO2和 DIO3之间的 cc 期间、确实会产生一些噪声、但程序会停止、噪声应该会结束。

    请按照以下几条说明操作:
    A=1;
    while (1){
    UART_READ (UART、INPUT、1);
    UART_WRITE (UART、&A、1);
    A++;

    断点在程序递增 A (A++)的位置设置
    请帮帮我。

    谢谢你
    Maurizio
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    系统正在传输、但接收到的数据错误。
    初始化阶段完成后、我跳过 DIO2和 DIO3。
    请查找随附的我正在使用的简短计划
    /*循环永久回显*/
    A=1;
    while (1){
    UART_WRITE (UART、&A、1);
    UART_READ (UART、INPUT、1);
    A++;

    该点位于线路 A+中

    请让我问:
    -如果数据被接收或在任何情况下返回、UART_READ 将返回。 我想在任何情况下使用该退货。
    请帮帮我。

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

    您可以在传递给 UART_open()调用的 UART 参数中设置"readTimeout"。 如果设置此选项,则在以阻塞模式运行时(如 uartecho 示例中所做的那样),UART_READ()调用将在超时后返回。

    此致、

    最大
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    我会尝试这个、
    关于 UART_READ、它是否在阻塞模式下工作?如果是、我是否可以在有数据时将其更改为返回任何情况下的信令? 否则、您可以帮助我直接使用寄存器(我是说使用"C")来管理 UART_Rx 吗?

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

    是的、您可以在"回叫模式"下使用驱动程序、驱动程序文档中提供了这方面的一个示例:

    dev.ti.com/.../_u_a_r_t_c_c26_x_x_8h.html
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    我了解:
    -在阻塞模式下、UART_READ 不会在接收数据或超时之前返回
    -在回调模式下,UART_READ 会立即返回,但如何理解是否存在数据?
    请举一个例子、说明如何管理直接作用于寄存器的读取阶段?
    换句话说、您是否有 UART_READ 源(用"C"语言表示)?或者至少要执行相应的操作?

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

    我不明白您知道数据是否存在意味着什么? 在分块模式下、函数将返回(因为您接收到 X 个字节或有超时)读取的字节数(如果有)。 在回调模式下、您还可以在函数中获取作为参数读取的实际字节数。

    驱动程序和所有源代码均已打开、您可以查看(一直到 driverlib 中的实际寄存器访问):

    " /source/ti/drivers/uart "和" /source/ti/devices/cc13x0/driverlib/uart

    如果您想了解驱动程序的运行方式、但我无法为您提供一个"寄存器"示例、则您必须自行将其组合在一起。 有多篇论坛文章介绍了如何在没有 TI-RTOS 驱动程序的情况下使用 UART、您可以查看这些文章。