ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ورود برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.





کاربران برچسب زده شده

نمایش نتایج: از 1 به 6 از 6
  1. #1
    2013/04/25
    کرمان
    44
    1

    هدر براي XPT2046 , ads7843

    سلام به همه دوستان
    چند وقت قبل سر يه پروژه نياز بود از اين اي سي ها استفاده کنم
    بنابراين يه هدر تروتميز + ارتباط نرم افزاري واسش نوشتم که اينجا ميذارم تا همه ازش استفاده کنن
    فقط شما بايد اول هدر اين پايه هارو طبق نياز خودتون اول هدر تغيير بديد
    اين هدر رو با lpc1768 تست شده و کامل توسط خودم جواب گرفته شده.
    کد:
    //******************      XPT2046 Library By:Alireza Hammamizadeh *****************
    //******************************** Alireza.hammamizadeh@yahoo.com *********************
    //***************************************************************************************
    //***************************************************************************************
    //***************************************************************************************
    //***************************************************************************************
    #define  XPT2046_DCLK(x)     {if(x) LPC_GPIO1->FIOSET|=(1<<10); else LPC_GPIO1->FIOCLR|=(1<<10); }
    #define  XPT2046_DCLK_OUTPUT()  LPC_GPIO1->FIODIR|=(1<<10) 
    //***************************************************************************************
    #define  XPT2046_CS(x)       {if(x) LPC_GPIO1->FIOSET|=(1<<14); else LPC_GPIO1->FIOCLR|=(1<<14); }
    #define  XPT2046_CS_OUTPUT()    LPC_GPIO1->FIODIR|=(1<<14) 
    //***************************************************************************************
    #define  XPT2046_DIN(x)       {if(x) LPC_GPIO1->FIOSET|=1<<18; else LPC_GPIO1->FIOCLR|=1<<18; }
    #define  XPT2046_DIN_OUTPUT()    LPC_GPIO1->FIODIR|=(1<<18) 
    //***************************************************************************************
    #define  XPT2046_DIO()       (LPC_GPIO1->FIOPIN&(1<<16))
    #define  XPT2046_DIO_INPUT()    LPC_GPIO1->FIODIR&=~(1<<16) 
    //***************************************************************************************
    #define  XPT2046_PENIRQ()      (LPC_GPIO1->FIOPIN&(1<<17))
    #define  XPT2046_PENIRQ_INPUT()   LPC_GPIO1->FIODIR&=~(1<<17) 
    //***************************************************************************************  
    //***************************************************************************************
    خب اينارو که طبق نيازتون تغير داديد تو هدر بعدش تو مينتون فقط اينکلود ميکنيد هدر رو و
    ابتدا بايد تابع
    کد:
    XPT2046_SPI_INT( );
    فراخواني بشه و سپس تا بع
    کد:
    XPT2046_SEND(CMD_ENABLE_PENIRQ);
    که باعث ميشه اي سي در صورت گرفتن لمس جديد يه اينتر اپ بده
    کد:
     while(XPT2046_PENIRQ());
    	  datax= XPT2046_SEND(CMD_X_POSITION);
    	  datay= XPT2046_SEND(CMD_Y_POSITION);
    		 XPT2046_SEND(CMD_ENABLE_PENIRQ);
    و تيکه کد بالا وايميسه تا نقطه جديد لمس بشه و بعد لمس شدن مقدار x و y رو تو دوتا متغيير ذخيره ميکنه و بعدشم دوبار اي سيو براي مختصات جديد اماده ميکنه
    فقط استفاده کرديد , يه فاتحه واسه شهدا بخونيد دمتون گرم.
    اينم کل فايل هدر
    کد:
    //******************      XPT2046 Library By:Alireza Hammamizadeh *****************
    //******************************** Alireza.hammamizadeh@yahoo.com *********************
    //***************************************************************************************
    //***************************************************************************************
    //***************************************************************************************
    //***************************************************************************************
    #define  XPT2046_DCLK(x)     {if(x) LPC_GPIO1->FIOSET|=(1<<10); else LPC_GPIO1->FIOCLR|=(1<<10); }
    #define  XPT2046_DCLK_OUTPUT()  LPC_GPIO1->FIODIR|=(1<<10) 
    //***************************************************************************************
    #define  XPT2046_CS(x)       {if(x) LPC_GPIO1->FIOSET|=(1<<14); else LPC_GPIO1->FIOCLR|=(1<<14); }
    #define  XPT2046_CS_OUTPUT()    LPC_GPIO1->FIODIR|=(1<<14) 
    //***************************************************************************************
    #define  XPT2046_DIN(x)       {if(x) LPC_GPIO1->FIOSET|=1<<18; else LPC_GPIO1->FIOCLR|=1<<18; }
    #define  XPT2046_DIN_OUTPUT()    LPC_GPIO1->FIODIR|=(1<<18) 
    //***************************************************************************************
    #define  XPT2046_DIO()       (LPC_GPIO1->FIOPIN&(1<<16))
    #define  XPT2046_DIO_INPUT()    LPC_GPIO1->FIODIR&=~(1<<16) 
    //***************************************************************************************
    #define  XPT2046_PENIRQ()      (LPC_GPIO1->FIOPIN&(1<<17))
    #define  XPT2046_PENIRQ_INPUT()   LPC_GPIO1->FIODIR&=~(1<<17) 
    //***************************************************************************************  
    //***************************************************************************************
    //***************************************************************************************
    //***************************************************************************************
    // xpt registers
    #define ADS_CTRL_PD0       (1 << 0)    // PD0
    #define ADS_CTRL_PD1       (1 << 1)    // PD1
    #define ADS_CTRL_DFR       (1 << 2)    // SER/DFR
    #define ADS_CTRL_EIGHT_BITS_MOD  (1 << 3)    // Mode
    #define ADS_CTRL_START      (1 << 7)    // Start Bit
    #define ADS_CTRL_SWITCH_SHIFT   4        // Address setting
    
    // Get X position command
    #define CMD_X_POSITION ((1 << ADS_CTRL_SWITCH_SHIFT) | ADS_CTRL_START | ADS_CTRL_PD0 | ADS_CTRL_PD1)
    // Get Y position command
    #define CMD_Y_POSITION ((5 << ADS_CTRL_SWITCH_SHIFT) | ADS_CTRL_START | ADS_CTRL_PD0 | ADS_CTRL_PD1)
    // Enable penIRQ
    #define CMD_ENABLE_PENIRQ ((1 << ADS_CTRL_SWITCH_SHIFT) | ADS_CTRL_START)
    // delay 
    #define XPT2046_Delay()  	1
    //***************************************************************************************
    //***************************************************************************************
    //***************************************************************************************
    void XPT2046_SPI_INT( void )
    {
    	 XPT2046_DCLK_OUTPUT();
    	 XPT2046_DCLK(0);
    	 XPT2046_CS_OUTPUT();
      XPT2046_CS(1);
      XPT2046_DIN_OUTPUT();	
    	 XPT2046_DIN(0);	
    	 XPT2046_DIO_INPUT();
    	 XPT2046_PENIRQ_INPUT();
     	return;
    }//void XPT2046_SPI_INT( void )
    unsigned int XPT2046_SEND(unsigned char cmd )
     {
     unsigned int data=0;
     unsigned char j=0,gbyt=11;;
    //***************************//strat connect
    	XPT2046_DCLK(0);
    	XPT2046_CS(0);
    	XPT2046_DIN(0);
    	while(XPT2046_DIO());// wait unti xpt get answer
    	 XPT2046_Delay();
    	for(j=8;j>=1;j--)
    	{
    	 if(cmd & ( 1<< ( j - 1 ) )){ XPT2046_DIN(1);}	
    	 else 	          XPT2046_DIN(0); 
    	 XPT2046_DCLK(1);
    	 XPT2046_Delay();
    	 XPT2046_DCLK(0);
    	 XPT2046_Delay();
    	}
    	XPT2046_DIN(0);
    	XPT2046_Delay();
    //************************** send byte to xpt finished
     gbyt=12;
    	for(j=9;j>=1;j--)
    	{
    	 XPT2046_DCLK(1);
    	 XPT2046_Delay();
    	 XPT2046_DCLK(0);
    	 XPT2046_Delay();
    		if(XPT2046_DIO()) {data|=1<<(gbyt-1);}
    		gbyt--;
    	}
    	gbyt=5;
    	for(j=9;j>=1;j--)
    	{
    	 XPT2046_DCLK(1);
    	 XPT2046_Delay();
    	 XPT2046_DCLK(0);
    	 XPT2046_Delay();
    		if(XPT2046_DIO()&&gbyt!=0) {data|=1<<(gbyt-1);}
    		gbyt--;
    	}
    //************************** end connect
    	XPT2046_DCLK(0);
    	XPT2046_DIN(0);
    	XPT2046_CS(1);
    	return data;
     }
    //***************************************************************************************
    //******************      XPT2046 Library By:Alireza Hammamizadeh *****************
    //******************************** Alireza.hammamizadeh@yahoo.com *********************
    //***************************************************************************************
    //***************************************************************************************
    //***************************************************************************************
    //***************************************************************************************
    بازم اگه مشکلي يا سوالي بود در خدمتم... :rolleyes:
    جواب بعضي حرفا فقط يه نفس عميقه ، بذار تو دلت بمونه...
  2. #2
    2010/11/15
    94
    1

    پاسخ : هدر براي XPT2046 , ads7843

    آقا دم شما گرم.. سر بلند باشيد.
  3. #3
    2008/01/28
    6
    0

    پاسخ : هدر براي XPT2046 , ads7843

    سلام من هر کاری میکنم نه با این کد نه با کدای دیگه از این آی سی جواب درست نمی گیرم.
    مقادیری که بر میگردونه یک سری عدد تکراری نزدیک به هم بین 2900 تا 3200 هست ک با تاچ کردن هم تغییر نمی کنن و همون روند تصادفی تو اعداد تکرار می شه. من برد ال سی دی 3.5 اینچ جدید فروشگاه رو خریدم.ال سی دیش درست کار میکنه ولی تاچش نه. حتی یک ای سی تاچ دیکه هم جای قبلیش گذاشتم ولی بازم داستان تکرار شد.به نظر شما مشکل میتونه از خوده تا چش باشه؟در ضمن تمام اتصالات رو چک کردم مشکلی نبوده. : :angry: :angry: :angry:
  4. #4
    2013/04/25
    کرمان
    44
    1

    پاسخ : هدر براي XPT2046 , ads7843

    سلام اره ممکنه
    قبلا يکي تز دوستام همين مشکل رو داشت ، تاچ رو عوض کرد برطرف شد
    جواب بعضي حرفا فقط يه نفس عميقه ، بذار تو دلت بمونه...
  5. #5
    2013/01/18
    27
    6

    پاسخ : هدر براي XPT2046 , ads7843

    سلام
    من به این هدر نیاز دارم این فایل هدر بعضی کدها مشکل دارن لطفا اصلاح کنید بصورت فایل بفرستید متشکرم
    ویرایش توسط moha2015 : 2017/06/15 در ساعت 18:12
  6. #6
    2013/01/18
    27
    6

    پاسخ : هدر براي XPT2046 , ads7843

    سلام خسته نباشید
    کسی از دوستان اطلاعی در مورد xpt2046 تاچ درایور داره که با lpc1768 راه اندازیش کنیم فایل هدری برای این هست؟ این فایل هدر این پست خیلی روش کار کردم ولی نتونستم موقعیت رو از ای سی بگیرم کداش مشکل دارن
    ممنون اگر کمک کنید
نمایش نتایج: از 1 به 6 از 6

موضوعات مشابه

  1. راه اندازی درایور تاچ XPT2046
    توسط eca.samani در انجمن سایر مطالب مرتبط با ميکرو ها و پروسسورها
    پاسخ: 2
    آخرين نوشته: 2018/11/12, 19:26
  2. کتابخانه درايور تاچ مقاومتي XPT2046,AD7843
    توسط microware در انجمن ماژول های نمایشگر
    پاسخ: 1
    آخرين نوشته: 2017/10/23, 18:29
  3. مشل spi آی سی تاچ xpt2046 در winavr
    توسط یه بنده حقیر در انجمن میکروکنترلرهای AVR
    پاسخ: 3
    آخرين نوشته: 2017/08/04, 17:23
  4. مشکل با تاچ و xpt2046
    توسط alidehghan288 در انجمن NXP
    پاسخ: 4
    آخرين نوشته: 2017/08/04, 17:19
  5. کتابخانه ADS7843 براي stm
    توسط sepehr63 در انجمن STM
    پاسخ: 1
    آخرين نوشته: 2014/09/25, 15:52

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •