微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > 连接不稳定

连接不稳定

时间:10-02 整理:3721RD 点击:

和BTOOL连接后,连接不稳定,会断开。断开后有的时候BTOOL可以重新扫描到设备,有时候扫描不到。这是什么原因,该怎么办呢

不会又是晶振的问题吧?!~~~~

应该不是,板子没动,之前没有出现过这样的问题啊

情况是这样:

1.一直能进入中断的时候,蓝牙方面就会有问题,有的时候是扫描不到从机,有的时候是连接上了自动断开。

2.刚开始能进入中断,之后就进不去了,我没有屏蔽中断。但是这时候是可以连接到btool的。

我的程序没有改动,下载进板子以后就会出现这两种情况,这会不会和程序进入中断太频繁,或者是执行了周期任务任务有关啊。程序里面开了两个中断,而且两个串口都一直有数据,也就是说程序应该是在不断的进入中断。中断里面只是接收数据,没有进行太多操作。程序里面还设置了两个周期任务,一个是200ms,一个是1s

你这个程序跑的任务还真是多!

两个串口都用上了,你的串口数据能不能改成用DMA接收呢?这样可以省去中断跳转的开销。

另外,我你有没有试过不发送串口数据时,还有没有这种现象发生呢?

两个串口,有一个是一直没有问题的,可以正常接收数据,不管会不会出现连接断开的现象,都是一直可以正常工作的。

那另外一个呢?会异常吗?

你总共有使能了几个中断?串口两个+外部中断*n?

就两个中断,一个串口中断,一个管脚中断。管脚中断是另一个串口接收到一个完整的数据以后产生的,所以在管脚中断里面存储那个串口接收的数据

1.你有两个串口,一个开启了中断,假设为UART0,那你另一个串口(假设为UART1)是怎么接收数据的?用DMA吗?

2.”管脚中断是另一个串口接收到一个完整的数据以后产生的“——这里有点不解。IO中断是在UART1接收到数据后产生的,它是外部送来的信号呢?还是你自己修改中断标志而触发的?

我没有用DMA,管脚中断是外部送来的信号。我串口接收的是CAN的数据,一个完整的CAN数据是由几个字节构成的,在接收到一个完整的CAN数据以后会产生一个管脚中断,接收到管脚中断信号以后我就设置一个事件,把CAN数据放进一个数组。

哦~理解了。

我建议你逐个屏蔽某些任务,看看去掉某些任务后连接是否会好转。

比如说,把原先IO中断触发的事件的处理先注释掉,看看连接正常不正常。

如果还是不正常,则反过来(恢复注释掉的任务),屏蔽串口中断,再看看连接正常不正常。

先找到导致问题的任务所在,再找原因,这样也许会好点。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top