اطلاعیه

Collapse
No announcement yet.

تنظیمات pll برای lpc2378

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

    تنظیمات pll برای lpc2378

    سلام
    این تنظیمات و انجام دادن
    nsel = 1
    msel = 12
    cclksel = 6
    pclk=cclk/4
    کریستال هم 14.7456 mhz
    کد هم اینه:
    کد:
    #include "LPC23xx.h" 
    
    unsigned int putchar (unsigned int data);
    void delay(long i){
    while(i--);
    }
    int main (){
    	
    PINSEL4=0xa; 
    U1LCR=0x83;			//set frmae=8n1 and DLAB=1
    U1DLL=0x96;			//baud rate=9600bps @14.7456MHz crystal
    U1DLM=0x0;			
    U1LCR=0x03;			//DLAB=0
    U1FCR=0x07;			// enable RX fifo and TX fifo
    
    
    	while(1){
    	
    	putchar(0xaa);
     delay(2000000);
    	putchar(0x55);
    	delay(2000000);
    }
    
    
    }
    
    unsigned int putchar (unsigned int data){
    while(!(U1LSR & (1<<5)));
    return (U1THR=data);
    	
    }
    بعد وقتی به comwizard وصل میکنم عدد بی ربط نشون(fe و 6c ) میده فکر کنم بایت ریتش دورست نیست.
    u1dll رو باید چند بزارم ؟
    یا با توجه به کریستال و بایت ریت 9600 یه سری اعداد و تنظیمات جدید بدید.
    من با دیتا شیت چک کردم دقیقا یه مثال با همین اعداد تو یوزر منوال 2378 هست که همین اعداد هست صفحه 431
    ممنون میشم پاسخ بدید :rolleyes:
    تعریف مختصر زندگی انسان:
    سختی + مبارزه
    قدم ها این است که:
    1.بپذیریم دنیا تلخ است
    2.تلخی مبارزه با نفس را به آن اضافه کنی

    #2
    پاسخ : تنظیمات pll برای ارتباط سریال lpc2378

    سلام.
    یعنی هیچکس بایت ریت سریال برای lpc2378 رو انجام نداه :question:
    حداقل یه مثال که خودتون تست کردین و بزارید. :agree:
    واقعا گیر کردم همه چی با user manual میخونه اما جواب نمیده :angry:
    تعریف مختصر زندگی انسان:
    سختی + مبارزه
    قدم ها این است که:
    1.بپذیریم دنیا تلخ است
    2.تلخی مبارزه با نفس را به آن اضافه کنی

    دیدگاه


      #3
      پاسخ : تنظیمات pll برای lpc2378

      تنظیمات کلاک و باودریتت به نظرم درسته فقط تابع putchar رو بفکر کنم اتباه نوشتی. من اینطوری استفاده می کنم
      کد:
      unsigned int putchar (unsigned int data){
      while(!(U1LSR & (1<<0x20)));
      return (U1THR=data);
      	
      }
      اگر درست نشد اعداد 1 و 2 رو ارسال کن و با اسکوپ چکش کن
      PINSEL رو هم مطمئن شو

      دیدگاه


        #4
        پاسخ : تنظیمات pll برای lpc2378

        سلام
        به کد شما یه warning میده shift count is too large بعدم اصلا چیزی تو comwizard نشون نمیده
        pinsel درسته من وقتی aa یا 55 و مفرستم با اسکوب روی پایه tx دارم ولی تو comwizard عدد اشتباه نشون میده
        واقعا گیج شدم oo:
        nsel= 1
        msel=12
        cclksel=6
        u1dll=0x96
        u1dlm=0x0
        fin=14.7456
        baud=9600
        ممکن نرم افزار keil درست رجیستر نشده باشه؟
        تعریف مختصر زندگی انسان:
        سختی + مبارزه
        قدم ها این است که:
        1.بپذیریم دنیا تلخ است
        2.تلخی مبارزه با نفس را به آن اضافه کنی

        دیدگاه


          #5
          پاسخ : تنظیمات pll برای lpc2378

          درست شد.
          کد:
          #include "LPC23xx.h"
          
          void sendChar(unsigned char data)
          {
           while((U1LSR & 0x20)==0);
           U1THR=data;
           U1TER=0x80; 
          }
          int main(){
          	PINSEL4|=0xA;
           U1LCR=0x83;//no parity / 1 stop / 8 bit data / DLBA=1
           U1DLL=0x72; //70mhz clk / 17.5Mhz clk usart1 / 9600 bps
           U1DLM=0;
           U1FCR=0x7;//enable and clear fifo
           U1LCR=0x3;
          	 SCS|=0x01;
          	while(1);
          }
          ممنون کسی جواب نداد :cry:
          اشکال این بود که من عدد آخر برای رجیستر رو به هگز تبدیل نمیکردم همون دسیمال و قرار میدادم. :icon_razz:
          دیگه eca مثل قبل نیست الان فقط شلوغتر شده :agree:
          تعریف مختصر زندگی انسان:
          سختی + مبارزه
          قدم ها این است که:
          1.بپذیریم دنیا تلخ است
          2.تلخی مبارزه با نفس را به آن اضافه کنی

          دیدگاه


            #6
            پاسخ : تنظیمات pll برای lpc2378

            بالاخره ما نفهمیدیم کریستالت 14.7 بود یا 17.5؟
            لازم نیست چیزی رو به هگز تبدیل کنی
            مثلا به جای
            کد:
            U1DLL=0x72;
            می تونی بنویسی
            کد:
            U1DLL=114;

            دیدگاه


              #7
              پاسخ : تنظیمات pll برای lpc2378

              کریستال 14.7456 هست.
              من اون کدی که کپی میکردم به هگذ بود u1dll=0x بعدم تغیر نمیدادم.
              البته من از شما تشکر کردم. :applause:
              تعریف مختصر زندگی انسان:
              سختی + مبارزه
              قدم ها این است که:
              1.بپذیریم دنیا تلخ است
              2.تلخی مبارزه با نفس را به آن اضافه کنی

              دیدگاه

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