AM29lv320芯片应用
32 Megabit (4 M x 8-Bit/2 M x 16-Bit)
29lv320 FLASH操作(BYTE 方式)
DQ15~A20 为21位地址输入,D00~D07为8位地址输入输出,RY/BY 为忙信号
以下说明不是真正的程序,要根据你的系统需要修改
addrL(表示16位低地址端口DQ15~A14)
addrH(表示8位高地址端口A15~A20)
data(8位表示数据端口)
BUSY(1位表示忙引脚)
1 读
unsigned char i;
addrL=要读出地址低16位
addrH=要读出地址高8位
i=data
数据就读到i里了(和RAM操作一样)
2 写
unsigned char i;
addrH=要写入地址高8位
addrL=0xaaa
data=0xaa
addrL=0x555
data=0x55
addrL=0xaaa
data=0xa0
addrL=要写入地址高8位
data=i(要写入的数据)
while(!busy)
i就写入指定地址了
3 擦除(擦除以sector 为单位,关于sector的大小和地址见数据手册)
addrH=0;
addrL=0xaaa
data=0xaa
addrL=0x555
data=0x55
addrL=0xaaa
data=0x80
addrL=0xaaa
data=0xaa
addrL=0x555
data=0x55
addrH=要擦除高位地址(sector中任意地址)
addrL=要擦除的低位地址
data=0x30
while(!busy)
整个sector就被擦除了
阅读(1404) | 评论(0) | 转发(0) |