外部SRAM *(vu8*)(Bank1_SRAM3_ADDR+WriteAddr)=*pBuffer;

2019-07-20 05:00发布

本帖最后由 fankai 于 2017-4-19 18:21 编辑

如题,在学习外部SRAM的时候,*(vu8*)(Bank1_SRAM3_ADDR+WriteAddr)=*pBuffer;
这里把地址强制转换成 (vu8 *) 指针, 但Bank1_SRAM3_ADDR+WriteAddr是一个32位的数(地址),为什么要转换成8位,而且写入一个字节的时候,WriteAddr++,也是增加的一个字节的地址
为什么不是vu32呢,如果说写入16位数值,要WriteAddr+2,那跟这里强制转换成vu8也没有关系啊
另外,我改成了vu32例程也是正常的,求大家指教
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
正点原子
1楼-- · 2019-07-20 09:39
因为方便字节写入。
fankai
2楼-- · 2019-07-20 11:02
 精彩回答 2  元偷偷看……
fankai
3楼-- · 2019-07-20 13:03
正点原子 发表于 2017-4-19 16:24
因为方便字节写入。

请原子哥指教,对这里不太明白,这里和写入字节的地址有什么关系呢?要是写入一个word的话,就写成vu16 ?
fankai
4楼-- · 2019-07-20 13:27
 精彩回答 2  元偷偷看……
Soitgoes
5楼-- · 2019-07-20 15:00
 精彩回答 2  元偷偷看……

一周热门 更多>