MTK:串口学习和代码调试

MTK之UART串口收发数据

 

(必看)

https://blog.csdn.net/ivy_reny/article/details/51192110

 

 

MTK串口调试方法|MTK串口工具

 

MTK串口调试方法:

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),导致一直被重启。

MTK串口工具

http://bbs.16rd.com/forum.php?mod=viewthread&tid=453286&fromuid=28165

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值