int at24cxx_self_test(void) { int ret; uint8_t buf[128],buf1[128],buf2[128]; ret = at24cxx_read(0, buf, sizeof(buf)); if(ret) { return ret; } memset(buf1,'Y',sizeof(buf1)); ret = at24cxx_write(0, buf1, sizeof(buf1)); if(ret) { return ret; } ret = at24cxx_read(0, buf2, sizeof(buf2)); if(ret) { return ret; } ret = at24cxx_write(0, buf, sizeof(buf)); if(ret) { return ret; } if(!memcmp(buf1, buf2, sizeof(buf1))) { return 0; } return 1; }
int main() { char c; char str[200]; int i; int address; int data; unsigned int mid, pid; uart0_init(); // 波特率115200,8N1(8个数据位,无校验位,1个停止位) SPIInit(); OLEDInit(); OLEDPrint(0, 0, "Hello World SPI!"); SPIFlashReadID(&mid, &pid); printf("SPI FLASH : Mid = 0x%2x, Pid = 0x%2x\n\r", mid, pid); sprintf(str, "SPI FLASH: %2x,%2x", mid, pid); OLEDPrint(2, 0, str); SPIFlashInit(); SPIFlashEraseSector(4096); SPIFlashEraseSector(1024); SPIFlashProgram(4096, "Happy NEW YEAR !", 20); SPIFlashProgram(1024, "Chinese New Year", 20); SPIFlashRead(1024, str, 18); printf("SPI Flash read from 1024: %s\n\r", str); // OLEDPrint(4, 0, str); SPIFlashRead(4096, str, 18); printf("SPI Flash read from 4096: %s\n\r", str); //OLEDPrint(6, 0, str); Test_Adc(); i2c_init(); at24cxx_write(0,0x11); data = at24cxx_read(0); if (data == 0x11) OLEDPrint(4, 0, "I2C OK!!!!"); else OLEDPrint(4, 0, "I2C ERROR!"); return 0; }
int main() { char c; char str[200]; int i; int address; int data; uart0_init(); // 波特率115200,8N1(8个数据位,无校验位,1个停止位) i2c_init(); while (1) { printf("\r\n##### AT24CXX Menu #####\r\n"); printf("[R] Read AT24CXX\n\r"); printf("[W] Write AT24CXX\n\r"); printf("Enter your selection: "); c = getc(); printf("%c\n\r", c); switch (c) { case 'r': case 'R': { printf("Enter address: "); i = 0; do { c = getc(); str[i++] = c; putc(c); } while(c != '\n' && c != '\r'); str[i] = '\0'; while(--i >= 0) { if (str[i] < '0' || str[i] > '9') str[i] = ' '; } sscanf(str, "%d", &address); printf("\r\nread address = %d\r\n", address); data = at24cxx_read(address); printf("data = %d\r\n", data); break; } case 'w': case 'W': { printf("Enter address: "); i = 0; do { c = getc(); str[i++] = c; putc(c); } while(c != '\n' && c != '\r'); str[i] = '\0'; printf("\r\n"); while(--i >= 0) { if (str[i] < '0' || str[i] > '9') str[i] = ' '; } sscanf(str, "%d", &address); //printf("get str %s\r\n", str); printf("Enter data: "); i = 0; do { c = getc(); str[i++] = c; putc(c); } while(c != '\n' && c != '\r'); str[i] = '\0'; printf("\r\n"); //printf("get str %s\r\n", str); while(--i >= 0) { if (str[i] < '0' || str[i] > '9') str[i] = ' '; } sscanf(str, "%d", &data); //address = 12; //data = 13; printf("write address %d with data %d\r\n", address, data); at24cxx_write(address, data); break; } } } return 0; }
int main() { unsigned int num; unsigned char ret = 0; #ifdef MMU_ON mmu_init(); #endif led_init(); key_init(); irq_init(); uart0_init(); lcd_init(); i2c0_init(); lcd_clear_screen(0x000000); dm9000_init(); printf("First write address of 0x0,"); at24cxx_write(0x0, 0xAA); //往设备内存0地址写入0xAA ret = at24cxx_read(0x0); //读设备内存0地址里面的数据 printf("the value in address 0x0 = %x\r\n",ret); printf("Second write address of 0x1,"); at24cxx_write(0x1,0x33); ret = at24cxx_read(0x1); printf("the value in address 0x1 = %x\r\n",ret); // dm9000_arp(); while(1) { printf("\r\n"); printf("========= Boot for S5pv210 Main Menu =========\r\n"); printf("========= designed by KungfuMonkey =========\r\n"); printf("\r\n"); printf("1.ARP Request for PC MAC\r\n"); printf("2.Download Linux Kernel to SDRAM\r\n"); printf("3.Run the linux\r\n"); scanf("%d\r\n",&num); printf("%d\r\n",num); switch(num) { case 1: arp_request(); break; case 2: tftp_send_request("zImage"); break; case 3: boot_linux(); break; default: printf("Error: wrong selection!\r\n"); break; } } return 0; }