找回密码
 立即注册

微信扫码登录

查看: 504|回复: 13

[UART] 如何关闭uart

[复制链接]

11

主题

15

回帖

199

积分

荣耀黄金

积分
199
发表于 2025-2-10 19:32:34 | 显示全部楼层 |阅读模式
Information
说明:   建议参照本版块置顶帖内容输入必要信息
芯片型号: 8258
驱动SDK版本: b85m_ble_single_connection_sdk_V3.4.2.4
原来采用的低功耗模式,但是发现uart初始化后,芯片进入深度休眠后,功耗还是很大;

这边想请教下,有没有什么办法,在我进入深度休眠之前,关闭uart; 唤醒后,再启用uart

11

主题

15

回帖

199

积分

荣耀黄金

积分
199
 楼主| 发表于 2025-2-20 09:29:23 | 显示全部楼层
哎,10天了,都没有人回复

3

主题

72

回帖

290

积分

版主

积分
290
发表于 2025-2-20 17:12:10 | 显示全部楼层
亲,莫慌,我帮你问问

11

主题

15

回帖

199

积分

荣耀黄金

积分
199
 楼主| 发表于 7 天前 | 显示全部楼层
快一个月了,

0

主题

15

回帖

72

积分

版主

积分
72
发表于 7 天前 | 显示全部楼层
您好,可以帮忙在详细描述下您的使用吗,比如1、xx代码情况下(无uart代码段),实测功耗为xx 2、xx代码情况下(有uart代码段),实测功耗为xx

11

主题

15

回帖

199

积分

荣耀黄金

积分
199
 楼主| 发表于 4 天前 | 显示全部楼层
TL_CKX 发表于 2025-3-7 16:53
您好,可以帮忙在详细描述下您的使用吗,比如1、xx代码情况下(无uart代码段),实测功耗为xx 2、xx代码情 ...

1.初始化时,加入以下代码后,蓝牙深度休眠时,功耗是200微安左右
/**
* 初始化UART串口初始化
*/

void user_uart_init(void)
{
        // 设置Tx和Rx引脚
        uart_gpio_set(UART_TX_PIN_PB1, UART_RX_PIN_PB0);
        // 复位串口寄存器
        uart_reset();
        //波特率115200,无奇偶校验,1位停止位
        uart_init(9, 13, PARITY_NONE, STOP_BIT_ONE);
        uart_dma_enable(0, 0);//禁用DMA功能
        dma_chn_irq_enable(FLD_DMA_CHN_UART_RX | FLD_DMA_CHN_UART_TX, 0);//禁用DMA 收发中断
        uart_irq_enable(1,0);   //使能rx接收中断,禁用tx发送中断
        uart_ndma_irq_triglevel(1,0);   //触发等级1,接收单字节触发中断
        irq_enable();//使能中断
}
2.如果无uart初始化代码,蓝牙深度休眠时,功耗是1微安左右

0

主题

12

回帖

56

积分

不屈白银

积分
56
发表于 4 天前 | 显示全部楼层
本帖最后由 TL_BL 于 2025-3-10 16:38 编辑

您好,能帮忙检查一下执行 user_uart_init 那一行代码时功耗开始增加?我们这边也会同步查看该问题。

0

主题

9

回帖

60

积分

不屈白银

积分
60
发表于 4 天前 | 显示全部楼层
您好,使用如下软件+硬件测试睡眠电流
    软件:tc_platform_sdk V3.1.0
    硬件:TLSR8258DK48_C1T139A30_V1.2
    PM_Demo:睡眠模式选择 DEEP_PAD_WAKEUP
加入 user_uart_init 和不加 user_uart_init 睡眠电流均为:3.8uA

  1. void user_uart_init(void)
  2. {
  3.         // 设置Tx和Rx引脚
  4.         uart_gpio_set(UART_TX_PB1, UART_RX_PB0);
  5.         // 复位串口寄存器
  6.         uart_reset();
  7.         //波特率115200,无奇偶校验,1位停止位
  8.         uart_init(9, 13, PARITY_NONE, STOP_BIT_ONE);
  9.         uart_dma_enable(0, 0);//禁用DMA功能
  10.         dma_chn_irq_enable(FLD_DMA_CHN_UART_RX | FLD_DMA_CHN_UART_TX, 0);//禁用DMA 收发中断
  11.         uart_irq_enable(1,0);   //使能rx接收中断,禁用tx发送中断
  12.         uart_ndma_irq_triglevel(1,0);   //触发等级1,接收单字节触发中断
  13.         irq_enable();//使能中断
  14. }
复制代码

11

主题

15

回帖

199

积分

荣耀黄金

积分
199
 楼主| 发表于 3 天前 | 显示全部楼层
TL_LX 发表于 2025-3-10 18:04
您好,使用如下软件+硬件测试睡眠电流
    软件:tc_platform_sdk V3.1.0
    硬件:TLSR8258DK48_C1T139A3 ...

您好,我这边用的是b85m_ble_single_connection_sdk_V3.4.2.4的b85m_ble_sample;硬件和您的一样的;

0

主题

9

回帖

60

积分

不屈白银

积分
60
发表于 3 天前 | 显示全部楼层
本帖最后由 TL_LX 于 2025-3-11 09:57 编辑
yuantq 发表于 2025-3-11 09:32
您好,我这边用的是b85m_ble_single_connection_sdk_V3.4.2.4的b85m_ble_sample;硬件和您的一样的; ...

您好,您用  tc_platform_sdk V3.1.0 代码试下呢,看是不是 ble 代码引入的问题
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Telink forum ( 沪ICP备17008231号-1 )

GMT+8, 2025-3-14 04:17 , Processed in 0.085679 second(s), 20 queries .

Powered by Telink 隐私政策

泰凌微电子版权所有 © 。保留所有权利。 2024

快速回复 返回顶部 返回列表