PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : راه اندازی ای سی ads7843 کنترلر تاچ



Aghaeifar
03-08-2010, 17:48
سلام
می خواستم برای تاچ روی برد ال سیدیم که توسط این ای سی کنترلر میشه تاچش رو راه اندازی کنم
مشکلم این بود همش صفر دریافت می کنم

من از lpc2148 دارم استفاده می کنم کدم رو هم در زیر می ذارم اگر کسی نکته دید توش من رو بی نصیب نذاره
دیتا شیت آی سی :
You can see links before reply
ای سی توسط باس spi با میکرو کنترلر ارتباطه داره



#define Touch_Set FIO1SET=1<<22
#define Touch_Clr FIO1CLR=1<<22

#define spi_connect PINSEL0=0x1500
#define spi_disconnect PINSEL0=0x00
#define CHANNEL_X 0x93 // PD[]=11 || DFR || Mode=12Bit || Analog input=X+
#define CHANNEL_Y 0xD3 // PD[]=11 || DFR || Mode=12Bit || Analog input=Y+
#define CHANNEL_none 0x0

extern unsigned char bufsend[3],bufrecieve[3],bufstatus[3];

void spi_init_touch()
{
S0SPCCR=0x0C; // Clock devider = 12
S0SPCR=0x820; // Master - 8bit transfer - CPOL&CPHA=0 - MSB first
}

void touch_get (unsigned short cmd)
{

unsigned short i;
bufsend[0]=cmd;
bufsend[1]=CHANNEL_none;
bufsend[2]=CHANNEL_none;
FIO0DIR&=0xFFDF;
Touch_Clr;
for (i=0;i<3;i++)
{
bufsend[i]=spi_send(bufsend[i]);
bufrecieve[i]=S0SPDR;
bufstatus[i]=S0SPSR;
}
FIO0DIR=0xFFFF;
Touch_Set;
}


void spi_wait()
{
while(!(S0SPSR&0x80));
}


unsigned short spi_send(unsigned short data)
{
spi_connect;
S0SPDR=data;
spi_wait();
data=S0SPSR;
spi_disconnect;
return data;
}

Aghaeifar
03-08-2010, 20:16
کسی راهی داره که من مطمئن شم که اصلا باس spi صحیح کار می کنه یا نه ؟

1nafar
03-08-2010, 20:37
سلام
کل فایل پروژه رو بزار تا من چکش کنم

Aghaeifar
03-08-2010, 21:14
یک کم فایل ها پروژه زیاده ولی کلش رو یه جا گذاشتم
ال سی دی رنگی مورد استفاده من این N96 نیست (در پروژه فایلش هست گفتم اشتباه نشه )

فایل touch.c و function.h در مورد توابع باس spi هستن که نوشتم .

فایل final_bsc.c هم که حاوی فایل main هست.

ممنون