[ZLG-ARM] 艳兵 IAP中数组元素写FLASH问题

[复制链接]
2716|8
 楼主| LYA 发表于 2007-6-29 11:51 | 显示全部楼层 |阅读模式
int&nbsp;&nbsp;main(void)<br />{&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;uint8&nbsp;err;<br />&nbsp;&nbsp;&nbsp;&nbsp;uint32&nbsp;i;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;uint8&nbsp;j;<br />&nbsp;&nbsp;&nbsp;&nbsp;uint8&nbsp;*kk;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;uint32&nbsp;Sramdata;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />//&nbsp;&nbsp;&nbsp;&nbsp;volatile&nbsp;uint8&nbsp;kk[256];&nbsp;&nbsp;&nbsp;//用数组不知道怎么处理<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;PINSEL0&nbsp;=&nbsp;0x00000000;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;IO0DIR&nbsp;=&nbsp;BEEP;<br />&nbsp;&nbsp;&nbsp;&nbsp;IO0SET&nbsp;=&nbsp;BEEP;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;IAP_Entry&nbsp;=&nbsp;(void(*)())IAP_ENTER_ADR;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;初始化函数指针IAP_Entry<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;kk=(&nbsp;uint8&nbsp;*)Sramdata;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;<br />&nbsp;//&nbsp;Sramdata&nbsp;=&nbsp;&kk[0];&nbsp;&nbsp;//这样取首址编译不能通过<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;for(j=0;&nbsp;j&lt0xff;&nbsp;j++)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{kk[j]=j;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;ReadParID();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;读器件ID<br />&nbsp;&nbsp;&nbsp;&nbsp;BootCodeID();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;读Boot版本号&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;SelSector(1,1);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;选择扇区1<br />&nbsp;&nbsp;&nbsp;&nbsp;EraseSector(1,1);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;擦除扇区1<br />&nbsp;&nbsp;&nbsp;&nbsp;BlankCHK(1,1)&nbsp;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;查空扇区1<br />&nbsp;&nbsp;&nbsp;&nbsp;SelSector(1,1);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;选择扇区1<br />&nbsp;&nbsp;&nbsp;&nbsp;RamToFlash(0x00001000,Sramdata,&nbsp;256);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;写数据到扇区1&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;err&nbsp;=&nbsp;Compare(0x00001000,Sramdata,&nbsp;256);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;比较数据<br />&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;if(err&nbsp;==&nbsp;CMD_SUCCESS)<br />&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;成功,蜂鸣一声&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IO0CLR&nbsp;=&nbsp;BEEP;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(i=0;&nbsp;i&lt0x3FFFFF;&nbsp;i++);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IO0SET&nbsp;=&nbsp;BEEP;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;else<br />&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;失败,一直蜂鸣&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IO0CLR&nbsp;=&nbsp;BEEP;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;while(1);<br />&nbsp;&nbsp;&nbsp;&nbsp;return(0);<br />}<br /><br /><br /><br />指针有覆盖其它数据的危险,数组的首地址又取不出来。请教大虾。<br /><br />
ayb_ice 发表于 2007-6-30 08:50 | 显示全部楼层

随便说说

RamToFlash函数要告诉我函数原型才行,我不知道它的参数类型是什么.<br /><br />Sramdata&nbsp;=&nbsp;&kk[0];&nbsp;&nbsp;//这样取首址编译不能通过<br />这样取首址编译不能通过是对的(有些编译器应该可以),因为Sramdata不是指针变量...
 楼主| LYA 发表于 2007-6-30 13:58 | 显示全部楼层

RamToFlash函数原型

uint32&nbsp;&nbsp;RamToFlash(uint32&nbsp;dst,&nbsp;uint32&nbsp;src,&nbsp;uint32&nbsp;no)<br />{&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;paramin[0]&nbsp;=&nbsp;IAP_RAMTOFLASH;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;设置命令字<br />&nbsp;&nbsp;&nbsp;&nbsp;paramin[1]&nbsp;=&nbsp;dst;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;设置参数<br />&nbsp;&nbsp;&nbsp;&nbsp;paramin[2]&nbsp;=&nbsp;src;<br />&nbsp;&nbsp;&nbsp;&nbsp;paramin[3]&nbsp;=&nbsp;no;<br />&nbsp;&nbsp;&nbsp;&nbsp;paramin[4]&nbsp;=&nbsp;IAP_FCCLK;<br />&nbsp;&nbsp;&nbsp;&nbsp;(*IAP_Entry)(paramin,&nbsp;paramout);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;调用IAP服务程序<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;return(paramout[0]);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;返回状态码<br />}
ayb_ice 发表于 2007-6-30 14:14 | 显示全部楼层

随便说说

<br />#define&nbsp;U32&nbsp;unsigned&nbsp;int<br /><br />uint32&nbsp;&nbsp;RamToFlash(uint32&nbsp;dst,&nbsp;uint32&nbsp;src,&nbsp;uint32&nbsp;no);<br /><br />U32&nbsp;test[256];<br />U32&nbsp;error;<br /><br />调用<br />error&nbsp;=&nbsp;RamToFlash(0x00001000,&nbsp;test,&nbsp;sizeof(test));&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;写数据到扇区1<br /><br />上面的方法应该可以,C中规定数组名可以代表首地址,<br />sizeof(test)自动计算数组大小(字节),如果传递的不是<br />字节大小则要修改,如,sizeof(test)=256,sizeof(test)/4&nbsp;=&nbsp;256/4<br />或<br /><br />error&nbsp;=&nbsp;RamToFlash(0x00001000,&nbsp;(U32)test,&nbsp;sizeof(test));&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;写数据到扇区1<br /><br />error&nbsp;=&nbsp;RamToFlash(0x00001000,&nbsp;&test[0],&nbsp;sizeof(test));&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;写数据到扇区1<br /><br />error&nbsp;=&nbsp;RamToFlash(0x00001000,&nbsp;(U32)(&test[0]),&nbsp;sizeof(test));&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;写数据到扇区1
ayb_ice 发表于 2007-6-30 15:15 | 显示全部楼层

修正一下

#define&nbsp;U32&nbsp;unsigned&nbsp;int<br /><br />uint32&nbsp;&nbsp;RamToFlash(uint32&nbsp;dst,&nbsp;uint32&nbsp;src,&nbsp;uint32&nbsp;no);<br /><br />U32&nbsp;test[256];<br />U32&nbsp;error;<br /><br />调用<br /><br />error&nbsp;=&nbsp;RamToFlash(0x00001000,&nbsp;(U32)test,&nbsp;sizeof(test));<br /><br />或<br /><br />error&nbsp;=&nbsp;RamToFlash(0x00001000,&nbsp;(U32)(&test[0]),&nbsp;sizeof(test));<br /><br />上面的方法可以,C中规定数组名可以代表首地址,(U32)test是强制把<br /><br />地址test变换成U32类型,因为编译器会检查函数形参与实参是否一致,<br /><br />如果不一致会出错.<br /><br />sizeof(test)自动计算数组大小(字节),<br /><br />如,sizeof(test)=256*4(因为一个U32是占4字节),sizeof(test)/4&nbsp;=&nbsp;256
 楼主| LYA 发表于 2007-6-30 15:18 | 显示全部楼层

看看

int&nbsp;&nbsp;main(void)<br />{&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;uint8&nbsp;err;<br />&nbsp;&nbsp;&nbsp;&nbsp;uint32&nbsp;i;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;uint8&nbsp;j;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;uint8&nbsp;tt[256];<br />&nbsp;&nbsp;&nbsp;&nbsp;uint8&nbsp;*data;<br />&nbsp;&nbsp;&nbsp;&nbsp;uint8&nbsp;*bdata;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;PINSEL0&nbsp;=&nbsp;0x00000000;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;IO0DIR&nbsp;=&nbsp;BEEP;<br />&nbsp;&nbsp;&nbsp;&nbsp;IO0SET&nbsp;=&nbsp;BEEP;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;IAP_Entry&nbsp;=&nbsp;(void(*)())IAP_ENTER_ADR;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;初始化函数指针IAP_Entry<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;for(j=0;&nbsp;j&lt0xff;&nbsp;j++)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{tt[j]=0x55;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;ReadParID();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;读器件ID<br />&nbsp;&nbsp;&nbsp;&nbsp;BootCodeID();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;读Boot版本号&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;SelSector(8,8);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;选择扇区1<br />&nbsp;&nbsp;&nbsp;&nbsp;EraseSector(8,8);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;擦除扇区1<br />&nbsp;&nbsp;&nbsp;&nbsp;BlankCHK(8,8)&nbsp;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;查空扇区1<br />&nbsp;&nbsp;&nbsp;&nbsp;SelSector(8,8);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;选择扇区1<br />&nbsp;&nbsp;&nbsp;&nbsp;RamToFlash(0x00008000,(uint32)tt,&nbsp;256);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;写数据到扇区1&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;err&nbsp;=&nbsp;Compare(0x00008000,(uint32)tt,&nbsp;256);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;比较数据<br />&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;if(err&nbsp;==&nbsp;CMD_SUCCESS)&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IO0CLR&nbsp;=&nbsp;BEEP;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(i=0;&nbsp;i&lt0x3FFFFF;&nbsp;i++);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IO0SET&nbsp;=&nbsp;BEEP;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;成功,蜂鸣一声&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;data=(uint8&nbsp;*)0x8000;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bdata=(uint8*)0x40003000;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(j=0;&nbsp;j&lt0xff;&nbsp;j++)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bdata[j]&nbsp;=&nbsp;~(data[j]);&nbsp;&nbsp;&nbsp;&nbsp;//读出验证<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;else<br />&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IO0CLR&nbsp;=&nbsp;BEEP;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;失败,一直蜂鸣&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;while(1);<br />&nbsp;&nbsp;&nbsp;&nbsp;return(0);<br />}
 楼主| LYA 发表于 2007-6-30 15:51 | 显示全部楼层

还有一点

&nbsp;&nbsp;<br /><br />&nbsp;uint8&nbsp;j;&nbsp;<br /><br />&nbsp;for(j=0;&nbsp;j&lt0xff;&nbsp;j++)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{kk[j]=j;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />可以,为什么这样不可以<br />&nbsp;&nbsp;&nbsp;for(j=0;&nbsp;j&lt256;&nbsp;j++)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{kk[j]=j;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
ayb_ice 发表于 2007-6-30 15:55 | 显示全部楼层

256已经超出uint8 j的表示范围,改成U32 j即可...

  
 楼主| LYA 发表于 2007-6-30 15:58 | 显示全部楼层

;;

uint8不是uchar吗
您需要登录后才可以回帖 登录 | 注册

本版积分规则

LYA

7

主题

27

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部