找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2069|回复: 2
打印 上一主题 下一主题
收起左侧

串口调试助手

[复制链接]
跳转到指定楼层
楼主
ID:532252 发表于 2019-5-10 10:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在我们的协议栈实验文件夹下面找到协议栈中串口基础实验,
具体路径《协议栈实验\2.协议栈中串口基础实验\ZStack-CC2530-
2.3.0-1.4.0\Projects\zstack\Samples\SampleApp\CC2530DB》,双

类型为 IAR IDE WorkSpace 的文件进入程序中。
本实验使用串口的步骤是:
(1) 串口初始化;
(2) 登记任务号;
(3) 执行任务;
下面是具体步骤:
串口初始化相信大家很熟悉,就是配置串口号、波特率、校验位、
数 据位、停止位等等。在基础实验我们都是配置好寄存器然后
使用。现在我们在 workspace 下找到176
HAL\Target\CC2530EB\drivers 的 hal_uart.c 文件,我们可以看
到里面已经包括了串口初始化、发送、接收等函数,全都封装好
了;我们只需根据自己需要修改相关配置,调用相应的接口函数
就,可使用串口了。
其具体初始化函数如下:
void MT_UartInit ()
{
halUARTCfg_t uartConfig;177
/* Initialize APP ID */
App_TaskID = 0;
/* UART Configuration */
uartConfig.configured = TRUE;
uartConfig.baudRate = MT_UART_DEFAULT_BAUDRATE;
uartConfig.flowControl =
MT_UART_DEFAULT_OVERFLOW;
uartConfig.flowControlThreshold =
MT_UART_DEFAULT_THRESHOLD;
uartConfig.rx.maxBufSize =
MT_UART_DEFAULT_MAX_RX_BUFF;
uartConfig.tx.maxBufSize =
MT_UART_DEFAULT_MAX_TX_BUFF;
uartConfig.idleTimeout =
MT_UART_DEFAULT_IDLE_TIMEOUT;
uartConfig.intEnable = TRUE;
#if defined (ZTOOL_P1) || defined (ZTOOL_P2)
uartConfig.callBackFunc = MT_UartProcessZToolData;
#elif defined (ZAPP_P1) || defined (ZAPP_P2)
uartConfig.callBackFunc = MT_UartProcessZAppData;178
#else
uartConfig.callBackFunc = NULL;
#endif
/* Start UART */
#if defined (MT_UART_DEFAULT_PORT)
HalUARTOpen (MT_UART_DEFAULT_PORT, &uartConfig);
#else
/* Silence IAR compiler warning */
(void)uartConfig;
#endif
/* Initialize for ZApp */
#if defined (ZAPP_P1) || defined (ZAPP_P2)
/* Default max bytes that ZAPP can take */
MT_UartMaxZAppBufLen = 1;
MT_UartZAppRxStatus = MT_UART_ZAPP_RX_READY;
#endif
}179
修改完配置参数之后,我们在 SampleApp_Init( uint8 task_id )函
数调用配置好的 MT_UartIn it ()函数;然后,记得在
SampleApp.c 文件开头的地方将图所示的头文件 include 进去。
用户自己添加的应用任务程序在 Zstack 中的调用过程是:
main() ---> osal_init_system()---> osalInitTasks()--->
SampleApp_Init()
下面是具体函数:
void SampleApp_Init( uint8 task_id )
{
SampleApp_TaskID = task_id;
SampleApp_NwkState = DEV_INIT;
SampleApp_TransID = 0;
MT_UartInit();//串口初始化
MT_UartRegisterTaskID(task_id);//串口登记任务号
}180
紧接着 MT_UartRegisterTaskID(task_id)函数,在其后面添加
函数 HalUARTWrite(0,"UartInit OK\n", sizeof("UartInit OK\n")),
也就是让系统执行这个任务了。至此,代码修改完毕。

串口调试助手.rar

389.45 KB, 下载次数: 10, 下载积分: 黑币 -5

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:532252 发表于 2019-5-10 10:14 | 只看该作者
这个是真的非常好用的
回复

使用道具 举报

板凳
ID:1 发表于 2019-5-10 18:32 | 只看该作者
本帖需要重新编辑补全电路原理图,源码,详细说明与图片即可获得100+黑币(帖子下方有编辑按钮)
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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