PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : کمک برای حل مشکل سریال ارم



hesam20
01-01-2014, 18:54
سلام ؛من یک سوال در مورد پورت سریال داشتم ممنون میشم اگه کسی راهنماییم کنه
سوالم اینه که من یک ارم lpc1768 دارم ولی وقتی برنامه ی پورت سریال رو پروگرم می کنم همه چی درسته ولی وقتی که به کامپیوتر وصل می کنم و با نرم افزارهایی مثل هایپر ترمینال داده های پورت سریال رو چک می کنم می بینم که به جای شکل درست کلمات حروف نامشخصی به نمایش در می اد
البته چون من شنیده بودم که هایپر ترمینال برای ویندوز 7 ناقص است از نرم افزار های دیگر استفاده کردم ولی باز همین مشکل بود
در ضمن من با برد gsm تونستم خوب کنترل کنم ولی ارم اذیت می کنه و حروف نامعلومی رو نمایش میده
خواهشا کمک کنید علت از چی میتونه باشه؟
البته می دونم که وقت امتحانات هست و وقتتون رو می گیرم ولی شرمنده لازم دارم

Doloop
01-01-2014, 22:35
سلام

کاراکتر های نا معلوم بخاطر باوودریت هست
باوودریت نرم افزار رو با میکرو یکی کنید درست میشه :wink:
دقیقا همین دیشب حواسم نبود همین مشکل برام پیش اومد که با همین کار درست شد ...

hesam20
02-01-2014, 00:19
اقا دست شما درد نکنه که پاسخ دادین
اتفاقا من هم به این موضوع شک داشتم چون باودریت میکرو دقیقا 115200 نمیشد و کمی تفاوت داشت
اگه مشکل از باودریت باشه چه طوری میتونم به طور دقیق باودریت میکرو رو روی 115200 دقیقا تنظیم کنم؟

Doloop
02-01-2014, 01:10
سلام

فکر کنم این باوودریت یکم خطا داره
شما اگه از باوودریت های زیر استفاده کنی خطاشون صفره :wink:
2400
9600
19200
فکر کنم 57200 هم هست ولی از این بالاتر دیگه خطا داره :0013:

hesam20
02-01-2014, 03:26
سلام

فکر کنم این باوودریت یکم خطا داره
شما اگه از باوودریت های زیر استفاده کنی خطاشون صفره :wink:
2400
9600
19200
فکر کنم 57200 هم هست ولی از این بالاتر دیگه خطا داره :0013:
اقا واقعا دمتون گرم دستتون درد نکنه ،بالاخره تونستم راه اندازی کنمش البته با کمک شما
ولی فقط یک مشکلی که هست اینه که با باود ریت 115200 کار نمی کنه و شکلک های نامفهوم میاره ،من خودم درصد خطا رو حساب کردم برای 115200 خیلی خطا زیاد هست حتی از حد مجازی که دیتاشیت گفته (1.1 درصد) هم خیلی بالاتر رفته ولی با 9600 درصد خطا خیلی کمتر از 1 دهم درصد است ،ایا علت درصد خطای بالای اونه که با 115200 کار نمی کنه؟
و این که چرا هنگامی که می خوام متنی رو به سریال بفرستم و دریافت کنم گاهی موقع یه مقدار مثلا خودش یک خط میاره پایین تر و یا مثلا وقتی از یه مقدار بیشتر عدد یا رشته وارد می کنم تا یه حدی میاره و بقیش رو نمیاره و این مقدار هم هر دفعه چند تا کم و زیاد میشه، این علتش از چی می تونه باشه؟

Aghaeifar
02-01-2014, 09:23
من فکر می کنم شما در محاسبه کردن عدد باودریت یه جایی اشتباه می کنید (حتی شاید در مواردی که جواب گرفته اید). اگر کل پروژتان را اینجا قرار دهید بهتر است تا بقیه هم ببینند.
من بارها و بدون مشکل با باودریت 115200 کار کردم و این خطاهای 1 درصدی مشکل جدی من ندیدم که بوجود بیاورند.

