No.105663 作者:lengyue198 邮件:lengyue198@126.com ID:67604 登陆:3次 文章数:2篇 最后登陆IP:58.213.192.202 最后登陆:2007/5/16 9:35:39 注册:2007/1/12 9:15:20 财富:109 发帖时间:2007/5/9 16:14:58 发贴者IP:58.213.8.190 标题:lengyue198:AT45DB161读写请教 摘要:No.105663AT45DB161读写请教 各位DX请帮小弟看看,我用AT45DB161B做flash的时候,发现读状态的时候读出来的是0XAC是队的,但是在读写页的时候,发现我读的数据是我写进去的数据循环移了一位后的数,比如说我写进去的是0x33读出来的却是0x66,读flash我用的是直接读主存页函数,写的时候是先写到缓冲区一再到页的方法,那位能帮忙看看啊 读写程序如下 void readFlash(u16 page_addr, u16 page_offset, u8 *ram_add, u16 len) { u8 i; Disable45db161(); // gsb_CS = 0 ; writeByte_SPI(0xD2) ; writeByte_SPI((u8)(page_addr> > 6)) ;// 页地址PA11-PA6 writeByte_SPI((u8)((page_addr < <2)|(page_offset> > 8))) ; // 页内偏移BA9-BA8 writeByte_SPI((u8)(page_offset)) ;// 页内偏移BA7-BA0 writeByte_SPI(0x00) ; writeByte_SPI(0x00) ; writeByte_SPI(0x00) ; writeByte_SPI(0x00) ; for(i = 0; i < len; i++) { *(ram_add+i) = readByte_SPI() ;// 读取接收到的 } // Disable45db161(); Enable45d ......
>>返回讨论的主题
|
老古网执行:31毫秒 最大:78531毫秒 查询6次
|
|