| | |
| | | OutputIO(EEPROM_CS1_PORT,EEPROM_CS1_PIN,OUT_PUSHPULL); |
| | | OutputIO(EEPROM_CS2_PORT,EEPROM_CS2_PIN,OUT_PUSHPULL); |
| | | CloseIO(EEPROM_WP_PORT,EEPROM_WP_PIN); |
| | | E2P_PWR_ON; |
| | | EEPROM_CS_HIGH; |
| | | EEPROM_CS_2_HIGH; |
| | | } |
| | | |
| | | |
| | | void E2P_Ctrl_Gpio_sleep(void) |
| | | { |
| | | CMU_PERCLK_SetableEx(PADCLK, ENABLE); //PADʱÖÓ£¨GPIO£©Ê¹Äܺ¯Êý |
| | | OutputIO(EEPROM_PWR_PORT,EEPROM_PWR_PIN,OUT_PUSHPULL); |
| | | OutputIO(EEPROM_CS1_PORT,EEPROM_CS1_PIN,OUT_PUSHPULL); |
| | | OutputIO(EEPROM_CS2_PORT,EEPROM_CS2_PIN,OUT_PUSHPULL); |
| | | CloseIO(EEPROM_WP_PORT,EEPROM_WP_PIN); |
| | | E2P_PWR_OFF; |
| | | EEPROM_CS_LOW; |
| | | EEPROM_CS_2_LOW; |
| | |
| | | |
| | | EEPROM_CS_ENABLE; |
| | | FM_ReadWriteByte(FM_WRITE); |
| | | #ifndef EEPROM_ADDR_BYTES2 |
| | | FM_ReadWriteByte((uint8_t)((addr_fit)>>16)); |
| | | #endif |
| | | FM_ReadWriteByte((uint8_t)((addr_fit)>>8)); |
| | | FM_ReadWriteByte((uint8_t)((addr_fit))); |
| | | FM_ReadWriteByte(data); |
| | |
| | | |
| | | EEPROM_CS_ENABLE; |
| | | FM_ReadWriteByte(FM_READ); |
| | | #ifndef EEPROM_ADDR_BYTES2 |
| | | FM_ReadWriteByte((uint8_t)(addr_fit>>16)); |
| | | #endif |
| | | FM_ReadWriteByte((uint8_t)(addr_fit>>8)); |
| | | FM_ReadWriteByte((uint8_t)(addr_fit)); |
| | | data = FM_ReadWriteByte(0xff);//data = FM_ReadWriteByte(0xff); |
| | |
| | | |
| | | EEPROM_CS_ENABLE; |
| | | FM_ReadWriteByte(FM_WRITE); |
| | | #ifndef EEPROM_ADDR_BYTES2 |
| | | FM_ReadWriteByte((uint8_t)((addr_temp)>>16)); |
| | | #endif |
| | | FM_ReadWriteByte((uint8_t)((addr_temp)>>8)); |
| | | FM_ReadWriteByte((uint8_t)(addr_temp)); |
| | | for(i = 0;i < bytewrite;i ++) |
| | |
| | | |
| | | EEPROM_CS_ENABLE; |
| | | FM_ReadWriteByte(FM_READ); |
| | | #ifndef EEPROM_ADDR_BYTES2 |
| | | FM_ReadWriteByte((uint8_t)(addr>>16)); |
| | | #endif |
| | | FM_ReadWriteByte((uint8_t)(addr>>8)); |
| | | FM_ReadWriteByte((uint8_t)(addr)); |
| | | for(index = 0;index < bytes;index ++) |
| | | data[index] = FM_ReadWriteByte(0xff); |
| | | EEPROM_CS_DISABLE; |
| | | EEPROM_Wait_Busy(); |
| | | EEPROM_CS_DISABLE; |
| | | |
| | | } |
| | | |
| | | |
| | | uint8_t EEPROM_MultipleWrite_CS_2(uint8_t *data,u32 addr,u16 bytes) |
| | | { |
| | | Fram_cs_flag = EEPROM_CS_2; |
| | | EEPROM_MultipleWrite(data, addr, bytes) ; |
| | | |
| | | Fram_cs_flag = EEPROM_CS_1; |
| | | return 0; |
| | | } |
| | | |
| | | uint8_t EEPROM_MultipleRead_CS_2(uint8_t *data,u32 addr,u16 bytes) |
| | | { |
| | | Fram_cs_flag = EEPROM_CS_2; |
| | | EEPROM_MultipleRead(data, addr, bytes) ; |
| | | |
| | | Fram_cs_flag = EEPROM_CS_1; |
| | | return 0; |
| | | } |
| | | |
| | | |
| | | |
| | | void EEPROM_CS_2_test(void) |
| | | void EEPROM_test(void) |
| | | { |
| | | uint8_t u8_temp; |
| | | uint8_t u8_temp_s[256]; |
| | | uint8_t u8_temp_s2[256]; |
| | | uint8_t buf_test[10] = {0}; |
| | | static uint16_t WR_times = 0; |
| | | static uint16_t WR_times_suc = 0; |
| | | |
| | | u16 count_i = 0; |
| | | |
| | | for(count_i=0;count_i<256;count_i++) |
| | | { |
| | | u8_temp_s[count_i] = count_i; |
| | | u8_temp_s2[count_i] = 0; |
| | | } |
| | | |
| | | delay_ms(10); |
| | | delay_ms(100); |
| | | EEPROM_CTRL_ENABLE; |
| | | delay_ms(100); |
| | | EEPROM_MultipleRead(buf_test, 256, 10); |
| | | |
| | | |
| | | EEPROM_CTRL_DISABLE; |
| | | |
| | | delay_ms(10); |
| | | memset(buf_test,0,sizeof(buf_test)); |
| | | |
| | | |
| | | EEPROM_CTRL_ENABLE; |
| | | delay_ms(10); |
| | | EEPROM_MultipleRead(buf_test, 256, 10); |
| | | |
| | | EEPROM_CTRL_DISABLE; |
| | | |
| | | |
| | | while(1){ |
| | | IWDT_Clr(); |
| | | delay_ms(500); |
| | | } |
| | | |
| | | // while(WR_times <1024) |
| | | // { |
| | |
| | | // |
| | | // } |
| | | |
| | | // EEPROM_MultipleRead_CS_2(u8_temp_s2,(1000 * 256+9),256); |
| | | |
| | | |
| | | |
| | | |