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.

[参考译文] TM4C123GH6PM:我只能使用 Uart0 (它使用 PA0和 PA1)、但当我更改为使用其他 UART (Uart1-7)时、它们无法工作、我对此非常困惑。

Guru**** 2535750 points
Other Parts Discussed in Thread: EK-TM4C123GXL

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/820204/tm4c123gh6pm-i-can-only-use-uart0-which-uses-pa0-and-pa1-but-when-i-changed-to-use-other-uart-uart1-7-they-cannot-work-i-am-really-puzzled-about-it

器件型号:TM4C123GH6PM
Thread 中讨论的其他器件:EK-TM4C123GXL

int main (空)


   SysCtlClockSet (SYSCTL_SYSDIV_1_SYSCTL_USE_OSC|SYSCTL_XTAL_16MHz| SYSCTL_OSC_MAIN);

   SysCtlPeripheralEnable (SYSCTL_Periph_GPIOC);


   SysCtlPeripheralEnable (SYSCTL_Periph_UART3);

   GPIOPinConfigure (GPIO_PC6_U3RX);
   GPIOPinConfigure (GPIO_PC7_U3TX);
   GPIOPinTypeUART (GPIO_PORTC_BASE、GPIO_PIN_6 | GPIO_PIN_7);


   UARTConfigSetExpClk (UART3_base、SysCtlClockGet ()、9600、
                       (UART_CONFIG_WLEN_8 | UART_CONFIG_STOP_ONE |UART_CONFIG_PAR_NONE);

   UARTEnable (UART3_base);


   while (1)
   {

       SysCtlDelay (4000000);

       sprintf (发送、"嗨、人、这是 Tiva\r\n");

       I = 0;

       while (send[i]!='\0')
       {
           UARTCharPut (UART3_base、send[i]);
           i++;
       }
  }

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

    使用 sprintf()时出现问题。 我怀疑是没有堆空间。 我可以在周一在办公室里更近地查看它。 UART 工作正常。 尝试;

    #include 
    #include 
    #include 
    #include "inc/hw_types.h"
    #include "inc/hw_memmap.h"
    #include "driverlib/sysctl.h"
    #include "driverlib/gpio.h"
    #include "driverlib/uart.h"
    #include "driverlib/pin_map.h"
    
    int main (void)
    {
    unsigned int i;
    const char send[]="嗨、这个是 Tiva\r\n\0";
    
    SysCtlClockSet (SYSCTL_SYSDIV_1_SYSCTL_USE_OSC|SYSCTL_XTAL_16MHz| SYSCTL_OSC_MAIN);
    
    SysCtlPeripheralEnable (SYSCTL_Periph_GPIOC);
    
    
    SysCtlPeripheralEnable (SYSCTL_Periph_UART3);
    
    GPIOPinConfigure (GPIO_PC6_U3RX);
    GPIOPinConfigure (GPIO_PC7_U3TX);
    GPIOPinTypeUART (GPIO_PORTC_BASE、GPIO_PIN_6 | GPIO_PIN_7);
    
    
    UARTConfigSetExpClk (UART3_base、SysCtlClockGet ()、9600、
    (UART_CONFIG_WLEN_8 | UART_CONFIG_STOP_ONE |UART_CONFIG_PAR_NONE);
    
    UARTEnable (UART3_base);
    
    
    while (1)
    {
    
    SysCtlDelay (4000000);
    
    I = 0;
    
    while (send[i]!='\0')
    {
    UARTCharPut (UART3_base、send[i]);
    i++;
    }
    }
    
    
    

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

    您似乎发现了问题。 (邮箱: https://e2e.ti.com/support/microcontrollers/other/f/908/t/820259)。 是的、只有 UART0连接到 EK-TM4C123GXL Launchpad 上的虚拟串行端口。 要将其他 UART 连接到 PC、需要正确的驱动器芯片(例如 RS232)和计算机端口。

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

    大家好、Bob、我记得您说 sprintf 可能不太好、我不知道为什么我不能在 CCS 中使用 sprintf 和 printf、您能向我解释一下吗?

    我再提出一个有关 UART 中断的问题,再问: TM4C123GH6PM:我想知道 UART 中断何时开始工作,UARTCharPut()完成后它是吗?您能帮我看一下吗?

    希望你能理解我的中文英语,哈,非常感谢。

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

    printf()和 sprintf()可在 TM4C 器件上使用,但它们需要大量的堆栈和堆。 使用 UARTprintf()的示例程序中使用的默认值不足以实现完整的 printf()功能。 下面是一篇文章、其中包含对其进行更多解释的链接:

    https://e2e.ti.com/support/microcontrollers/other/f/908/t/819188

    发送中断发生的时间是可配置的。 在数据表的第901页、它将产生的发送中断定义为:

    因此、要回答您的问题、具体取决于(1)是否使用 FIFO 模式、(2) FIFO 中断的设置级别、或(3) EOT 位是否设置。 默认情况下、复位时、FIFO 未启用、EOT 未置位。 UART 用作双缓冲 UART。 对 UARTCharPut()的第一次调用将字符放入缓冲区。 该函数将立即返回、字符将立即传输到移位寄存器。 缓冲区现在为空、因此发生 TX 中断(如果被启用)、为下一个字符做好准备。 对 UARTCharPut()的下一次调用(如果在移位缓冲区清空之前调用)将把第二个字符放入缓冲区并返回。 这一次、在移位缓冲区清空并且第二个字符从缓冲区传输到移位寄存器之前、不会发生中断。

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

    感谢您的善意帮助、Bob。

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

    您好、王先生、

    供应商的 Bob (再次)"深入"并为您提供了"关键运营详情"、从而帮助您解决问题。

    我的年轻员工(和我)认识到您(持续)渴望学习并"掌握"这些复杂 的 ARM MCU。

    为此目的-我们是否可以建议我们的几个"(和/或疯狂)"(最常见的)行之有效?

    • Bob 从他的经验以及 MCU (关键和主题重点)数据手册中"获得了他的回应"。   不清楚您是否已在 MCU 手册的"重点外设主题领域"中对"海量数据"进行了类似的识别
    • 您在打印 这些"关键 MCU、 外设寄存器详细信息"时付出的时间/努力将极大地帮助您的学习(我们相信)。   Print (打印)使您能够"经皮查看"多个关键寄存器-这种"屏幕视图"无法实现!   产生的"后退/后退"(即无限)滚动-不能证明您的朋友。
    • 员工(喜欢)将粘贴从 MCU 手册复制到他们自己(个人)的 MCU 提示中、这样他们就可以:
      • 突出显示(粗体、斜体等)
      • 着色
      • 添加关键注释-即使在(周/月)之后也能实现"理解"!

    我们强制(仅限于)使用8.5 x 11 (英寸)纸张、这样可以"轻松且正确地归档"和/或放入活页夹中-进一步帮助学习和回顾。  简短的"纸子和/或信封"很难"正确归档、而且尺寸更小、因此会丢失。   而且-如果客户(在会议期间) 发现"他公司的项目"-住在"垃圾"上-小心!

    您的愿望值得称赞-专注于此类"效率方法"和"巩固(保证)您的理解"-可能会"加快、简化和提升"您的学习和成就。   阿尔利斯!

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

    您好,CB1_MOBILE 先生,我非常感谢您的耐心和无私的帮助,这是贵公司的秘密吗? HH.

     我正在为中国的 TI 杯做准备。在你们的帮助下、我一定要 获得一个好的成绩。谢谢你们、CB1。

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

    王先生

    你写的这篇文章显示了极大的善意-我(主要)的年轻员工(7)以及"老警卫(3 > 45)"非常感激。  此外、我们的团队定期与"顶级"互动:大学教授、行业专家和成熟的"创意"(在国际基础上)、极大地"利用/扩展/增强"我们公司的能力、尤其是成就!

    您的"语言选择"(尤其是"耐心和无私")能够很好地传达(传递) 您的、 爱、亲切和不可满足的好奇心。

    有时(正如这里的"年轻员工"所意识到的) -考虑"神/意"以加速学习非常重要!   这里的员工接受了(大部分)单身教师-多名学生"模型"。   这并不奇怪-对于正确的(聪明和高度激励的)团队-这些学生会快速地"站起来"、"互相教"-和(甚至... 常好)'CB1'-他们所称的教师/培训师。

    您是否可以找到-和/或发展这样一个(本地)"团队?"   即使是著名的“Lone Ranger”(*)也有一个缺点-“独自”去证明“不是掌握技术的最佳手段!”   论坛请求是(无法提供)"即时小组思考/分析" 和/或"系统掌握"(MCU 之外)-两者都在这里练习(每天)("chez CB1 -设备齐全、后台"!)   这种响应迅速且技能娴熟的"团队"(可能也由您组建)肯定会加速并强化学习...

    (*) Lone Ranger 是(过去)美国西部(执法)电台、然后 是电视"人物"-"在评级中处于领先地位..."  他(美国印第安人)的伙伴 Tonto (为他提供了巨大的帮助)。  正如(甚至他们)所指出的那样-这证明了"提供并保持某种平衡" -工作量是有利的。

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

    大家好,Bob,我 想知道你是如何得到这张照片的,你能教我吗?

    https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/908/2465.Capture.PNG

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

    CB1先生,您好,我非常感谢您细心周到的帮助,我是上海交通大学中国分校的3年级学生,在   暑假期间,我非常惊讶和荣幸地从国外得到如此热烈的建议。 我可以有更多的自由时间从我的外国朋友你那里了解更多信息。再次感谢你,感谢 Bob。

     实验室的王利国

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

    您好!

    我使用了基于 USB 的逻辑分析仪/协议分析仪。 我拥有的是 Intronix Logicport。 它有点旧。 我认为它的成本大约为400美元。 有多种品牌可供选择。 只需在 Web 上搜索"USB Logic Analyzer"即可。

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

    Bob,400美元,… 对我来说很贵,呃

    在这个问题上、您能给我提供帮助吗?TM4C123GH6PM:_IQNtoF 将 IQ 数字转换为浮点值、但我无法获得正确的结果、

    拉尔夫也回答了我的问题。