ايران ويج

نسخه‌ی کامل: اشکال ارتباط سریال بین میکرو و کامپیوتر
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2 3 4 5 6
من که هنوز یه سال کار داره تا مهندس شم! مهندس تریپ 3000!

من با bascom برنامه رو نوشتم.با دستور crystal=8000000 $ هم فرکانس کریستال رو روی داخلی 8 مگ گذاشتم
الان حتی پایین تر هم آوردم روی 300! خطا هم شد 0.02 درصد!! ولی بازهم همچنان کاراکتر های فضایی دریافت میکنم!
فیوز بیت رو هم نمیتونم تغییر بدم!پیش فرض روی یک مگه.
یکی به داد من برسه!
وقتی فیوزبیت رو نمی تونی تغییر بدی پس تو برنامه هر کریستالی تعیین کنی بی معنی خواهد بود !
چون تا وقتی تو فیوزبیت ها عوض کنی , فرکانس میکرو رو یه مگ داخلی خواهد بود !
پس تو برنامه هم رو یه مگ بذار !

الان با برنامه ای که نوشتی بنویسی WAIT 8
می بینی که به جای هشت ثانیه فقط یه ثانیه توقف می کنه !
تو باوود هم الان چنین مشکلی وجود داره و اگه شما باوود 9600 انتخاب کردی در اصل چون کریستال رو اشتباه گذاشتی باوود ارسالی به کامپیوتر 1200 هستش !!!!

تو برنامه کریستال رو یه مگ بذاری باید مشکلت حل بشه !
برای تنظیمات کامپیوتر هم می تونی طبق این بذاری : http://www.iranled.com/node/76



در ضمن من لیسانس می گیرم و نه مهندسی !
مهندس شمایی !
wow!!!
ای ول مهندس! گذاشتم روی یک مگ درست شد!!!!مرسی...مرسی!
حالا یه سوال دیگه!
من از ساده ترین نوع پروگرامر که فکر کنم stk300 باشه استفاده میکنم.چطور میشه فیوز بیت رو تغییر داد؟!
مهندس این کتاب رو بگیر به دردت می خوره !
http://forum.iranled.com/showthread.php?tid=10869


موقع پروگرامر کردن گزینه MANUAL PROGRAM رو بزن !
در تب LOCK AND FUSE BIT می تونی فیوز بیت ها رو عوض کنی !
فیوز بیت کرستال هم تابلویه و نوشته یه مگ داخلی و می تونی هر چی دوست داشتی بذاری !
نکته : هر فیوز بیت رو عوض کردی بعدش در سمت راست گزینه فعال شده ... WRITE رو بزن !
تا تغییرات داده شده اعمال بشه !


مهم : مواظب باش هر چیو عوض می کنی بدونی چیه !
یک وقتی سریال ISP رو غیر فعال نکنی که پروگرامر دیگه میکرو رو نمی شناسه !
همینطور میکرو رو قفل نکنی !
کار منم تقریبا راه افتاد!
کلاک رو 1 کردم.
سرعت رو 9600 گذاشته بودم کار نمی کرد. خطا منفی 7 بود! فکر می کردم این خوبه دیگه اصلا خطا نداره.
برگشتم 2400 گذاشتم خطا شد مثیت 0.2
تنظیمات مبدل هم تغییر دادم به 2400
خلاصه درست شد! دو طرف با سرعت 2400 کار می کنن! (راحت شدم!)
خطا منفی یعنی چی؟ خوبه یا بد!؟ فکر میکنم این حالت یعنی میکرو نمی تونه با اون سرعت اطلاعات بفرسته درسته؟(باید کریستال بره بالاتر)