hesam20
02-01-2014, 12:23
من فکر می کنم شما در محاسبه کردن عدد باودریت یه جایی اشتباه می کنید (حتی شاید در مواردی که جواب گرفته اید). اگر کل پروژتان را اینجا قرار دهید بهتر است تا بقیه هم ببینند.
من بارها و بدون مشکل با باودریت 115200 کار کردم و این خطاهای 1 درصدی مشکل جدی من ندیدم که بوجود بیاورند.


#define FOSC 12000000
#define FCCLK (FOSC * 8.33)
#define FCCO (FCCLK * 3)
#define FPCLK (FCCLK / 4)
#define UART0_BPS 9600 // baud rate
#define UART2_BPS 9600 // baud rate


LPC_UART0->LCR = 0x83; //set frmae=8n1 and DLAB=1
usFdiv = (FPCLK / 16) / UART0_BPS; /* */
LPC_UART0->DLM = usFdiv / 256; // 265 d= 0x100 H --> D / 100 = 0
LPC_UART0->DLL = usFdiv % 256;
//LPC_UART0->DLL = 0x0D; //baud rate=115200 bps @12MHz crystal, 100MHz cclk,25MHz Pclk
LPC_UART0->LCR = 0x03; /* */
LPC_UART0->FCR = 0x07;
//LPC_UART0->FCR = 0x07; // enable RX fifo and TX fifo

این هم کدی که من ازش استفاده می کنم وقتی به جای uart0_bps عدد 115200 بزاریم می ره رو باود انتخاب شده ولی در 9600 برای من درست کار می کنه ولی در 115200 شکلک های نامفهوم نمایش می ده
دوستان اگه این کد رو بررسی کنن ببینن درسته یا نه ممنون میشم

soodi
03-01-2014, 02:06
سلام

دوستان
من هم دقیقا با میکرو lpc1768 همین مشکل رو دارم و خودم به صورت سعی و خطا اینقدر مقدار f0cs رو تغییر دادم تا به باودریت تقریبا نزدیک همون که میخاستم رسیدم
یعنی فرکانس کلاک خارجی میکرو که الان 12 مگ وارد شده رو خودم آوردم روی 13 مگ تا جواب گرفتم
کریستال خارجی رو هم تعویض کردم گفتم شاید جنس نامرغوب باشه ولی باز هم همون مشکل

Doloop
03-01-2014, 03:12
سلام


حتی از حد مجازی که دیتاشیت گفته (1.1 درصد) هم خیلی بالاتر رفته ولی با 9600 درصد خطا خیلی کمتر از 1 دهم درصد است

این چیزی که من تو دیتا شیت STM دیدم نسبت به این درصد خطاهایی که برای 1768 میگید خیلی پائینتره

روش محاسبه خاصی داره یا ملاکتون دیتاشیت هست ؟؟؟

You can see links before reply

hesam20
03-01-2014, 12:41
سلام


این چیزی که من تو دیتا شیت STM دیدم نسبت به این درصد خطاهایی که برای 1768 میگید خیلی پائینتره

روش محاسبه خاصی داره یا ملاکتون دیتاشیت هست ؟؟؟


سلام
اقا من بالاخره تونستم با کمک شما دوستان(از جمله کاربر عزیز doloop) و کاربر دیگر به نام کاربری fedora این مشکل رو حل کنم , علت این که با باود 115200 نمی تونستم کار کنم و شکلک های عجیبی نشون میداد این بود که همون طور که جناب doloop فرمودن این باود خطاش یه مقدار زیاد میومد و با باود 9600 خطای کمتری داشت, ولی بعدا متوجه شدم که علاوه بر رجیستر های dll , dlm یک رجیستر دیگری به نام FDR هم هست که خیلی در کمتر شدن خطای باود تاثیر داره بر این اساس باودش رو با اون رجیستر حساب کردم و خطا خیلی خیلی کاهش یافت و هم چنین مشکل این شکلک ها هم برطرف شد, به نظرم علت ایجاد شدن خطاهای زیاد به دلیل استفاده نکردن از این رجیستر است(منظورم FDR هست)
باتشکر از همه دوستان
موفق باشید