PDA

View Full Version : help!! flash_memory_in_pic24fj


bubeohl
23-02-2010, 12:01 PM
chào mọi người!
mình đang gặp vấn đề ở việc ghi và đọc dữ liệu bộ nhớ flash memory trong pic24fj128ga010.
+ ghi giá trị của biến value vào địa chỉ _FlashStartAddress_
+ đọc giá trị tại địa chỉ trên và lưu vào biến value1.
+ so sánh nếu value = value1 thì đưa ra chỉ thị trên lcd
code của mình như bên dưới (mình dùng CCS), kết quả vẫn chưa được. ai biết thì giúp đỡ nhé.hi.
cám ơn nhìu
////////////////////////////////////////////////////////////////////////////

#define PROGRAM_MEMORY_SIZE getenv("PROGRAM_MEMORY")

#define FLASH_DATA_SIZE 32

#define FLASH_DATA_END PROGRAM_MEMORY_SIZE-1

#define FLASH_DATA_START (PROGRAM_MEMORY_SIZE - FLASH_DATA_SIZE)

#org FLASH_DATA_START, FLASH_DATA_END {}


void main()
{ int32 FlashStartAddress;
int8 value,value1;
int32 i;
disable_interrupts(INTR_GLOBAL);


lcd_init();

lcd_putcmd(0x01);

delay_ms(200);

lcd_putcmd(0x80);

lcd_putchar("flash_memory");



value =0;
value1=0;
DataArray8[0] = 0;

FlashStartAddress = FLASH_DATA_START;


value = 1;


write_program_memory(FlashStartAddress, value, 1);

delay_ms(3000);


read_program_memory(FlashStartAddress, value1,1);

delay_ms(3000);

if(value1 == value)
{
lcd_putcmd(0xC0);
lcd_putchar("oki");

}
} // end main