OpenEdv-开源电子网

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

求大神帮忙解读一下程序!

[复制链接]

15

主题

46

帖子

0

精华

初级会员

Rank: 2

积分
126
金钱
126
注册时间
2014-10-13
在线时间
0 小时
发表于 2014-10-22 15:35:11 | 显示全部楼层 |阅读模式
5金钱
求大神帮忙解读如下程序错误:
我在程序中要这样调用这个函数
[mw_shl_code=c,true]uint32 GetData(uint32 AXIS, uint32 Reg) { uint32 *dat0; uint32 *dat1; ReadRegister(Reg, dat0, dat1, AXIS, AxisSel_Default); return ( *dat0 | (*dat1<<16) ); // 疑问:是否会产生数据截断?? }[/mw_shl_code]
但是提示错误: [mw_shl_code=c,true]ReadRegister()函数参数太多,原型是void ReadRegister(uint32 comm, uint32 *buf0, uint32 *buf1, uint32 axisaddr) 明明是五个参数!?哪里多了?[/mw_shl_code] [mw_shl_code=c,true]而且我的返回值为uint32 (#define uint32   unsigned long),而后面的程序将如下调用:[/mw_shl_code] [mw_shl_code=c,true]
[mw_shl_code=c,true]dat = GetData(AXIS_X, RRCUN1); // 疑问:如何把uint32 -> uint8 SetTextValue( 0, 18, dat); [/mw_shl_code]
由于 [mw_shl_code=c,true]void SetTextValue(uint16 screen_id,uint16 control_id,uchar *str);的定义是这样,所以我把dat定义为uchar*(#define uchar    unsigned char)[/mw_shl_code] [mw_shl_code=c,true]但是在参数传递的时候出错,表示 数据类型不符合.....[/mw_shl_code] [mw_shl_code=c,true] 请问,我GetData返回为 uint32 我如何把返回的值编程 uhcar* 进行传递??? [/mw_shl_code] [/mw_shl_code]

最佳答案

查看完整内容[请看2#楼]

是5个参数码,我怎么只找到4个,comm,    *buf0,    *buf1,   axisaddr。 而你调用时写了5个参数。reg   ,dat0     ,dat1    ,AXIS     ,AxisSel_Defautl.
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

9

主题

1385

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
12090
金钱
12090
注册时间
2013-3-8
在线时间
1285 小时
发表于 2014-10-22 15:35:12 | 显示全部楼层
是5个参数码,我怎么只找到4个,comm,    *buf0,    *buf1,   axisaddr。
而你调用时写了5个参数。reg   ,dat0     ,dat1    ,AXIS     ,AxisSel_Defautl.
回复

使用道具 举报

9

主题

1385

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
12090
金钱
12090
注册时间
2013-3-8
在线时间
1285 小时
发表于 2014-10-22 15:35:12 | 显示全部楼层
C:\Keil\ARM\ARMCC\include这里就是那个头文件
回复

使用道具 举报

15

主题

46

帖子

0

精华

初级会员

Rank: 2

积分
126
金钱
126
注册时间
2014-10-13
在线时间
0 小时
 楼主| 发表于 2014-10-22 15:48:31 | 显示全部楼层
呃,有的时候真的是当局者迷!   非常感谢....
      但是我如何把我返回的uint32 类型的参数 转换成 ucahr类型的进行传递呢!?
回复

使用道具 举报

15

主题

46

帖子

0

精华

初级会员

Rank: 2

积分
126
金钱
126
注册时间
2014-10-13
在线时间
0 小时
 楼主| 发表于 2014-10-23 10:56:46 | 显示全部楼层
回复【2楼】augustedward:
---------------------------------
打算用 ltoa来进行转换!  但是 MDK中 如何才可以调用 stdlib.h中的函数呢!??
回复

使用道具 举报

9

主题

1385

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
12090
金钱
12090
注册时间
2013-3-8
在线时间
1285 小时
发表于 2014-10-23 12:01:56 | 显示全部楼层
回复【4楼】MichealLee:
---------------------------------
包含这个头文件后就可以直接调用了啊!
你可以在KEIL的目录下找到这个头文件的。
回复

使用道具 举报

15

主题

46

帖子

0

精华

初级会员

Rank: 2

积分
126
金钱
126
注册时间
2014-10-13
在线时间
0 小时
 楼主| 发表于 2014-10-23 17:15:03 | 显示全部楼层
回复【5楼】augustedward:
---------------------------------
Keil的目录!?   在哪里?  帮助文档吗??
     我自己把ltoa函数原型给找出来,然后自己写进去了....
           请问在keil目录里面怎么找的?
回复

使用道具 举报

15

主题

46

帖子

0

精华

初级会员

Rank: 2

积分
126
金钱
126
注册时间
2014-10-13
在线时间
0 小时
 楼主| 发表于 2014-10-23 22:24:27 | 显示全部楼层
回复【7楼】 augustedward :
---------------------------------
 非常感谢,但是我在我的安装文件夹里怎么没有找到 ARMCC  ??


回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-30 09:06

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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