اما یه مشکل دیگه هست! هرچی از طرف کامپیوتر می فرستم اصلا وقفه مربوط به دریافت فعال نمیشه! یعنی هیچی نمی گیره!! پیشنهاد می کنین چیکار کنم؟
رفتم سراغ هایپر ترمینال اصلا نمی شد هیچی توش بنویسم! اطلاعات از طرف میکرو می گرفت ولی من نمی تونستم چیزی بنویسم! چرا؟!
یه آدم خوشتیپ که سفارش کرده اینارو بنویسم نوشته است:خطای منفی چیز خواصی نیست !
اهمیت بهش نده !


بعد بدون وقفه بگیر !
ببین می تونی دریافت کنی !
اگه شد اونوقت برو سراغ وقفه !


تو کدویژن نمی دونم چطوریه ولی وقفه سریال تو بسکام URXC هستش !
باید وقفه سراسری رو فعال کنی !
بعد وقفه سریال مشخص کنی !
و وقفه سریال رو فعال کنی !


هایپر ترمینال هم وقتی تایپ می کنی به پورت سریال ارسال می کنه !
ولی چیزی نمی نویسه !
(۰۸-شهریور-۱۳۸۸, ۲۱:۲۰:۰۷)اینم یه خوش تیپ دیگه در جوابش نوشته بود نوشته است: [ -> ]ممنون.
وقفه فکر نمی کنم مشکل داشته باشه. چون همین کدو بین دو تا میکرو امتحان کردم. وقفه سراسری هم فعاله. حالا باشه بدون وقفه و روش های دیگه هم امتحان می کنم ببینم چی میشه ...
می خواستم بدونم با خطای منفی هم کار می کنه یا نه؟! چون اینجا که کار نکرد

البته نه به خوش تیپی بقیه ایرانویجی ها ! Biggrin

آقای هادی خان این علی آقا بیخود که به جنبعالی سفارش نکرد! محدود نکن مهندس ما رو! نمی بینی چطوری داره تو این بخش جان فشانی می کنه؟!! Heart
نشد !!

دریافت نمیشه! این کد رو نوشتم ...
کد:
delay_ms (500);                        
PORTA.0 = 1;
putsf("Hello World! testing serial port ... !!");
PORTA.1 = 1;
ch = getchar();
PORTA.2 = 1;

داده که دریافت بشه باید از دستور getchar بگذره و ال ای دی سوم هم روشن بشه! ولی فقط دو تای اول روشن میشه. سومی روشن نمیشه!
ولت سنج وصل کردم به پین 3 پورت سریال. اطلاعات که میفرستادم نگاه کردم ولت سنج هیچ تغییری نمی کرد. باید یه لحظه ولتاژش زیاد بشه نه؟ برای اون پایه پورت که امتحان می کردم اینطوری میشد.
چیکار کنم؟!
کسی نمی خواد یه کمکی در راه خدا بکنه ؟!
مثل اینکه مشکل از طرف کامپیوتره! چون من پورت کام رو وصل کردم به یه ماژول htmr از نوع rs232 (از اونایی که روش max232 داره) وقتی از طرف کامپیوتر اطلاعات میفرستادم ال ای دی ماژول روشن نمی شد!
چیکار کنم؟ مگه میشه پورت دریافت کنه ولی ارسال نکنه؟ اتصال پین هم تست کردم برقراره!
018
واااااااااااااااااای خدای مـــــــــــــــــــــــــــن !! 018018

فهــمــیـــــــــــــدم !Happy

پین 7 و 8 پورت رو به هم وصل کردم درست شد!! Happy 018
018
فقط تو یکی از نقشه هایی که داشتم پورت 7 و 8 به هم وصل بودن! ولی تو بقیه نه! همون روز اومدم اینجا پرسیدم یکی گفت لازم نیست اون دوتا وصل باشن! عجیبه پس شما چطوری جواب می گرفتین؟! تو مدار علی تریپ هم 7 و 8 وصل نبودن! حالا این برای چی هست؟!

018 018 018

دارم از خوشحالی می ترکم!! 3-4 روز گیر این بودم اصلا هیچ جلو نمی رفتم!!018 018
018
صفحه‌ها: 1 2 3 4 5 6