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

MTK:串口学习和代码调试相关推荐

  1. APM飞控学习之路:5 串口概述与收发调试

    "云中谁寄锦书来,雁字回时,月满西楼".当无人机在空中飞翔时,从APM飞控到飞手之间有几条看不见的"风筝线"--(1)2.4GHz的遥控:(2)433/915M ...

  2. Python语言学习:python语言代码调试—异常处理之详细攻略

    Python语言学习:python语言代码调试-异常处理之详细攻略 目录 python语言代码调试-异常处理 异常捕捉可以使用 try/except 语句 相关文章 Python3 错误和异常 | 菜 ...

  3. MTK:串口调试方法|MTK串口工具

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

  4. C语言学习|bug和调试优化代码

    目录 调试 基本概念 bug 调试(debug) 调试步骤 Debug和Release VS是集成开发环境(IDE) 调试的快捷键 调试窗口 监视 减少程序的错误 assert(表达式) const ...

  5. python学习笔记Day4 面向对象编程,文件操作,os模块,代码调试

    一.traceback模块 错误日志可能用到 import tracebackwhile 1: # 捕获异常的顺序按照先父类后子类try:n1 = int(input('请输入一个被除数'))n2 = ...

  6. 【VS实践】代码调试与错误处理

    程序员的装逼技能:调试,错误处理和快捷键 学计算机3年,只知道一些基础的理论知识,写代码和调试很差,基本不会什么吧! 花时间了解一下关于这块的东西!以前觉得调试就是代码写出来一运行,有问题了分析那里出 ...

  7. .NET Core快速入门教程 5、使用VS Code进行C#代码调试的技巧

    .NET Core 快速入门教程 .NET Core 快速学习.入门系列教程.这个入门系列教程主要跟大家聊聊.NET Core的前世今生,以及Windows.Linux(CentOS.Ubuntu)基 ...

  8. python 除数不能为零的报错有哪些_【社区精选40】Python错误处理及代码调试方法(文末赠书中奖名单)...

    本文整理自爱数据学院中的问答 更多精彩问答,进入下方社区网站查看 http://www.lovedata.cn/invitation 社区精选话题 第40期 Python错误处理及代码调试方法 一次写 ...

  9. Android学习系列--App调试的几个命令实践

    2019独角兽企业重金招聘Python工程师标准>>> 在Android的应用开发中,我们会用到各种代码调试:其实在Android的开发之后,我们可能会碰到一些随机的问题,如cpu过 ...

最新文章

  1. vuecli 编译后部署_基于vue-cli 打包时抽离项目相关配置文件详解
  2. 运行jar应用程序引用其他jar包的四种方法
  3. YARN/MRv2 Resource Manager深入剖析—RM总体架构
  4. Dapr微服务应用开发系列5:发布订阅构建块
  5. Python+tkinter实现任意多层级关系的组合框
  6. 深度学习自学(二十六):人脸数据集
  7. [转]非模态对话框的特点与使用
  8. IE7 - 千呼万唤始出来
  9. maven install报The forked VM terminated without saying properly goodbye. VM crash or System.exit call
  10. attempted an unsupported operation 、an unsupported operation was attempted [尝试不支持的操作]错误的三种解决方案
  11. java微信小程序接口openid过期_Java微信小程序登录接口获取openid
  12. Python实现检测字符串是否全为汉字(含生僻字)
  13. FPGA驱动RGB灯带WS2812B
  14. 信息流推荐在凤凰新闻的业务实践
  15. cannot open file /storage/emulated/0/DCIM/Camera/yinpin.mp4 (Permission denied)
  16. 单核处理器、多核处理器、多处理器与多线程编程
  17. LTE:3GPP向4G发展的核心技术
  18. Python_00000
  19. 基于SVM的数字手势识别模型
  20. 计算机考试网页模板,计算机基础期末考试模板A卷(2页)-原创力文档

热门文章

  1. 2019.7.5刷题统计
  2. Military Problem CodeForces 1006E (dfs序)
  3. application/x-www-form-urlencoded接口响应报文中文乱码
  4. web前端基础之JS
  5. 第三百九十一节,Django+Xadmin打造上线标准的在线教育平台—404,403,500页面配置...
  6. c语言中的scanf在java中应该怎么表达,Scanner类。
  7. 免费HTTP数据抓包Fiddler2[4.6.1.2]以及显示中文包内容的方法
  8. java hibernate4 学习心得
  9. 计算机系统结构计算题
  10. postgreSQL数据库里面导入数据