首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

[求助]下载程序进去以后Flash只能写一次,请问?

[求助]下载程序进去以后Flash只能写一次,请问?

因为项目时间比较紧,所以直接拿网上的写flash的例程序来用,就是那个C demo程序,c调用汇编。我是在程序运行的时候通过串口向flash写一些参数,可是发现第一次写是正确的,第二次写和预想的不一样,然后后面的就写不进去了,初始化的时候我只是初始化了时钟,别的关于Flash的寄存器好像都是关于加密的,没有管,不知道是什么原因,请问是我调用的有问题还是别的原因,程序如下:
DisableInterrupts;
InitFlashClock();
{
unsigned short temp;
temp = (unsigned short)&ModuleConfigInfoRam.AppNetID;                        
                        
ByteProgram (MODULE_CONFIG_INFO_ADDRESS,1,temp, HighVoltage, CallBack);

ByteProgram ((MODULE_CONFIG_INFO_ADDRESS + 1),1,(temp + 1), HighVoltage, CallBack);

ByteProgram ((MODULE_CONFIG_INFO_ADDRESS + 2),1,(temp + 2), HighVoltage, CallBack);
}
                      
EnableInterrupts;
其中
void InitFlashClock(void){
    FCDIV = 0x27;
}

void CallBack(void)
{
}
MODULE_CONFIG_INFO_ADDRESS 是0x1840                [em27][em27][em27]
程序在写FLASH之前有没有将其擦空?
海纳百川  有容乃大
哇!版主在啊,请教flash读写的问题,还是上面那个程序,为什么有的时候能写3个字节,有的时候只能写一个呢?写一个的时候程序就飞了,为什么啊?哎呀,头疼啊
可以试试先将COP(Watchdog)关断。
海纳百川  有容乃大
返回列表