NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 3852 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید
نمایش نتایج: از 1 به 13 از 13

موضوع: ارسال رشته اعداد با lpc1768

  1. #1
    عضو جدید
    تاریخ عضویت
    May 2013
    نوشته ها
    12
    تشکر
    0
    تشکر شده 0 بار در 0 پست

    پیش فرض ارسال رشته اعداد با lpc1768

    سلام.
    کسی هست بدونه چطور میشه یک سری عددو چطور میشه بصورت یک رشته از lpc1768 ارسال کرد؟
    من می خوام اعداد هگز 680400a00000f8516 رو بصورت رشته در یک لحظه بدون حلقه for ارسال کنم.
    کسی هست کمکم کنه؟

  2. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    نوشته ها
    Many
     

  3. #2
    مدیرکل انجمنها agape آواتار ها
    تاریخ عضویت
    Feb 2009
    نام
    Zeus
    نوشته ها
    1,235
    تشکر
    139
    تشکر شده 2,209 بار در 846 پست

    پیش فرض

    سوالتون خیلی گنگنه
    یعنی به چه درگاهی ارسال کنید ، منظورتون از بودن حلقه For چی هست
    مثلا اگر فرض کنیم میخواید به واحد سریال ارسال کنید در صورتی که فرمان Printf رو فعال کرده باشید میتونید ازش استفاده کنید ، اگر منظورتون این نیست میتونید از DMA نیز استفاده کنید.

  4. #3
    عضو جدید
    تاریخ عضویت
    May 2013
    نوشته ها
    12
    تشکر
    0
    تشکر شده 0 بار در 0 پست

    پیش فرض

    با ارتباط سریال میخوام یک سری اعداد هگز رو به هم متصل کنم و بعد بفرستم.نه اینکه از یک حلقه for استفاده کنم و دونه دونه این اعدادو بفرستم.
    تابع printf رو با تابع هدر stdio.h تعریف می کنم ولی اصلا نمیتونه عددو ارسال کنه.
    منظورتون از DMA چی بود؟

  5. #4
    مدیرکل انجمنها agape آواتار ها
    تاریخ عضویت
    Feb 2009
    نام
    Zeus
    نوشته ها
    1,235
    تشکر
    139
    تشکر شده 2,209 بار در 846 پست

    پیش فرض

    سلام شما برای استفاده از Printf توی کیل باید کتابخونه ریتارگت رو هم اضافه کنید که مسیر داده رو مشخص میکنید.
    حالا اگر بخواید از حلقه استفاده کنید چه مشکلی پیش میآد.

  6. تشکرها از این نوشته :


  7. #5
    عضو جدید
    تاریخ عضویت
    May 2013
    نوشته ها
    12
    تشکر
    0
    تشکر شده 0 بار در 0 پست

    پیش فرض

    میشه در مورد معرفی ریتارگت بیشتر توضیح بدید؟
    نمیشه، باید یکدفعه بفرستم.چون تعداد دفعات فرستادنم از 8 شروع میشه تا بعضی مواقع ممکنه به 21 بار هم طول بکشه . باید کاری کنم که همه رو یکدفعه بفرسته؟
    شما راهی به ذهنتون نمیرسه؟؟

  8. #6
    مدیرکل انجمنها agape آواتار ها
    تاریخ عضویت
    Feb 2009
    نام
    Zeus
    نوشته ها
    1,235
    تشکر
    139
    تشکر شده 2,209 بار در 846 پست

    پیش فرض

    سلام یک دفعه فرستادن که معنی نمیده - چرا که خود پورت سریال داره کارکتر به کارکتر میفرسته - فکر میکنم که منظور شما اینه که تاخیر بین کارکتر های ارسالی وجود نداشته باشه - خوب حالا شما به من بگید که این اعدادی رو که میخواید ارسال کنید کجا و به چه صورت نگه داری میکنید تا من بتونم به سمپل کد براتون بذارم

  9. #7
    عضو جدید
    تاریخ عضویت
    May 2013
    نوشته ها
    12
    تشکر
    0
    تشکر شده 0 بار در 0 پست

    پیش فرض

    سلام.

    void putchr0(char ch){//write character to serial port
    ;(while(!LPC_UART0->LSR & 0x20
    { LPC_UART0->THR = ch;//out ch
    char getchr1(void){//read character from serial port
    while(!LPC_UART1->LSR & 0x01 );
    { ;(return(LPC_UART1->RBR
    LPC_SC->SCS = 0x30;
    main (void)
    unsigned char i;
    unsigned char r[8]={0x68,0x04,0x00,0x0a,0x00,0x0f,0x85,0x16};
    LPC_SC->SCS = 0x30;
    LPC_SC->PCLKSEL0 |= 0x0;
    LPC_PINCON->PINSEL0 |= 0x40000050;
    LPC_PINCON->PINSEL1 |= 0x01;
    LPC_UART1->FCR = 7;
    LPC_UART1->LCR = 0x83;
    LPC_UART1->DLL = 0x78;
    LPC_UART1->DLM = 0;
    LPC_UART1->LCR = 3;
    LPC_UART0->FCR = 7;
    LPC_UART0->LCR = 0x83;
    LPC_UART0->DLL = 0x78;
    LPC_UART0->DLM = 0;
    LPC_UART0->LCR = 3;

    for(i=0;i<8;i++){
    putchr0(r[i ]);
    getchr1();
    }
    این خطوط برناممه.
    اگر اینو با پورت سریال rs232 ببینم درسته که داره یکدفعه میفرسته اما داره 8 بار میفرسته. من از اون طرف نمی خوام 8 بار stop bit داشته باشم یعنی از اون طرف باید یک رشته اعداد داشته باشم که استاپ بیت اون در آخر همه اعداد ارسالی باشه نه آخر هر بیتی که ارسال می کنم .
    متوجه منظورم شدید؟
    میتونید کمکم کنید؟
    متشکرم.

  10. #8
    کاربر فعال titery آواتار ها
    تاریخ عضویت
    Dec 2011
    نام
    وثوق
    نوشته ها
    166
    تشکر
    363
    تشکر شده 218 بار در 89 پست

    پیش فرض

    سریال rs232 فقط میتونه تک بایت بفرسته و اینطور که شما میخواهید نمیشه اگه چنین چیزی مد نظرتون هست باید سراغ یک پرتکل ارتباطی دیگه برید

  11. #9
    عضو جدید
    تاریخ عضویت
    May 2013
    نوشته ها
    12
    تشکر
    0
    تشکر شده 0 بار در 0 پست

    پیش فرض

    مثلا چه پروتکل ارتباطی ای؟ میشه بیشتر توضیح بدید؟
    حالا هر پروتکل ارتباطی دیگه ای استفاده کنم مگه نحوه ارسالم تغییر کرده؟
    در هر صورت من 8 بار دارم ارسال میکنم.

  12. #10
    کاربر فعال titery آواتار ها
    تاریخ عضویت
    Dec 2011
    نام
    وثوق
    نوشته ها
    166
    تشکر
    363
    تشکر شده 218 بار در 89 پست

    پیش فرض

    نقل قول نوشته اصلی توسط 872622101 نمایش پست ها
    مثلا چه پروتکل ارتباطی ای؟ میشه بیشتر توضیح بدید؟
    حالا هر پروتکل ارتباطی دیگه ای استفاده کنم مگه نحوه ارسالم تغییر کرده؟
    در هر صورت من 8 بار دارم ارسال میکنم.
    میشه بپرسم که هدف از اینکه میخواهید دیتا ها پشت سرم بدون بیت واسطی به مقصد برسه چیه اینطور شاید بشه مسئله رو طور دیگری حل کرد

  13. #11
    عضو جدید
    تاریخ عضویت
    May 2013
    نوشته ها
    12
    تشکر
    0
    تشکر شده 0 بار در 0 پست

    پیش فرض

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

  14. #12
    عضو جدید
    تاریخ عضویت
    May 2013
    نوشته ها
    12
    تشکر
    0
    تشکر شده 0 بار در 0 پست

    پیش فرض

    سلام
    به نظرتون میشه با printf اینارو ارسال کرد ؟اونوقت فقط یک استاپ بیت داریم یا بازم دونه دونه میفرسته و به ازای هر ارسال یک استاپ بیت داریم؟

  15. #13
    کاربر فعال titery آواتار ها
    تاریخ عضویت
    Dec 2011
    نام
    وثوق
    نوشته ها
    166
    تشکر
    363
    تشکر شده 218 بار در 89 پست

    پیش فرض

    حالا که توضیح دادید بهتر شد شما رشته اعداد رو به صورت اسکی بفرست و در پایان هم یک عدد(غیر اسکی) مثلا 0x0d رو در انتهای رشته بفرست حالا اونطرف وقتی سریال آمد اینقدر بافر رو بخون و بریز تو یک آرایه تا به 0x0d برسی و بعد روی رشته ورودیت پردازش کن

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

  1. کار با شبکه در میکرو lpc1768
    توسط Navid_C در انجمن LPC series (NXP)
    پاسخ: 4
    آخرين نوشته: 15-03-2014, 00:25
  2. مشکل با پروگرم هدربورد lpc1768
    توسط ifireir در انجمن LPC series (NXP)
    پاسخ: 2
    آخرين نوشته: 14-10-2013, 13:54
  3. مشکل پروگرام کردن lpc1768
    توسط youzarsif در انجمن LPC series (NXP)
    پاسخ: 7
    آخرين نوشته: 23-09-2013, 10:51
  4. منابع یادگیری lpc1768
    توسط mj3747 در انجمن Cortex-a8-a9 arm9-11
    پاسخ: 4
    آخرين نوشته: 31-07-2012, 01:23
  5. مشکل چیه ؟ ( مرتبط یا lpc1768)
    توسط ma-bah در انجمن LPC series (NXP)
    پاسخ: 1
    آخرين نوشته: 21-09-2011, 12:47

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

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