回复
发帖数: 2
注册日期: ‎09-06-2017

为什么我的efr32的串口read不到数据,但是write有效,怎样才能让读写都生效?

1,我用的芯片是EFR32MG1P232F256GM48

2,版本是Ember Enet 5.8.1.0 GA SoC(为什么不用最新版5.10.1.0:第一,5.10.1.0的虚拟串口启用之后出现zigbee连接不上的问题;第二,5.10.1.0不能使用虚拟串口的网口烧录当做控制台。试了几个版本,发现5.8.1.0的版本可以,所以用5.8.1.0版本)

1.png

3,选取的工程是Z3light

2.png

4,isc文件的配置改动(只有图示一处)

3.png

5,点击generate生成代码之后,我点开Z3LightSoc_callbacks.c编辑,改变了图示的两个位置(蓝框改为红框)

5.png

6.png

7.png

TIM截图20170906111923.png

6,编译之后将程序上传到板子(EFR32MG1P232F256GM48),打开控制台,并连接上zigbee网络

9.png

10.png

11.png

12.png

13.png

14.png

红框是zigbee链接成功之后,我用另一个Z3Switch的按钮控制Z3light的操作。

7,用串口调试工具测试读写是否可用

TIM截.png

工具显示,我能够成功发送给串口数据(55aa000102000103)

但是我不能读取串口发给我的数据(后面16个字节都是00表示没有数据读取到)

 

 

 

所以我想知道的是到底该做哪些操作才能使得我的串口读和写都能使用

(目前只能向串口写数据(write成功),但是串口读程序就不行(read失效))