Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
FinSH
调试
argv
(int argc, char *argv[])在MCU中的调试使用
发布于 2021-08-25 20:54:27 浏览:1480
订阅该版
[tocm] --- **这里主要讲了基于RTT的 finsh->MSH_CMD_EXPORT 方法,在串口终端中调用自定义函数,并传入参数的方法。** --- ## 在传统的MCU开发中 当我们需要测试一个函数传入不同参数时的运算结果时,往往使用数组或者单步修改变量值的方法来测试。这种方法不是很方面。 今天分享一个基于RTT的 finsh->MSH_CMD_EXPORT ,在串口终端中调用自定义函数,并传入参数的方法。 **例程如下:** ```c static void _cb(uint32_t flag) { /*内容不重要*/ } static void cy_up(int argc, char *argv[]) { uint32_t bitchs; if (argc == 2) { bitchs = strtol(argv[1], NULL, 0); cy_broadcast_and_read_back(bitchs, _cb); D_LOG("send to UP %x\n", bitchs); } else { D_LOG("Input parameter error!\n"); } } MSH_CMD_EXPORT(cy_up, cyUP test); ``` ## 这里需要重点讲下 argc 和 argv argc[0] 固定为程序名,例如上述示例中 argc[0] 的内容为字符串 cy_up。 argc 表示输入输入的形参数量。它的值永远 ≥ 1. ![image-20210825203916500](https://oss-club.rt-thread.org/uploads/20220714/da39a3ee5e6b4b0d3255bfef95601890afd80709.png) 如上,当我们输入 cy_up 0x8010 时,我们将在 argc[1] 中得到 “0x8010” 的字符串。注意这里是字符串!不是十六进制数。如果想得到十六进制(或者其它)我们需要调用C库标准函数 [strtol()](https://blog.csdn.net/lizhengze1117/article/details/103318662) 将字符串转换为十六进制整数。 由于上述例程中的项目已经完成,下面我找了一个类似的ubuntu下的例程,来直观体验一下: 源程序: ![image-20210825204519765](https://oss-club.rt-thread.org/uploads/20220714/da39a3ee5e6b4b0d3255bfef95601890afd80709.png) 输入结果: ![image-20210825204425404](https://oss-club.rt-thread.org/uploads/20220714/da39a3ee5e6b4b0d3255bfef95601890afd80709.png)
0
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
svchao
这家伙很懒,什么也没写!
文章
13
回答
1
被采纳
0
关注TA
发私信
相关文章
1
RT-THREAD shell无反应呢?
2
RT-thread2.0beta下用类似linux风格MSH,参数如何输入和导出
3
rt-thread finsh windows下的那个终端软件叫什么来着
4
板子上只有485接口,能把FINSH改造成485的么?
5
finsh最大字符问题
6
finsh命令个数是不是有限制啊
7
finsh支持转义字符吗
8
不用finsh如何知道堆栈使用量
9
强烈建议 RT-Thread下finsh原理深入分析
10
finsh输入命令全部返回null node
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
UART
WIZnet_W5500
ota在线升级
freemodbus
PWM
flash
cubemx
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
flashDB
GD32
socket
中断
编译报错
Debug
SFUD
rt_mq_消息队列_msg_queue
msh
keil_MDK
ulog
C++_cpp
MicroPython
本月问答贡献
a1012112796
10
个答案
1
次被采纳
踩姑娘的小蘑菇
4
个答案
1
次被采纳
红枫
4
个答案
1
次被采纳
张世争
4
个答案
1
次被采纳
Ryan_CW
4
个答案
1
次被采纳
本月文章贡献
catcatbing
3
篇文章
5
次点赞
YZRD
2
篇文章
3
次点赞
qq1078249029
2
篇文章
2
次点赞
xnosky
2
篇文章
1
次点赞
Woshizhapuren
1
篇文章
5
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部