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





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









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





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

نمایش نتایج: از 1 به 6 از 6
  1. #1
    2014/10/30
    isf
    282
    56

    مشکل در ارتباط سریال با lpc1768

    سلام خدمت همه ی دوستان.
    یه مشکل عجیب واسم پیش اومده.
    من با lcp1768 یه سیگنال pwm درست کردم. و به صورت استاتیک (به طور مستقیم) دیوتی سایکل را مشخص کردم و برنامه رو اجراکردم. هیچ مشکلی هم نداشتم.
    بعد خواستم که دیوتی سایکل را از طریق* usart تغییرش بدم ولی توی بعضی از بازه ها سیگنالم قطع میشه.
    مثلا برای دیوتی سایکل مقادیر بالای 50% را به خوبی میشه تغییر داد ولی زیر 50%* را وقتی وارد میکنم سیگنال قطع میشه.
    یا مثلا گاهی اوقات من عدد 100 را توی ترمینال وارد میکنم و اینتر را میزنم ولی میکرو عدد 10 رو به جای 100 میخونه.

    در مورد تایمر ها و چند بخش دگ مثل ال سی دی هم این مشکلات را داشتم.
    مثلا یه برنامه نوشتم که هرچی از سریال اومد رو روی ال سی دی نشون بده. ولی یبار نشون میده یبار نمیده یا یه سری کاراکترها رو کلا نشون نمیده.
    الان به کد برنامم دسترسی ندارم ولی سریع تر قرارش میدم.

    یه سوال دگ هم داشتم.
    من اگه بخوام با توابع کتاب خانه stdio مثل scanf یک متن را از پورت سریال بخونم چطوری باید تعیین کنم که این تابع متن کدوم پورت را بره بخونه؟ یا روی کدوم پورت اطلاعات بریزه؟

    ممنون میشم راهنمایی کنید.
  2. #2
    2005/12/08
    تهران
    618
    20

    پاسخ : مشکل در ارتباط سریال با lpc1768

    بهترین راه برای حل اینجور مشکلات اینه که شما برنامه ت رو خودت بشینی دیباگ کنی
    ببین عددی که از طریق uart میفرستی به میکرو دقیقا چه اتفاقی میفته براش که سیگنال قطع میشه. همه مراحل رو دنبال کن. مشکل عجیب و غریبی نباید باشه.
    و نکته دیگه این که تجربه نشون داده بهترین توابع توابعی هستن که خودت مینویسیشون. هم مکانیسم عملکرد رو خودت بهتر درک میکنی و هم اینکه بعدا بهتر ایرادات کار رو میفهمی. خیلی دنبال توابع استاندارد c نباش
  3. #3
    2014/10/30
    isf
    282
    56

    پاسخ : مشکل در ارتباط سریال با lpc1768

    نقل قول نوشته اصلی توسط magician

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    بهترین راه برای حل اینجور مشکلات اینه که شما برنامه ت رو خودت بشینی دیباگ کنی
    ببین عددی که از طریق uart میفرستی به میکرو دقیقا چه اتفاقی میفته براش که سیگنال قطع میشه. همه مراحل رو دنبال کن. مشکل عجیب و غریبی نباید باشه.
    و نکته دیگه این که تجربه نشون داده بهترین توابع توابعی هستن که خودت مینویسیشون. هم مکانیسم عملکرد رو خودت بهتر درک میکنی و هم اینکه بعدا بهتر ایرادات کار رو میفهمی. خیلی دنبال توابع استاندارد c نباش
    ممنون از راهنمایی تون

    دلیل: ادغام دو پست برای جلوگیری از اسپم

    اینم کد:
    کد:
      void uart0_init( void )
       {
        uint16_t usFdiv; 
        LPC_GPIO0->FIODIR|=(1<<2); //P0.2 Config As Output 
        LPC_PINCON->PINSEL0|=1<<4;//TXD0 
        LPC_GPIO0->FIOSET|=1<<2;//SET HIGH LEVEL FOR IDEL 
        LPC_GPIO0->FIODIR&=~(1<<3); //P0.3 Config As Input 
        LPC_PINCON->PINSEL0|=1<<6;//RXD0 
        LPC_PINCON->PINMODE0|=0<<6;//pull-up
        LPC_SC->PCONP |=(1<<3);/*Open UART0 power control bit*/
        //DATABIT=8-bit--STOPBIT=1 stop bit--PARITY=NONE
        LPC_UART0->LCR=3<<0|0<<2|0<<3|1<<7;
         usFdiv = (24000000/ 16) / 9600;/* Set baud rate*/
        LPC_UART0->DLM  = usFdiv / 256;
        LPC_UART0->DLL  = usFdiv % 256; 
        LPC_UART0->LCR=3<<0|0<<2|0<<3;
        LPC_UART0->FCR  = 0x06;
        return;
       }
    int putchar( unsigned char data ){while (!(LPC_UART0->LSR & 0x20));return (LPC_UART0->THR = data);}
    void puts(unsigned char data[]){unsigned int j=0;for(j=0;;j++){if(data[j]==0){return;}else putchar(data[j]);}}
    unsigned char getchar(void){while (!(LPC_UART0->LSR & 0x01));return (LPC_UART0->RBR);}
    و اینم قسمت تنظیم فرکانس یا دیوتی سایکل pwm
    کد:
    set=getchar();
            putchar(set);
    
            if(set!=13){buff[c]=set;c++;}
            if(set==13)
            {
                buff[c+1]='\0';c=0;
               ;
                pwm1_init(atoi(buff),50);
                buff[0]='\0';
            }
  4. #4
    2008/04/02
    43
    11

    پاسخ : مشکل در ارتباط سریال با lpc1768

    دوست من سلام
    ولی من میگم همیشه دنبال استاندارد باش
    برای ارسال دیتا به سمت میکرو و دریافت اون استاندارد نداری - واسه همین مشکل حل نمییشه
    همینطوری شانسی میری و از بافر ورودی سریال اطلاعات رو میخونی
  5. #5
    2016/06/21
    298
    85

    پاسخ : مشکل در ارتباط سریال با lpc1768

    سلام.
    چیزی که برنامه شما فهمیدم اینکه حداکثر مقدار pwm برابر 50 هستش پس برای اینکه دیتوی سایکل 100 در صد داشته باشیم باید مقدار وارد شده برابر 50 باشد باشد ولی شما مقدار بیشتر 50 وارد می کنید البته ای کاش کل برنامه اینجا می گذاشتید تا بهتر بتونیم کمک کنیم.
  6. #6
    2014/10/30
    isf
    282
    56

    پاسخ : مشکل در ارتباط سریال با lpc1768

    نقل قول نوشته اصلی توسط MM320

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    سلام.
    چیزی که برنامه شما فهمیدم اینکه حداکثر مقدار pwm برابر 50 هستش پس برای اینکه دیتوی سایکل 100 در صد داشته باشیم باید مقدار وارد شده برابر 50 باشد باشد ولی شما مقدار بیشتر 50 وارد می کنید البته ای کاش کل برنامه اینجا می گذاشتید تا بهتر بتونیم کمک کنیم.
    این پروژه ماله خیلی وقت پیش واسه همین دقیقا یادم نیست پروژه را کجا سیو کردم.
    ولی تابع pwm1_init دو پارامتر در ورودیش دریافت میکنه که اولیش فرکانس هست و دومیش دیوتی سایکل.
    کلا من توی دریافت عدد از سریال مشکل دارم.
    مثلا اگه عدد 100 را به عنوان فرکانس pwm روی سریال به میکرو بفرستم فرکانس pwm برابر با 100 هرتز میشه حالا اگه عدد 10 رو بفرستم دگ تغییری توی سیگنال اعمال نمیشه. مثله این میمونه که بافر rx تخلیه نمیشه.
    واگه به ارسال عدد 10 ادامه بدم میکرو هنگ میکنه
نمایش نتایج: از 1 به 6 از 6

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

  1. پاسخ: 4
    آخرين نوشته: 2016/09/07, 08:43
  2. پاسخ: 1
    آخرين نوشته: 2016/09/05, 12:05
  3. پاسخ: 0
    آخرين نوشته: 2016/09/04, 21:17
  4. مشکل با بافر سریال در lpc1768
    توسط infernal1990 در انجمن NXP
    پاسخ: 3
    آخرين نوشته: 2015/08/26, 12:03
  5. مشکل در ارتباط MMC با LPC1768
    توسط sarm در انجمن NXP
    پاسخ: 1
    آخرين نوشته: 2014/05/04, 08:47

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

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

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

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

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