اطلاعیه

Collapse
No announcement yet.

تغییر در سورس ADC

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    تغییر در سورس ADC

    سلام دوستان این سورس رو من از مثال های نمونه سایت دانلود کردم میخوام بجای ADC0.5 از ADC0.0 استفاده کنم
    کد:
    #include <lpc17xx.h>
    
    #define family_lpc17xx
    #define TFTLCD_DATAPORT_1
    #define TFTLCD_DATAPORT_OFFSET 15
    #define TFTLCD_CONTROLPORT_1
    
    #define TFTLCD_RST	0
    #define TFTLCD_RS  8
    #define TFTLCD_CS	9		
    #define TFTLCD_RD 	1
    #define TFTLCD_WR	4
    #define PORTRAIT
    #include "tftlcd_functions.h"
    #include	<stdio.h>
     void delay (unsigned long tick) {    /* Delay Function           */
    unsigned long dly = tick*300;
      while(dly--);
    }
    char s[20];
    int i;
    int main(){
    
    SystemInit();
    tftlcd_init();
    tftlcd_clear();
    
    LPC_GPIO2->FIODIR = 0xfff;
    LPC_PINCON->PINSEL3 |= (3UL<<30);       /* P1.31 is AD0.5 */
    LPC_SC->PCONP    |= (1<<12);        /* Enable power to ADC block */
    LPC_ADC->ADCR    = (1<< 5) |       /* select AD0.5 pin */
                (4<< 8) |       /* ADC clock is 25MHz/5 */
                (1<<21);        /* enable ADC */
    
    
    while(1){
    
    LPC_ADC->ADCR &= ~(7<<24);           /* stop conversion */
    LPC_ADC->ADCR |= (1<<24);           /* start conversion */
    while (!(LPC_ADC->ADGDR & (1UL<<31)));     /* Wait for Conversion end */
    i = (LPC_ADC->ADGDR>>4 & 0xfff);
    sprintf(s,"ADC:%d",i);
    tftlcd_gotoxy(7,10);
    tftlcd_puts(s,RED,GREEN,0);
    } 
    }
    این خط رو به این شکل تغییر میدم
    کد:
    LPC_PINCON->PINSEL1 |= (3UL<<14);
    LPC_SC->PCONP    |= (1<<12);
    LPC_ADC->ADCR    = (1<< 0) |
    اما همش 0 دریافت میکنم در عمل
    لطفا راهنماییم کنید

    #2
    پاسخ : تغییر در سورس ADC

    سلام مهندس
    قبلا صفر دریافت میکردید؟
    هدربرد دارید؟ دیپ سویچ vref رو on کنید!
    ممنون
    [glow=red,2,300]برنامه هاي آموزشي تست شده براي NXP LPC1768 با توابع CMSIS[/glow]
    http://www.eca.ir/forum2/index.php?topic=76623.0

    دیدگاه


      #3
      پاسخ : تغییر در سورس ADC

      نوشته اصلی توسط Reza Sede
      سلام مهندس
      قبلا صفر دریافت میکردید؟
      هدربرد دارید؟ دیپ سویچ vref رو on کنید!
      ممنون
      سلام قبلا از 0 تا 4096 دریافت میکردم عین هلو اما میخوام بیارم رو پایه های غیر از 5 با اون تغییرات اصلا جواب نمیده همش 0 میده
      اون دیپ سوئیچ هم فعاله

      دیدگاه


        #4
        پاسخ : تغییر در سورس ADC

        ایول فهمیدم
        کد:
        LPC_PINCON->PINSEL1 &= ~(3UL << 14);      /* P0.23, Mbed p15 AD0.0 */
        LPC_PINCON->PINSEL1 |= (1UL << 14);
        LPC_SC->PCONP    |= (1<<12);        /* Enable power to ADC block */
        LPC_ADC->ADCR = (1UL << 21) | (1UL << 8) | (7UL << 0);

        دیدگاه


          #5
          پاسخ : تغییر در سورس ADC

          سلام.
          قبل از اینکه شما بفهمید یه عکس آماده کردم دیگه میزارم دیگه.
          همون طور که متوجه شدید رجیستر pinsel رو برای حالت adc انتخاب نکرده بودید.
          http://dc647.4shared.com/img/vQce43j.../ADC.jpg?async
          تولید کننده انواع تابلو فرمان آسانسور با تکنولوژی روز دنیا

          دیدگاه


            #6
            پاسخ : تغییر در سورس ADC

            خیلی ممنون :applause:

            دیدگاه


              #7
              پاسخ : تغییر در سورس ADC

              با سلام

              ببخشید دوستان معنی UL مثلا در
              LPC_PINCON->PINSEL1 &= ~(3UL << 14);
              LPC_PINCON->PINSEL1 |= (1UL << 14);
              چیه با اینکه خودم هم بعضی وقت ها استفاده میکنم وفرقش با نوشتن تنها عدد در چیست ؟؟؟؟؟؟؟؟؟؟؟؟؟

              دیدگاه


                #8
                پاسخ : تغییر در سورس ADC

                نوشته اصلی توسط Shapour-Ardebil
                با سلام

                ببخشید دوستان معنی UL مثلا در
                LPC_PINCON->PINSEL1 &= ~(3UL << 14);
                LPC_PINCON->PINSEL1 |= (1UL << 14);
                چیه با اینکه خودم هم بعضی وقت ها استفاده میکنم وفرقش با نوشتن تنها عدد در چیست ؟؟؟؟؟؟؟؟؟؟؟؟؟
                وقتی بجای 14>>1 می نویسن 1UL << 14 در واقع انگار که long int تعریف کردن 3UL << 14 هم همونه با ظرفیت بیشتر

                دیدگاه


                  #9
                  پاسخ : تغییر در سورس ADC

                  نوشته اصلی توسط Shapour-Ardebil
                  با سلام

                  ببخشید دوستان معنی UL مثلا در
                  LPC_PINCON->PINSEL1 &= ~(3UL << 14);
                  LPC_PINCON->PINSEL1 |= (1UL << 14);
                  چیه با اینکه خودم هم بعضی وقت ها استفاده میکنم وفرقش با نوشتن تنها عدد در چیست ؟؟؟؟؟؟؟؟؟؟؟؟؟
                  مخفف unsigned long هست و دلیل هم این هست که متغیر 31>>1Ul میشه 32 بیت بدون علامت و توی 32 بیت با علامت جا نمیشه!!

                  و اینجا هم احتمالا طبق عادت برنامه نویس از UL استفاده کرده ولی نیاز نیست چون به صورت عادی جاش میشد!!
                  انجام پروژه هاي برنامه نويسي اندرويد
                  [glow=red,2,300]نرم افزار نقشه هاي پاور کامپيوتر اندوريد[/glow]
                  http://cafebazaar.ir/app/?id=com.atxdroid

                  دیدگاه

                  لطفا صبر کنید...
                  X