最近在做BearPi-Pico H3863的实验作业,在尝试小熊派官方给的UART数据传输测试实验时,发现收发正常,但是打印为空。

场景如图:

硬件连接为将txd和rxd短接。

把逻辑过了一遍发现没有问题,查看官方社区,官方对此的回答是:

后面再网上找资料发现一款同样用HI3863芯片的开发板HiHope_NearLink_DK3863E_V03

厂家提供了相同功能例程:fbb_ws63: fbb_ws63代码仓为支持ws63和ws63e解决方案SDK。技术论坛:https://developer.hisilicon.com/forum/0133146886267870001 - Gitee.com

试着烧录一下发现这个例程打印正常,对比后发现两个厂家都是根据海思官方sdk文件修改

海思开源链接:HiSpark: HiSpark是由上海海思技术有限公司主导的开源开发者社区,为开发者提供丰富的开源代码,方便开发者快速下载IDE开发环境、SDK、工具链和文档等,与广大开发者共建万物互联的智能世界。

两个厂家逻辑大致相同,最后发现是小熊派定义缓冲区时数组太大,把256改为64打印正常!

后续我思考了一下,也许是使用轮询模式的时候,如果缓冲区设置太大,可能略过了打印。(存疑)

如果有错希望大家斧正!!!

Logo

海思 HiSpark 开发者社区是上海海思为开发者搭建的内容和交流平台,依托完备芯片解决方案、专业开发环境、开源/开放的软件资源与社区技术内容,构建完整服务生态开发者的闭环体系。

更多推荐