完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
|
求高手指点迷津!
在使用 Z-Stack Home 1.2.0--2530协议栈定义串口功能时,经常出现串口打印乱码, 搞了好久了都不知道是怎么回事。 在Option的定义如下: FEATURE_GREEN_POWER SECURE=0 xTC_LINKKEY_JOIN xNV_INIT NV_RESTORE xPOWER_SAVING NWK_AUTO_POLL xHOLD_AUTO_START xZTOOL_P1 MT_TASK MT_APP_FUNC MT_SYS_FUNC MT_ZDO_FUNC xLCD_SUPPORTED=DEBUG ZCL_READ ZCL_WRITE ZCL_REPORT xZCL_EZMODE ZCL_BASIC xZCL_IDENTIFY ZCL_DOORLOCK ZCL_SCENES ZCL_GROUPS xHAL_UART_DMA HAL_UART=TRUE xHAL_DMA=0 由于工程问题:本工程是与CC2538通信的,,我尝试过去掉MT_TASK定义,但是编译就会出错,在编译过程中我曾多次想用选择中断方式处理串口数据,但是却一直编译不过,所以一直在DMA模式下工作,并一直出现串口打印乱码。 在多次调用MT_UART层代码测试还是出现问题的情况下,添加了下面部分代码也是同样出错: void rxCB( uint8 port, uint8 event ) [ // extern uint8 SampleApp_TaskID; unsigned char flag=0; uint16 j=0; rxlen=Hal_UART_RxBufLen(0); while (Hal_UART_RxBufLen(0)) //检测串口数据是否接收完成 [ HalUARTRead (0,&bflds[j], 1); //把数据接收放到buf中 j++; //记录字符数 flag=1; //已经从串口接收到信息 ] if(flag) [ flag=0; HalUARTWrite( 0, &bflds[0], j); osal_memcpy(&bflds[0],0,j); j=0; ] ] void Tq_uartInit(void) [ halUARTCfg_t uartConfig; /* UART Configuration */ uartConfig.configured = TRUE; uartConfig.baudRate = MT_UART_DEFAULT_BAUDRATE; uartConfig.flowControl = FALSE; uartConfig.flowControlThreshold = MT_UART_DEFAULT_THRESHOLD; uartConfig.rx.maxBufSize = MT_UART_DEFAULT_MAX_RX_BUFF; uartConfig.tx.maxBufSize = MT_UART_DEFAULT_MAX_TX_BUFF; uartConfig.idleTimeout = MT_UART_DEFAULT_IDLE_TIMEOUT; uartConfig.intEnable = TRUE; uartConfig.callBackFunc = rxCB; HalUARTOpen (0, &uartConfig); ] 总结:求高手百忙中抽空看下是什么原因,帮忙解决下问题,感激不尽!羊年大吉! |
|
相关推荐
6个回答
|
|
|
|
|
|
|
|
|
115200,用2538的例程就不会出现此种问题。 |
|
|
|
|
|
|
|
|
|
|
|
以下是我zstack home 1.2.1下串口的配置,流控关闭, 我之前也有出现乱码的情况,在禁用MT层的所有代码后就不会了,希望对你有帮助 /* UART Configuration */ uartConfig.configured = TRUE; uartConfig.baudRate = HAL_UART_BR_115200; uartConfig.flowControl = FALSE; uartConfig.flowControlThreshold = 5; uartConfig.rx.maxBufSize = UART_MAX_RX_BUF_SIZE; uartConfig.tx.maxBufSize = UART_MAX_TX_BUF_SIZE; uartConfig.idleTimeout = 6; uartConfig.intEnable = TRUE; uartConfig.callBackFunc = UartProcessData; /* Start UART */ HalUARTOpen (HAL_UART_PORT_0, &uartConfig); |
|
|
|
|
wj24021040 发表于 2015-3-5 13:26 都试过了,只有将MT层的宏屏蔽才可以用,不知道是什么情况,还请大侠,帮忙解决下疑问! 谢谢了! |
|
|
|
|
|
貌似是MT层在初始化之后会发一些log消息出来,所以造成乱码。 貌似以前有看到输出过自己的短地址和父设备的短地址 |
|
|
|
|
只有小组成员才能发言,加入小组>>
549 浏览 0 评论
1613 浏览 0 评论
2047 浏览 0 评论
为啥BQ7693003DBTR芯片在和BQ769X0盒子通讯时收不到信号?
1513 浏览 0 评论
DSP 28027F 开发板 XDS100v2调试探针诊断日志显示了 Error -150 (SC_ERR_FTDI_FAIL)如何解决
1337 浏览 0 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
1757浏览 29评论
2781浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
1724浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
1634浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
1645浏览 13评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 07:39 , Processed in 0.762052 second(s), Total 83, Slave 66 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
2975