OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4423|回复: 4

USMART结构体赋值问题

[复制链接]

23

主题

106

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
242
金钱
242
注册时间
2013-9-5
在线时间
8 小时
发表于 2013-11-29 16:57:27 | 显示全部楼层 |阅读模式
struct _m_usmart_nametab
{
void* func; //函数指针
const u8* name; //函数名(查找串)  
}
extern struct _m_usmart_nametab usmart_nametab[]; //在usmart_config.c里面定义
谁能给讲讲这个 看的是真不明白啊
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

23

主题

106

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
242
金钱
242
注册时间
2013-9-5
在线时间
8 小时
 楼主| 发表于 2013-11-29 17:30:35 | 显示全部楼层
回复【楼主位】喜欢晴天:
---------------------------------
另外假设输入的是delay(1000);这个函数当执行
while(*strtemp!='\0')//没有结束
{
if(*strtemp!=' '&&(pcnt&0X7F)<5)//最多记录5个字符
{
if(pcnt==0)pcnt|=0X80;//置位最高位,标记开始接收返回值类型
if(((pcnt&0x7f)==4)&&(*strtemp!='*'))break;//最后一个字符,必须是*
fpname[pcnt&0x7f]=*strtemp;//记录函数的返回值类型
pcnt++;
}
else if(pcnt==0X85)break;
strtemp++; 
}
if(pcnt)//接收完了
{
fpname[pcnt&0x7f]='\0';//加入结束符
if(usmart_strcmp(fpname,"void")==0)*rval=0;//不需要返回值
else *rval=1;    //需要返回值
pcnt=0;

那么显然判断是不相等的  需要返回值 但是delay函数是不要返回值的啊  这怎么办?
回复 支持 反对

使用道具 举报

23

主题

106

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
242
金钱
242
注册时间
2013-9-5
在线时间
8 小时
 楼主| 发表于 2013-11-29 19:24:33 | 显示全部楼层
自己顶一下  谁能回答下啊  看了好久这亮点都不明白啊
回复 支持 反对

使用道具 举报

23

主题

106

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
242
金钱
242
注册时间
2013-9-5
在线时间
8 小时
 楼主| 发表于 2013-11-29 19:42:34 | 显示全部楼层
回复【2楼】喜欢晴天:
---------------------------------
我觉得二楼那个问题是不是需要在if(pcnt)那改成if(pcnt==0x84)啊 因为是需要判断本地函数,输入的时候一般前面没有void 所以就不用判断了 原子大哥对吧?
回复 支持 反对

使用道具 举报

23

主题

106

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
242
金钱
242
注册时间
2013-9-5
在线时间
8 小时
 楼主| 发表于 2013-11-29 20:39:21 | 显示全部楼层
回复【4楼】喜欢晴天:
---------------------------------
难道一楼中usmart_nametab[]这个类似一个指针数组?
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-8 17:14

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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