找回密码
 立即注册

微信扫码登录

查看: 518|回复: 5

uart连不上

[复制链接]

10

主题

13

回帖

124

积分

不屈白银

积分
124
发表于 2024-9-20 01:51:34 | 显示全部楼层 |阅读模式
本帖最后由 长虹掩日 于 2024-9-20 10:29 编辑

大家有正常运行的麻烦帮我看一眼。硬件是8278dongle,uart转usb通讯板用的cp2102芯片

也是我这边的问题太多了。问下版主,有没有官方培训班或者其他什么获得知识的途径?

1
按照手册,bootloader/app_cfg.h设置 #define UART_PRINTF_MODE 1   
sampleGW\app_cfg.h  中关闭 #define ZBHCI_UART 0,打开 #define UART_PRINTF_MODE 1
按照sdk设置通讯板RX使用dongle的pc6脚,115200波特率 (设置1M时,使用zgc无法收到信息)
在sampleGateway.c 文件user_init最后 TL_ZB_TIMER_SCHEDULE(bc, NULL, 3 * 1000);   串口无法收到信息,led正常循环。

int bc(void *arg) // 定时器回调函数
{
  gpio_toggle(B_LED);
  printf("uart con test\n");
  return 0;
}


2
bootloader/app_cfg.h设置 #define UART_PRINTF_MODE 0
sampleGW\app_cfg.h  中打开 #define ZBHCI_UART 1,关闭 #define UART_PRINTF_MODE 0

按照代码中设置,#define UART_TX_PIN UART_TX_PD7  #define UART_RX_PIN UART_RX_PA0,交叉连接通讯板的收发端口
打开zgc,波特率115200,打开端口后,发送命令无回复





微信截图_20240920020400.png

27

主题

166

回帖

571

积分

版主

积分
571
发表于 2024-9-20 14:32:47 | 显示全部楼层
你好,


/* Debug mode */
#define        UART_PRINTF_MODE                                0


这个宏是用来控制使能printf()的,用来打印输出调试信息。
微信截图_20240913160657.png



/* HCI interface */
#define ZBHCI_UART                                        0


上面的宏是用来使能HCI的,打开HCI后可以配合ZGC上位机工具实现串口通讯。
微信截图_20240920143102.png

10

主题

13

回帖

124

积分

不屈白银

积分
124
 楼主| 发表于 2024-9-20 16:00:34 | 显示全部楼层

是的,手册这部分我都看了
1
#define UART_PRINTF_MODE 1输出调试信息。我找了一个可以自定义波特率的软件,1M下指示灯正常,但是依然收不到任何信息,只有重启板子的时候收到 0x00。所以才用zgc又试了一次,依然没有。所以我是哪里少设置什么了吗?

2
是的,HCI配合zgc收不到信息,只有发送,就像我上面的截图

2

主题

23

回帖

9031

积分

版主

积分
9031
发表于 2024-9-20 17:11:20 | 显示全部楼层
本帖最后由 TL_ZXD 于 2024-9-20 17:15 编辑
长虹掩日 发表于 2024-9-20 16:00
是的,手册这部分我都看了
1
#define UART_PRINTF_MODE 1输出调试信息。我找了一个可以自定义波特率的软件 ...

你好,
首先第一个问题,打印是否是用的如下函数接口?(printf函数属于编译器自带的函数,需要用户或者开发工具制作者提供一些底层的函数支持,我看SDK代码里应该是下面的函数)
image.png



我这边不是专业zigbee开发组的。我大概看了一下代码,针对(1)的情况,思路如下:

#define UART_PRINTF_MODE 1  

如果按照上述定义,那么打印函数的底层函数依次追踪应该如下:
image.png


image.png


image.png


所以,如果想定位问题,应该是反向来验证:
1  用 reg_gpio_out(DEBUG_INFO_TX_PIN)=0, 或者  reg_gpio_out(DEBUG_INFO_TX_PIN)=1  ,看能否控制IO口的高低变化。
2  用 _attribute_ram_code_ void soft_uart_putc(unsigned char byte) ,看能否通过串口输出一个byte。
3  用 Tl_printf 看能否正常打印。



27

主题

166

回帖

571

积分

版主

积分
571
发表于 2024-9-23 14:58:04 | 显示全部楼层
长虹掩日 发表于 2024-9-20 16:00
是的,手册这部分我都看了
1
#define UART_PRINTF_MODE 1输出调试信息。我找了一个可以自定义波特率的软件 ...

首先,建议先检查一下硬件连接是否正确,是否做了共地处理;
其次,修改代码后记得先clean再build。

10

主题

13

回帖

124

积分

不屈白银

积分
124
 楼主| 发表于 2024-9-24 15:27:45 | 显示全部楼层
TL_YB 发表于 2024-9-23 14:58
首先,建议先检查一下硬件连接是否正确,是否做了共地处理;
其次,修改代码后记得先clean再build。 ...

供电用的uart转usb的电源,是共地的
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Telink forum ( 沪ICP备17008231号-1 )

GMT+8, 2024-12-21 23:38 , Processed in 0.083900 second(s), 21 queries .

Powered by Telink 隐私政策

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

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