免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3107 | 回复: 13
打印 上一主题 下一主题

[函数] 指针传递问题啊,急。。。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-08-28 17:01 |只看该作者 |倒序浏览
入口参数定义:BYTE buff[512];
函数调用
if ( MCI_Read_Block( 0,&buff[0],1 ) != TRUE )  
函数定义
DWORD MCI_Read_Block( DWORD blockNum ,BYTE *buff,DWORD cnt)
{
    .
    .
    .(省略部分)
src_addr = (DWORD *)DMA_SRC;
dest_addr = (DWORD *)DMA_DST;        
               
  for ( i = 0; i < MCI_DATA_LEN; i += 1 )
        {
               
                *buff++   =  dest_addr[i] & 0xFF;
                *buff++ = (dest_addr[i] >>  & 0xFF;
                *buff++ = (dest_addr[i] >> 16) & 0xFF;
                *buff++ = (dest_addr [i]>> 24) & 0xFF;
                RX_Counter += 4;
        } //到这里,buff得到了正确的值
        return ( TRUE );//返回后就出现错误
}


在函数MCI_Read_Block里buff正确的得到了值,但return ( TRUE );后就产生错误,跳到PAbt_Handler    B       PAbt_Handler
不知道我书写的方式有什么错误,请指教,谢谢了

[[i] 本帖最后由 andylao 于 2008-8-28 18:16 编辑 [/i]]

论坛徽章:
0
2 [报告]
发表于 2008-08-28 17:16 |只看该作者

回复 #1 andylao 的帖子

*buff++ = (dest_addr >>  & 0xFF;   //???

论坛徽章:
0
3 [报告]
发表于 2008-08-28 17:28 |只看该作者
*buff++ = (dest_addr >> & 0xFF;   ???

论坛徽章:
0
4 [报告]
发表于 2008-08-28 17:31 |只看该作者
buff++ = (dest_addr >>8)  & 0xFF;

lz发代码的时候最好选插入程序代码。。。。或者把禁用smilies钩了

论坛徽章:
0
5 [报告]
发表于 2008-08-28 18:17 |只看该作者
[quote]原帖由 [i]5毛党党员[/i] 于 2008-8-28 17:31 发表 [url=http://bbs.chinaunix.net/redirect.php?goto=findpost&pid=9157288&ptid=1256471][img]http://bbs.chinaunix.net/images/common/back.gif[/img][/url]
buff++ = (dest_addr >>8)  & 0xFF;

lz发代码的时候最好选插入程序代码。。。。或者把禁用smilies钩了 [/quote]
dest_addr[i]复制过来的时候没显示:em08:

论坛徽章:
0
6 [报告]
发表于 2008-08-28 19:18 |只看该作者

回复 #1 andylao 的帖子

BYTE buff[512];
循环多次是否会发生溢出?

论坛徽章:
0
7 [报告]
发表于 2008-08-28 19:58 |只看该作者
看起来像是做小端字节转换
楼主的问题,从程序当中及你的描述,看不出是什么问题

论坛徽章:
0
8 [报告]
发表于 2008-08-29 09:56 |只看该作者
原帖由 darkhero 于 2008-8-28 19:18 发表
BYTE buff[512];
循环多次是否会发生溢出?

那个读扇区的函数我只调用一次

论坛徽章:
0
9 [报告]
发表于 2008-08-29 10:02 |只看该作者
看代码没有问题,问题应该不在于此。

论坛徽章:
0
10 [报告]
发表于 2008-08-29 10:03 |只看该作者
一定要return ( TRUE );么
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP