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/SW-EK-TM4C1294XL:UART 端口6在 launchpad 上无法正常工作

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/597766/ccs-sw-ek-tm4c1294xl-uart-port-6-not-working-on-launchpad

器件型号:SW-EK-TM4C1294XL

工具/软件:Code Composer Studio

你(们)好

我正在尝试在 Launchpad 套件上配置 UART6 p (引脚118和119分别为 U6 Rx 和 Tx)。 但是、该程序在尝试设置波特率时崩溃。 在注释时、在引脚119和118上看不到任何数据。

我要附加程序

define 开关#deifine UART6_Launchpad 选择 U6

如果注释掉、则原始 UART0在控制台模式下使用串行端口运行。

谢谢

Pavitrae2e.ti.com/.../uart_5F00_echo.c

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

    在 UART6的设置/配置中、会出现出色的"并行性"(与工作中的 UART0)-非常好!

    是否有可能针对"UARTConfigSetExpClk()"的"ROM 函数"不会扩展为包含"UART6"?   您可以使用"闪存功能"来测试该理论。

    您肯定注意到、UART6本身无法生成或安全地响应"除"3V3"电压电平之外的"电压电平。"   (我不认为 UART6是通过"ICDI"路由的-您应该确认这一信念。)

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

    PAVILITRA、

    配置 UART6的代码没有任何问题。 它不会崩溃、我在这里进行了测试。

    当您说程序"尝试设置波特率"时崩溃时、请仔细查看。 它是其他东西。 当您说"崩溃"时、执行会发生什么情况?

    一种可能是当您尝试配置外设时外设尚未就绪:添加一个 while (SysCtlPeripheralReady (Yed_Periph));启用每个外设后、就像一个好的做法一样。 但是、您的 UART6仍然远远没有启用(除非您的硬件有问题...) 甚至可能是您没有足够的堆栈大小的情况。

    配置 UART 引脚后、TX 信号应保持高电平(发送字节期间除外)。 您能确认情况是这样吗? 您在哪里尝试"查看"发送的字符? 范围? RS232接收器? 逻辑分析仪? 另一个 LaunchPad????

    此致

    布鲁诺

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

    [引用 user="Bruno Saraiva"]一种可能是外设未正确启用

    文字播放进入这里-不是吗?    "正确启用"是什么意思?    是否可以(部分)启用?    (排除任何(故意/巧妙)实现此类"部分授权"的尝试/方法。)

    是否应启用外设"未启用"-我们预计会在很早的时间(首次调用该外设功能时)发生崩溃-我们是否不启用?

    海报通过将(通常) 3个最终参数减至它们的"逻辑或"(0)来"从(与 UART0的并行)"断开"-显示在其代码中。   ROM 的功能可能会"偶然"在上面吗?   (我知道海报 Bruno 在调用 "UARTConfigSetExpClk()" 函数时通常使用地图而不是 ROM -这将(避免)任何 ROM 问题。)

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

    [引用 user="CB1_mobile "]您的意思是"正确启用?"    是否可以(部分)启用?

    实际上、是的、是的!

    对于任何外设、此处的做法是:

    SysCtlPeripheralEnable (SYSCTL_Periph_GPIOH);
    
    while (!SysCtlPeripheralReady (SYSCTL_Periph_GPIOH)){}
    
    

    (是的、使用 MAP_、当然还有正确的 periph 宏)

    外设可能需要几个周期才能准备就绪、启用后立即尝试访问外设可能会导致故障。 老实说、我从未看到过这种情况、因为启用后通常会有一些行的可移动代码、但是...  

    如果我正确记住了他的代码、他说他发生了崩溃的那一行就是第一次偷进这样的外设...  

    [引用 USER="CB1_MOBILE "]将(通常) 3个最终参数减至其"逻辑或"(0)[/quot]

    不、他的代码的其余部分也有其他问题。 我将他的 UART6代码粘贴到我的项目中、UART 配置正常-崩溃可能不在发布位置。

    我不相信"UARTPrintf"、UARTSend 等内容... 不是因为它们不起作用、而是当我开始使用它们时、它们只被编码为 UART0、并且需要对其他端口进行更改、因此最后我们有自己的。

    布鲁诺

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

    我们仍在进行"定义/含义"辩论。 我知道(并且早已知道)有必要为外设"唤醒"提供足够的时间。

    但是、您使用的"正确启用"建议("已启用"或"已禁用"以外的其他选项)为"已启用"或"已禁用"! (即部分启用)  这是我的观点!   我建议您的(否则是正确的)语言改为:"可能是外设未启用!"    "启用"应为"黑白"(即启用或禁用)-不包括任何"分区"(甚至是"艺术"制作的分区!)

    我在机场-笔记本电脑崩溃-我添加了一个条款(上面的帖子)、用于解决"部分启用外设"的任何"有艺术气息"尝试。 (这可能是-并且(这)是您使用"正确"启用的储蓄对冲。)

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    已正确编辑第一次答复-以防万一!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    啊、注意我们(深思熟虑)的海报提供了一种"双重动力"! (我的全部意志都是为了避免()。)

    奇怪的是、我们的字段-其中999个正确的代码行-和一个错误行-将(相当)标记为"Bums!"    因此,应该非常重视我们的著作--描述--目标----总是有减少(理想地消除)模糊的目标!     (即、如何将一个代码定义为"模糊"要求-更糟糕的是-如何将合同绘制为多个"模糊"要求?)

    我听到(几个)问:"为什么这么说-大不了!"    在项目的定义和操作中实现精确度、使代码的开发和测试变得更快、更简单、并且最能使法律部门 crüe 能够"快速/顺利地浏览提议/合同的"可交付目录林"。               (即"正确"(之前出现在这里)由谁定义?    因此应避免。。)

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

    [引用 user="CB1_mobile "]其中999条正确的代码行-和一条错误代码行-将(公平地)将我们标记为"Bums!"

    药物:999正确的手术和1个错误标签作为责任...

    航空:999正确的着陆和1个碰撞标签作为历史记录...