完善资料让更多小伙伴认识你,还能领取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); |
|
|
|
tuiming817 发表于 2018-6-1 05:16 都试过了,只有将MT层的宏屏蔽才可以用,不知道是什么情况,还请大侠,帮忙解决下疑问! 谢谢了! |
|
|
|
貌似是MT层在初始化之后会发一些log消息出来,所以造成乱码。 貌似以前有看到输出过自己的短地址和父设备的短地址 |
|
|
|
只有小组成员才能发言,加入小组>>
340 浏览 1 评论
533 浏览 2 评论
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
777 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
653 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
1132 浏览 1 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
63浏览 29评论
160浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
253浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
202浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
60浏览 13评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 21:45 , Processed in 0.960103 second(s), Total 90, Slave 73 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号