TI中文支持网
TI专业的中文技术问题搜集分享网站

CC2652R: UART外设打印log初始化

Part Number:CC2652ROther Parts Discussed in Thread:SYSCONFIG, , SIMPLELINK-CC13XX-CC26XX-SDK

硬件平台:CC26x2R LaunchPad development kit

SDK版本:simplelink_cc13xx_cc26xx_sdk_7_10_02_23

IDE: Code Composer Studio

导入的工程:simple_peripheral

问题:我在分析打印log的UART初始化,想看一下UART是怎么初始化的,代码分析到下图所示的部分,其中  DisplayUartMin_fxnTable  这个变量找不到定义,全局搜索也没有搜到。

Yolande Wang:

您好,

看到您用 VS Code 打开了 simple_peripheral 工程,图片中打开的是 CC2640R2_LAUNCHXL 板文件,这是 IDE 配置链接的库文件。

请参阅以下链接,SimpleLink MCU SDK Driver API Reference:

https://dev.ti.com/tirex/explore/content/simplelink_cc13xx_cc26xx_sdk_7_10_02_23/docs/drivers/doxygen/html/index.html#display

我会再确认一下这个变量的定义,有进展回复您。

,

Yolande Wang:

您好,

您截图里面 CC26X2R1_LAUNCHXL.c 中的 Display_config 实际上没被调用,真正调用的是 SysConfig 生成的 ti_drivers_config.c 中的 Display_config 。

ti_drivers_config.c里面是:

const Display_Config Display_config[CONFIG_Display_COUNT] = {/* CONFIG_Display_UART *//* XDS110 UART */{.fxnTablePtr = &DisplayUart2Min_fxnTable,.object= &displayUart2Object,.hwAttrs= &displayUart2HWAttrs},
};

CC26X2R1_LAUNCHXL.c 这个文件是旧版的,有 SysConfig 之后这个文件已经不用了。

旧版的 UART driver 略有不同。

所以变量名不一样。

,

user4952053:

好的,非常感谢您的回答,但是又有一个新的疑问,DisplayUart2Min_fxnTable 这个变量是在哪里定义又是在哪里初始化的呢?我想看到实际初始化配置UART的那部分代码。

全局搜索只找到了一个声明:

extern const Display_FxnTable DisplayUart2Min_fxnTable;
extern const Display_FxnTable DisplayUart2Ansi_fxnTable;

,

Yolande Wang:

user4952053 说:DisplayUart2Min_fxnTable 这个变量是在哪里定义又是在哪里初始化的呢?

这个变量 DisplayUart2Min_fxnTable 是直接在  SysConfig 定义且生成的。

user4952053 说:我想看到实际初始化配置UART的那部分代码。

驱动程序配置文件包含TI 驱动程序在运行时所需的所有 driver configurations 。SysConfig 工具用于自动生成 TI-Driver 的配置文件。目前为 TI 驱动程序生成两个文件:

ti_drivers_config.c
ti_drivers_config.h

请参阅 DisplayUart2.h File Reference ,里面有个 Usage Example,希望能够帮助到您。

,

user4952053:

好的,非常感谢,我看芯片datasheet上描述有两个UART可用,但看了Driver里的代码,好像只有UART2的驱动,且被用作打印log 了,现在我想使用另一个UART跟其它MCU通信,我该怎么配置,也参考这个吗?

Yolande Wang 说:请参阅 DisplayUart2.h File Reference ,里面有个 Usage Example,希望能够帮助到您。

,

Yolande Wang:

您好,

要添加多个 UART,您需要添加第二个 UART 模块,选择所需的 TX 和 RX 引脚,然后添加相关逻辑以在应用程序中启用第二个 UART。

在 CC2652R 上,任何 GPIO 都可以用作 UART 引脚。

请参阅该部件的数据表或技术参考手册的 21 章节 :

直接从 sysconfig 添加 2 个 UART,配置这两个 UART 的引脚,DMA 通道应该是 0 和 1,您可以在 sysconfig 中的生成文件更改。

另外Release Notes中有提到,在 SIMPLELINK-CC13XX-CC26XX-SDK v6.20 中,UART TI 驱动程序已被弃用并被 UART2 取代。

您可以参考一下资料:

BLE5-Stack Migration Guide 里面的 UART to UART2 Porting Guide
TI Drivers Runtime APIs

希望能够帮助到您。

,

user4952053:

好的,谢谢,看了之后DMA还是不知道怎么配置,请问有demon工程可以参考吗

,

Yolande Wang:

您可以参考导入的 simple_peripheral  工程。

DMA 配置查看下图即可:

,

user4952053:

你好,感谢您的回复,我按照这个配置,然后编译,好像不起作用,ti_drives_config.c文件内没有任何变化.

,

Yolande Wang:

您好,

是的,我的截图是 simple_peripheral  工程原来的配置。

您需要点击右上角 Add 添加一个新的,根据您的需求进行配置,参考下图:

,

Yolande Wang:

您好,

直接点击 Add ,系统会默认配置 Pin5、Pin6 为 RX TX。

您在 ti_drives_config.c 可以看到添加的代码。

,

user4952053:

谢谢

,

Yolande Wang:

不客气!

,

user4952053:

这里我按照提示配置,只有正常UART的配置,并没有关于DMA的选项,我选择第二个选项又DMA相关的配置,但并不起作用,也没有代码生成

,

Yolande Wang:

是的,如果您只是想增加一个 UART 使用,您按照我下面那个回复中的流程进行操作。

,

user4952053:

我的项目UART需要使用DMA,但是到目前为止我查阅的资料都没有找到DMA怎么配置的

,

Yolande Wang:

不用另外配置 DMA .

现在版本的SDK中UART2 driver已经用了DMA了.

请参阅以下链接:https://dev.ti.com/tirex/explore/content/simplelink_cc13xx_cc26xx_sdk_7_10_02_23/docs/drivers/doxygen/html/_u_a_r_t2_8h.html

,

user4952053:

好的,非常感谢!Thumbsup

,

Yolande Wang:

不客气,欢迎随时来论坛交流!

赞(0)
未经允许不得转载:TI中文支持网 » CC2652R: UART外设打印log初始化
分享到: 更多 (0)

© 2024 TI中文支持网   网站地图 鲁ICP备2022002796号-1