DSP5402之倒塌的"数组"访问

[复制链接]
2063|1
 楼主| hotpower 发表于 2008-5-16 20:51 | 显示全部楼层 |阅读模式
#define&nbsp;FLASH(x)&nbsp;&nbsp;(*((volatile&nbsp;unsigned&nbsp;char&nbsp;*)&nbsp;0x8000&nbsp;+&nbsp;x))<br />/*----------------------------------------------------------<br />另类的&quot;数组&quot;访问,外扩的SST39VF800A从0x8000开始<br />void&nbsp;FlashObj::ChipErase(void)<br />{<br />&nbsp;&nbsp;FLASH(0x5555)&nbsp;=&nbsp;0xaa;&nbsp;&nbsp;<br />&nbsp;&nbsp;FLASH(0x2AAA)&nbsp;=&nbsp;0x55;&nbsp;&nbsp;<br />&nbsp;&nbsp;FLASH(0x5555)&nbsp;=&nbsp;0x80;<br />&nbsp;&nbsp;FLASH(0x5555)&nbsp;=&nbsp;0xaa;&nbsp;&nbsp;<br />&nbsp;&nbsp;FLASH(0x2AAA)&nbsp;=&nbsp;0x55;&nbsp;&nbsp;<br />&nbsp;&nbsp;FLASH(0x5555)&nbsp;=&nbsp;0x10;<br />&nbsp;&nbsp;Wait(0x5555);<br />}<br />void&nbsp;FlashObj::Wait(unsigned&nbsp;int&nbsp;address)<br />{<br />unsigned&nbsp;int&nbsp;temp,&nbsp;val;<br />&nbsp;&nbsp;do&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;val&nbsp;=&nbsp;FLASH(address);<br />&nbsp;&nbsp;&nbsp;&nbsp;__nop();<br />&nbsp;&nbsp;&nbsp;&nbsp;temp&nbsp;=&nbsp;FLASH(address);<br />&nbsp;&nbsp;&nbsp;&nbsp;__nop();<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;while(((val&nbsp;^&nbsp;temp)&nbsp;&&nbsp;(1&nbsp;&lt&lt&nbsp;BIT6))&nbsp;!=&nbsp;0);<br />}<br />----------------------------------------------------------*/<br />
 楼主| hotpower 发表于 2008-5-18 07:32 | 显示全部楼层

非常感谢simon21ic对宏bug的纠错!!!!

simon21ic&nbsp;发表于&nbsp;2008-5-17&nbsp;22:21&nbsp;侃单片机&nbsp;←返回版面&nbsp;&nbsp;&nbsp;举报该贴&nbsp;<br /><br />所以讨论一个没人用的写法没意义啊<br /><br />映像中途只有看到过一次&a的用法<br />#define&nbsp;sizeof(a)&nbsp;&nbsp;((char*)(&(a)+1)&nbsp;-&nbsp;(char*)&(a))<br /><br />顺便提一下32楼的宏:<br />#define&nbsp;FLASH(x)&nbsp;&nbsp;(*((volatile&nbsp;unsigned&nbsp;char&nbsp;*)&nbsp;0x8000&nbsp;+&nbsp;x))<br />最好写成<br />#define&nbsp;FLASH(x)&nbsp;&nbsp;(*((volatile&nbsp;unsigned&nbsp;char&nbsp;*)&nbsp;0x8000&nbsp;+&nbsp;(x)))<br />&nbsp;<br />&nbsp;<br /> <br /> 相关链接:<a href='https://bbs.21ic.com/club/bbs/ShowAnnounce.asp?v=&ID=2967209'>https://bbs.21ic.com/club/bbs/ShowAnnounce.asp?v=&ID=2967209</a>
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1460

主题

21617

帖子

508

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