微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 手机设计讨论 > MTK手机平台交流 > MT2503使用GPS问题,求帮主

MT2503使用GPS问题,求帮主

时间:10-02 整理:3721RD 点击:
自己新建了一个task,打印从UART2接收到的信息,发到uart1上。uart1已经可以正常打印数据。
open uart2后,uart1上就开始打印乱码。不知道什么毛病,求各位大哥指导。本人新入mtk的坑。

uart2看别人帖子里说的是gps芯片mt3333发出的NEMA格式的数据。

不懂,帮顶,我是进来学习的。之前搞单片机时出现这情况 一般是波特率有问题

我量了 波特率变的很大。很诡异。我不open uart2就正常

能说下你们的实现方式吗?GPS模块使用的是Uart2,如果自己重新初始化Uart2是会有异常的。我们还碰到一种情况,自己去解析GPS数据,会导致GPS Task和APGS Task没有了消息的交互,导致APGS无法使用。

具体描述下你们的实现方式?
我们是自己解析GPS(系统解析过程木有找到)数据的,Uart1当做调试口,GPS模块是固定使用Uart2的,MTK都已经做好了,不需要重新初始化的,我们是在gps初始化部分写了接收回调,但是这样会有一个问题,就是GPS task和AGPS task没有了消息的交互,导致APGS无法使用。

用的是DclSerialPort_Open  DclSerialPort_Control这些函数进行操作的。
6楼使用的GPS具体是哪个task?我现在还没得到GPS数据。

请问你MT2503的AGPS部分具体是怎么使用的?

我是直接调用:GPS_Init(CustomGpsRecvCallbackSetHandle);
void CustomGpsRecvCallbackSetHandle(kal_bool flag)
{
        DCL_HANDLE handle;
        UART_CTRL_REG_RX_CB_T data;
        if (!flag)
                return;
        data.u4OwenrId = MOD_GPS;
        data.func = CustomGpsRecvHandler;  //GPS回调
        handle = DclSerialPort_Open(uart_port2, 0); // gps_uart_port
        DclSerialPort_Control(handle, SIO_CMD_REG_RX_CB, (DCL_CTRL_DATA_T*)&data);
}
void CustomGpsRecvHandler(UART_PORT port)
{        
        if (port == uart_port2)
        {        
                处理:GPS_UART_Read
                再清除缓存;
        }
}

这样处理会影响到APGS,请小心参考。

AGPS Task和GPS Task需要消息的交互,因为找不到MTK处理GPS接收部分的接口,所以我才自己写了个接收GPS的,结果就是AGPS目前用不上。

我是进来学习的

你的GPS_Init(CustomGpsRecvCallbackSetHandle);是在哪里调用的。
是在gps的task里面吗?
非常感谢你的回复。对我很有帮助。

你也可以在MMI向GPS Task发消息:MSG_ID_TST_INJECT_STRING,你跟踪下代码就知道了。因为我们是无窗口(不带屏幕)操作的,所以直接在MMI Task里调用了它。

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

网站地图

Top