找回密码
 立即注册

使用微信账号登录

只需一步,快速开始

查看: 3226|回复: 7

[CSR8系列] 串口崩溃

[复制链接]
连续签到天数:1天
签到总天数:13天
签到总奖励:87金币
发表于 2017-5-2 10:10:57 | 显示全部楼层 |阅读模式

马上注册,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册  

×
我是用8670芯片,使用串口,接收数据,解析出命令后,向串口和spp发送字符串,不解析命令时115200波特率,可以没有问题的发送,但是加入解析部分,就会出现这个错误Connection with your BlueCore device has been lost. Please restart the debugger.,错误提示是Description of error:
The chip was reset, possibly following a firmware panic.,请问谁遇到过这种情况,原因是什么,如何解决?谢谢
楼主热帖
积分商城 - 让您的金币更有价值!||官方Q群 - 让您的沟通更加及时!
连续签到天数:1天
签到总天数:2317天
签到总奖励:64363金币
发表于 2017-5-2 11:12:14 | 显示全部楼层
基本可以肯定是解析那块出了问题
积分商城 - 让您的金币更有价值!||官方Q群 - 让您的沟通更加及时!
回复 支持 反对

使用道具 举报

连续签到天数:1天
签到总天数:1天
签到总奖励:5金币
发表于 2017-5-2 13:43:36 | 显示全部楼层



感觉应该是解析部分的问题,一般低数据率是不会出现这种问题的,除非你的数据率很大
积分商城 - 让您的金币更有价值!||官方Q群 - 让您的沟通更加及时!
回复 支持 反对

使用道具 举报

连续签到天数:1天
签到总天数:13天
签到总奖励:87金币
 楼主| 发表于 2017-5-2 14:05:53 | 显示全部楼层
我现在使用一个标志位,接收到系统SPP_MESSAGE_MORE_SPACE消息时,才标记为sink可用,则不会出现崩溃,请教大家个问题,就是sink不可用的时候SinkClaim和SinkMapAPI会引起系统的崩溃吗?
积分商城 - 让您的金币更有价值!||官方Q群 - 让您的沟通更加及时!
回复 支持 反对

使用道具 举报

连续签到天数:1天
签到总天数:13天
签到总奖励:87金币
 楼主| 发表于 2017-5-2 15:06:28 | 显示全部楼层
void analyze_uart_cmd(const uint8 *cmd,const uint16 len)
{
    uint16 i=0;
    while(i<len){
        Uart_Cmd.buf[Uart_Cmd.index]=cmd[i];
        if(Uart_Cmd.flag)
        {
            if(Uart_Cmd.index>=5)
            {            
                Uart_Cmd.len=2;           
               uart_send_msg(Uart_Cmd.buf,Uart_Cmd.len+4);
               /* send_msg_to_spp(Uart_Cmd.buf,Uart_Cmd.len+4);*/                  
                Uart_Cmd.index=0x00;
                Uart_Cmd.len=0;
                Uart_Cmd.flag=0x00;
            }  
            else
            {
                 Uart_Cmd.index++;
            }
        }
        else
        {
            if(Uart_Cmd.buf[Uart_Cmd.index]==0x6e)
            {
              printf("cmd Find!\n");
              Uart_Cmd.index++;
              Uart_Cmd.flag=0xff;   
            }
            else
            {
                Uart_Cmd.index=0x00;
                Uart_Cmd.flag=0x00;
            }           
        }
        i++;
    }
    /* uart_send_msg(cmd,len); */
     send_msg_to_spp(cmd,len);
}
这是具体的代码。现在这个代码每10ms接收一条命令,大约1500字节就会崩溃,麻烦大家帮忙看看
积分商城 - 让您的金币更有价值!||官方Q群 - 让您的沟通更加及时!
回复 支持 反对

使用道具 举报

连续签到天数:3天
签到总天数:1297天
签到总奖励:31051金币
发表于 2017-5-2 15:17:23 | 显示全部楼层
是你解析程序有问题吧                       
积分商城 - 让您的金币更有价值!||官方Q群 - 让您的沟通更加及时!
回复 支持 反对

使用道具 举报

连续签到天数:1天
签到总天数:13天
签到总奖励:87金币
 楼主| 发表于 2017-5-3 09:56:54 | 显示全部楼层
我实测了一下,如果随收随发,sink累积的数据一般是12,13字节,但是如果是解析完立刻发送,串口sink累积的数据就会增长,最后芯片就重启了,所以我猜测是sink数据溢出导致的单片机重启,不知道我的猜测对不对,有谁遇到过同样的问题,能不能给确定一下
积分商城 - 让您的金币更有价值!||官方Q群 - 让您的沟通更加及时!
回复 支持 反对

使用道具 举报

连续签到天数:1天
签到总天数:504天
签到总奖励:7904金币
发表于 2017-5-5 09:12:25 | 显示全部楼层
没用过串口,太高级了
积分商城 - 让您的金币更有价值!||官方Q群 - 让您的沟通更加及时!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册  

本版积分规则

小黑屋|手机版|我爱蓝牙网 - 52Bluetooth

GMT+8, 2024-5-2 21:02 , Processed in 0.221508 second(s), 21 queries , Gzip On, MemCached On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表