c8051f120内flash存储怎么读写,不会上面写的那个,每次写都要擦除吧???谢谢。 主要用于语音采集回放的
c8051f120内flash存储怎么读写,不会上面写的那个,每次写都要擦除吧???谢谢。 主要用于语音采集回放的.
网上有些程序。不知道是不是正确的。
void Flash_READ(void)
{ unsigned char code *pread; /*程序存储器空间的指针
(Flash),指向待读地址 */
pread=0x1000;
for(i=0;i<t;i++)
a[i]=*pread++;
}
void Flash_WRITE(void){
unsigned char xdata *pwrite;
/*程序存储器空间的指针(Flash),指向待写地址*/
unsignedchar*pgen; /*一般指针 */
unsigned char i;
EA=0; /*关中断*/
FLSCL=0X01; /*允许对Flash进行写/擦除*/
PSCTL=0X03;
pwrite=0x1000; /*指向Flash 的首地址*/
*pwrite=0; /*擦除该Flash扇区*/
PSCTL=0X01; /*禁止对Flash的擦除*/
pgen=&a[0]; /*将数组值写入Flash中*/
for(i=0;i<t;i++) {
*pwrite++=*pgen++;
}
FLSCL=0X00; /*禁止对Flash的写操作*/
PSCTL=0X00;
EA=1; /*开中断*/
}
有没有,不是那么麻烦的,因为要采集语音,用单片机做滤波,再做语音压缩,每次写要擦除,怕片子处理不过来。
[解决办法]
FLASH想要写新数据,一般情况下都是需要擦除的
而且,FLASH的擦写速度一般都比较慢(相对的)
[解决办法]
楼主是否安装了Silicon Laboratories IDE?
安装路径下有简单的demo,直接拿来就用了。
如果没有安装去新华龙或者http://www.silabs.com下载。