微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 手机设计讨论 > MTK手机平台交流 > MTK串口调试方法,AT口和串口的切换,选择

MTK串口调试方法,AT口和串口的切换,选择

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

ROMan">1.       对串口的设置:

1)      UART.c 中UART_HWInit 完成对各串口的波特率、数据位等之类初始化设置。默认为115200。若需调整波特率则可在此处设置。也可调用U_SetBaudRate进行设置。

2)      trace口的波特率设置如下在NVRAM_EF_PORT_SETTING_DEFAULT。

2.       串口的切换:

1)  trace口的切换:

       nvram_common_config.c 中

static kal_uint8 const NVRAM_EF_PORT_SETTING_DEFAULT[] =

{

#if defined(__ONLY_ONE_UART__)

    0x63, 0x00,   /* TST uses uart_port2(value is 1) */

    0x00, 0x00,   /* APP uses uart_port1 */

#else

    0x00, 0x00,   /* TST uses uart_port2(value is 1) */表示哪个串口作输出 Trace口,              0x01, 0x00,   /* APP uses uart_port1 */表示哪个串口用于AT。

#endif

/*设置为 0x00则表示串口1设置为 Trace模式, 0x01表示串口2设置为Trace , 0x63表示不用Trace*/

#if defined(EMPTY_MMI)

    0x00, 0x10, 0x0E, 0x00, /* tst default baud rate base = 921600 = 0x000E1000 */

#else

0x00, 0xC2, 0x01, 0x00, /* tst default baud rate base = 115200 = 0x0001C200 */

#endif

设置trace串口的波特率

#if defined (__GPRS_MODE__)                  

    0x00, 0xC2, 0x01, 0x00, /* ps default baud rate base = 115200 = 0x0001C200 */

#else

    0x00, 0xE1, 0x00, 0x00, /* ps default baud rate base =   57600 = 0x0000E100 */

#endif

设置at串口的波特率                 

    0x00,                           /* High SpeedSIM */

    0x00,                           /* SWDBG */  

    0x03, 0x63,                     /* uart power setting, plus  1-byte padding */

    0x00, 0x00,0x00, 0x00           /* CTI baud rate */

};

0x03 -- 串口1、2  powner on

0x07-- 串口1、2 、3 powner on

这些设置也可在暗码“*#3646633#”中设置。

2)  AT与普通串口的切换:

              串口默认是为AT模式,默认都是被L4层控制的。

              在初始化或使用串口前时设置UART_SetOwner(uart_port2,MOD_CUSTOM2);

即可将串口的at模式切换为普通串口。UART_SetOwner作用:相当于将串口同任务(task)绑定。 串口的收发处理均有此任务实现。

有数据来时,底层会发送MSG_ID_UART_READY_TO_READ_IND消息上来。用UART_GetBytes来读取串口接到的数据。用UART_PutBytes来发送数据。

3.       在plutommi里新添加文件,须在custom里调用。

1)  在make\plutommi里的

       plutommi.inc 添加 头文件所在的目录

       plutommi.pth 添加 源文件所在的目录

       plutommi.lis  添加源文件的路径。

2)  D16_GPRS.mak 添加

        CUSTOM_COMMINC  +=  plutommi\mmi\StarComm\Zigbee\ZigbeeInc  

此处未添加,则在custom1_create.c里无法调用头文件,提示wouldn’t open *.h错误

4.        模块的休眠模式

       在makefile文件里,如D16_GPRS.mak.

mtk_SLEEP_ENABLE  =  FALSE       # Sleep Mode Support  

置MTK_SLEEP_ENABLE为FALSE :彻底关闭休眠模式。

置MTK_SLEEP_ENABLE为TRUE :开启休眠模式的使能。

代码中调用L1SM_SleepDisable 、L1SM_SleepEnable 对休眠模式进行设置。   

5.       现象:

       串口收发正常,接上zigbee小板后,可监控到模块有往zigbee发的数据,但zigbee没有回应。  但在初次上电的时候,zigbee有回应数据至模块。(在下载模块程序时,zigbee有一直往模块发送数据)。

解决:

       Zigbee小板上的重启接口被程序置为低电平(in),导致一直被重启。

注:

现有的D16版本串口波特率调整还存在问题。

:):):):):):):)

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

网站地图

Top