PDA

View Full Version : مبتدی: مشکل در ارتباط سریال میکرو



hashemys
چهارشنبه 07 اردیبهشت 1390, 17:34 عصر
سلام دوستان
من مدار ارتباط میکرو با پورت سریال را ساختم
اما هرچه پروگرامش میکنم که مثلا hello را به پورت سریال ارسال کنه ، به جاش یک سری عدد و حروف کاملا بی ارتباط به این کلمه را ارسال می کنه و در محیط ترمینال codevision نمایش میده
به نظر شما مشکل کجاست؟
متشکرم که راهنمایی می کنید:لبخندساده:

ژوپیتر
پنج شنبه 08 اردیبهشت 1390, 00:36 صبح
Baud Rate درست تنظیم کنید، Stop Bit بقیه تنظیمات هم باید یکسان باشند. در ضمن به ازای کلاک اصلی باود ریتهای مختلفی با ایرور ریتهای مختلفی ساخته میشن که توی دیتاشیت میکرو هست.

موفق باشید.

hashemys
جمعه 09 اردیبهشت 1390, 09:42 صبح
Baud Rate درست تنظیم کنید، Stop Bit بقیه تنظیمات هم باید یکسان باشند. در ضمن به ازای کلاک اصلی باود ریتهای مختلفی با ایرور ریتهای مختلفی ساخته میشن که توی دیتاشیت میکرو هست.

موفق باشید.

Baud Rate و Stop Bit در هر دو طرف یکسانه یعنی طرف میکرو را codewizard و طرف کامپیوتر هم در تنظیمات ترمینال codevision بصورت یکسان تنظیم شده
9600 & 8data 1stop no parity.
ببخشید میشه "ایرور ریتهای مختلف" را توضیح بدید ؟

farzadsw
جمعه 09 اردیبهشت 1390, 12:49 عصر
فکر میکنم شما کلاک میکروتون درست نیست . کلاکی که تو codevision تنظیم کردید چند MHz هست ؟ همون رو باید با استفاده از فیوز بیتها ، موقع پروگرم کردن اعمال کنید . از طرف دیگه چون به طور پیش فرض میکرو کلاکش 1MHz هست ، میتونید تو کد ویژن کلاک رو همون 1 مگ تنظیم کنید تا نیازی به تغییر فیوز بیت نباشه.

zahra jalili
شنبه 10 اردیبهشت 1390, 14:23 عصر
سلام
میشه کمکم کنید.
من قراره یه برنامه بنویسم که با زدن دکمه ای در کی پد میکروی اول یه سری کار تو میکروی دوم انجام بشه و تو lcd نمایش بده.
میشه لطف کنید بگید این ارتباطو چیجوری برقرار کنم.با زبان bascom

hashemys
شنبه 10 اردیبهشت 1390, 16:46 عصر
فکر میکنم شما کلاک میکروتون درست نیست . کلاکی که تو codevision تنظیم کردید چند MHz هست ؟ همون رو باید با استفاده از فیوز بیتها ، موقع پروگرم کردن اعمال کنید . از طرف دیگه چون به طور پیش فرض میکرو کلاکش 1MHz هست ، میتونید تو کد ویژن کلاک رو همون 1 مگ تنظیم کنید تا نیازی به تغییر فیوز بیت نباشه.
کلا من یک جا هست که فرکانس تنظیم می کنم اونم توی code wizard ، جایی که نوع تراشه رو مشخص میکنم ، کنارش فرکانس کاریش رو مشخص می کنم. در قسمت usart هم بوود ریت رو میذارم 9600 و بعد در ترمینال کدویژن هم همون 9600 رو میذارم. اما عموما جواب نمیده و یه سری حروف بی ربط می یاد . ولی اگه تو ترمینال روی 4800 بذارم کلمه ای که میکرو میفرسته رو می گیرم اما غلط و غولوط هم توش داره . حس میکنم اون فرکانسی که من توی کد ویزارد تعیین میکنم کاری انجام نمیده و فرکانس میکرو از جای دیگه تعیین شده. مثلا فرمان delay هم که میدم بجای 1 ثانیه نیم ثانیه یا کمتر در ترمینال صبر میکنه !
آیا من باید فرکانس رو از جای دیگه ای تنظیم کنم؟
منظورتون از اینکه "با استفاده از فیوز بیتها ، موقع پروگرم کردن اعمال کنید" چیه ؟ یعنی ازکجا؟ چه جوری؟

farzadsw
شنبه 10 اردیبهشت 1390, 17:07 عصر
اون فرکانسی که تو کد ویزارد تعیین میکنید در حقیقت هیچ کاری روی میکرو نمیکنه و برای خود کامپایلره ، برای اینکه فرکانس میکرو رو تغییر بدید باید فیوز بیتها (fuse bit) رو تنظیم کنید تا فرکانس میکرو تون تغییر کنه . فیوزبیتها رو با استفاده از پروگرمر باید تغییر بدید .
اگر نمیدونید چطوری فیوز بیت رو تغییر بدید ، تو اینترنت مطلب زیاده ، غیر از اون میتونید کلاک رو تو کد ویژن 1 مگ تعیین کنید چون کلاک میکرو به صورت کارخونه ای 1 مگ هست (لازم نیست فیوز بیت رو عوض کنید) .

در مورد ارتباط با سریال با بسکام تو تاپیک "کنترل وسیله برقی توسط کامپیوتر(rs232/LPT)" توضیح داده شده.