flash memory เป็นพื้นที่หน่วยความจำสำหรับเก็บ program ที่เราเขียนขึ้น ซึ่งมีขนาด 1024 words ถึงแม้ว่าจะไม่มีไฟฟ้าจ่ายให้กับ MCU ข้อมูลที่เก็บอยู่ใน flash memory ก็จะไม่หายไป จุดเด่นของ flash memory ก็คือสามารถเขียนทับเข้าไปใหม่ได้หลายๆ ครั้ง ซึ่งจำนวนครั้งจะอยู่ที่ประมาณ 1000 ครั้ง จากรูป ในตัวของ flash memory 1 ตัว จะมี buffer อยู่สองตัว บัฟเฟอร์ทั้งสองตัวนี้จะทำหน้าที่เหมือนกันคือ เก็บข้อมูล และ รับข้อมูล แต่จะทำงานสลับกันคือ ถ้าตัวหนึ่งรับ อีกตัวหนึ่งจะเก็บ
โครงร่าง PIN
code การอ่านข้อมูล adc ที่ใช้
#if EN_LOG_BATTERY
ADC_init(VOLTAGE_SENSOR); // set up adc
log_data=ADC_read(); // read adc
DF_write_int(log_data);
#endif
gDataPosition++;
//transfer to DataFlash if the page is full
if (gDataPosition==RECORDSPERPAGE){
Buffer_To_Page (1,gDataPage);
gDataPosition=0;
gDataPage++;
//Check for Flash Rollover
if(gDataPage==TOTALPAGESINFLASH){
gRolloverFlash++; // dump entire flash from now on.
gDataPage=0; // reset to page 0;
}
}
DF_CS_inactive;
if (cbdisable){
ADMUX=adcv;
Timer0_RegisterCallbackFunction(ADC_periphery);
}
gLogNow=FALSE; // clear flag
ไม่มีความคิดเห็น:
แสดงความคิดเห็น