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.

[参考译文] CC3220MOD:我们自己 PCB 上 UART 驱动程序库的奇怪行为

Guru**** 2539500 points
Other Parts Discussed in Thread: CC3220MOD

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/728928/cc3220mod-weird-behavior-of-the-uart-driver-lib-on-our-own-pcb

器件型号:CC3220MOD

嗨、大家好、

在这里寻找灵感...

我有一个简单的程序、只需初始化 UART 框架并在 UART 0上发送一些数据。 我将使用 TI 驱动程序和驱动程序库两种实现方式进行测试。  

在 LAUNCHXL 上:两种实施方式都可以正常工作。

在我们的 PCB 上:TI 驱动程序工作正常,但驱动程序库不发送(也不接收)任何数据。

有什么想法可以做什么?

这是一个问题:如果我使用 TI 驱动程序运行调试会话、然后(不拔下调试器插头或重新启动电路板)、驱动程序库也可以正常工作!!!  

感谢您的帮助!  

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

    您可能未正确设置 UART 的 pinmux。

    1月
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    别这么认为。 那么 TI 驱动程序实施将如何工作?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    原因在 TI 驱动程序内部自动设置 pinmux。 如果使用了 driverlib、则需要自行设置 pinmux。

    UART0和引脚55、57的引脚多路复用示例:

    MAP_PRCMPeripheralClkEnable (PRCM_UARTA0、PRCM_RUN_MODE_CLK);
    MAP_PinTypeUART (PIN_55、PIN_MODE_3);
    MAP_PinTypeUART (PIN_57、 PIN_MODE_3); 

    (笑声) 此外、请确保不要在 TI 驱动程序中使用 UART、否则需要使用 drivelib

    1月

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

    谢谢! 谢谢!

    一点:我们使用的是 CC3220MOD、我们的 UART 引脚的数量为 uart0: 46和48、uart1:48和49。 但很显然、我们必须使用 CC3220正常引脚编号。 最终将达到:

    void CC3220MODSF_initGeneral (void)
    {
    PRCMCC3200MCUInit();
    power_init();
    
    // UART 0 (时钟初始化、TX 和 RX 响应)
    MAP_PRCMPeripheralClkEnable (PRCM_UARTA0、PRCM_RUN_MODE_CLK);
    MAP_PinTypeUART (PIN_55、PIN_MODE_3);//必须使用 CC3220引脚编号系统引脚55 <->引脚46 (请参阅 CC3220MOD 数据表 P13)
    MAP_PinTypeUART (PIN_57、PIN_MODE_3);//必须使用 CC3220引脚编号系统引脚57 <->引脚47 (请参阅 CC3220MOD 数据表 P13)
    
    // UART 1 (时钟初始化、TX 和 RX 响应)
    MAP_PRCMPeripheralClkEnable (PRCM_UARTA1、PRCM_RUN_MODE_CLK);
    MAP_PinTypeUART (PIN_58、PIN_MODE_6);//必须使用 CC3220引脚编号系统引脚58 <->引脚48 (请参阅 CC3220MOD 数据表 P13)
    MAP_PinTypeUART (PIN_59、PIN_MODE_6);//必须使用 CC3220引脚编号系统引脚59 <->引脚49 (请参阅 CC3220MOD 数据表 P13)
    } 

    您可以确认这一点吗?

    为了使用 UART 驱动程序库、是否需要设置任何其他参数?

    再次感谢!

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

    是的、您需要使用 QFN 的引脚编号。 CC3220MOD 内部采用集成 QFN 芯片。 芯片本身不知道这是嵌入在模块中的。

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