با عرض سلام خدمت دوستان.
چند روزه درگیر راه اندازی eeprom 512k هستم.متاسفانه هنوز نتونستم از eeprom جواب بگیرم!! واقعا کلافه شدم :angry: :angry: :angry:
خواهشا اگه کسی از دوستان کار کرده ممنون میشم راهنماییم کنه.
با تشکر.
کدی ک خودم نوشتم جواب نگرفتم!!!!.
چند روزه درگیر راه اندازی eeprom 512k هستم.متاسفانه هنوز نتونستم از eeprom جواب بگیرم!! واقعا کلافه شدم :angry: :angry: :angry:
خواهشا اگه کسی از دوستان کار کرده ممنون میشم راهنماییم کنه.
با تشکر.
کدی ک خودم نوشتم جواب نگرفتم!!!!.
کد:
#include <AT91SAM7X256.h>
#include <lib_AT91SAM7X256.h>
#include <PIO.h>
#include <delay.h>
#include <adc.h>
#include <twi.c>
#define PORTRAIT
#define family_AT91SAM7X
#define TFTLCD_DATAPORT_B
#define LCD_OFFSET 0
#define TFTLCD_CONTROLPORT_A
#define TFTLCD_CS 22
#define TFTLCD_RS 23
#define TFTLCD_WR 24
#define TFTLCD_RD 25
#define TFTLCD_RST 26
#include <lcd.h>
int x11,y11;
char m;
char lcd_buf[100];
unsigned char eeprom[30];
unsigned char str[20];
char tx =m;
char data;
int main()
{
LCD_Init();
*AT91C_PIOA_PDR = 1<<10 | 1<<11;
*AT91C_PIOA_ASR = 1<<10 | 1<<11;
*AT91C_PIOA_MDER = 1<<10 | 1<<11;
*AT91C_PIOA_PPUER = 1<<10 | 1<<11;
*AT91C_PMC_PCER = 1<<9;
*AT91C_TWI_CWGR = 0X00017676;
*AT91C_TWI_CR = 1<2;
//WIRTE
*AT91C_TWI_MMR = 0X00450200;
*AT91C_TWI_IADR = 3520;
*AT91C_TWI_THR = a;
while((*AT91C_TWI_SR & 0X4) == 0 );
while((*AT91C_TWI_SR & 0X1) == 0 );
delay_ms(12 );
//read
*AT91C_TWI_MMR = 0X00451200;
*AT91C_TWI_IADR = 3520;
*AT91C_TWI_CR = 0X3;
while((*AT91C_TWI_SR & 0X2) == 0 );
data=*AT91C_TWI_RHR;
while((*AT91C_TWI_SR & 0X1) == 0 );
delay_ms(10);
sprintf(eeprom,"data=""%d",data);
LCD_ShowString(40,60,eeprom);
delay_s(2);
/*
PIO_Periph(PORT_A,1<<10|1<<11,0);
PIO_Opendrain(PORT_A,1<<10|1<<1);
Pullup(PORT_A,1<<10|1<<11);
TWI_Configure(100000);
TWI_WriteByteIadr (BASE_TWI,0X45,20000,2,&tx);
delay_ms(10);
TWI_ReadByteIadr (BASE_TWI,0X45,20000,2,&rx);
LCD_Clear(BLACK);
sprintf(eeprom_buf,"rx=""%d",rx);
LCD_ShowString(40,60,eeprom_buf);
delay_s(1);
*/
while(1)
{
}
}



دیدگاه