想实现数据采集后存储到片内Flash,自己做的板子,用的是8M晶振,没有用32K的,现在程序可以下载到单片机,但是数据写不到Flash里,程序在开发板里可以将数据写入Flash,都找原因三四天了,还是不知道原因,希望高手指点啊。
谢谢你的帮助,能帮我看下我的程序吗?看看有什么问题
#include <msp430.h>
#include "BoardConfig.h
uint *Flash_ptr; // Flash pointer
unsigned int i;
void flash_write(void)
{
while(FCTL3 & BUSY);
FCTL2 = FWKEY + FSSEL0 + FN4+ FN1+ FN0; // MCLK/20 for Flash Timing Generator
Flash_ptr = (uint *) 0x2080; // Initialize Flash pointer
FCTL1 = FWKEY + ERASE; // Set Erase bit
FCTL3 = FWKEY;// Clear Lock bit
*Flash_ptr = 0; // Dummy write to erase Flash segment
FCTL1 = FWKEY + WRT;
}
void int_clk(void)
{
BCSCTL1&=~XT2OFF; //打开XT振荡器
do
{
IFG1 &= ~OFIFG; //清除振荡错误标志
for(i = 0; i < 100; i++);
_NOP(); //延时等待
}
while ((IFG1 & OFIFG) != 0); //如果标志为1继续循环等待
BCSCTL2|=SELM_0; //MCLK 8M
}
void main( void )
{
WDTCTL = WDTPW + WDTHOLD; //关狗
int_clk();
flash_write();
while((FCTL3&BUSY)==BUSY) ;//等待FLASH存储器完成操作
for(i=0;i<8;i++)
{
*Flash_ptr=0x30; // Move results;
Flash_ptr++;
}
FCTL1 = FWKEY; // Clear WRT bit
FCTL3 = FWKEY + LOCK; // Reset LOCK bit
_EINT();
}
这个程序在开发板上可以写入Flash8个0030,但是在我做的板子上就不行啊