۲۶-بهمن-۱۳۹۲, ۲۳:۵۴:۴۵
با سلام
بنده سوالی از خدمت شما دوستان عزیز داشتم
بنده به وسیله وقفه پرت سریال میکرو(avr-atmega32) با نرم افزاری که به زبان c# نوشته شده با کامپیوتر در ارتباط هستم البته باید به این نکته اشاره کنم که چون با کامپیوتر در ارتباط هستم و نوع کامپیوتر از نوع لپ تاپ است و فاقد پرت سریال، در نتیجه مجبور شدم از کابل rs232 to usb مارک omega استفاده نمایم.(که طبق تحقیقات بنده بهترین در ایران است)
ولی با توجه به پروتکل ارتباطی که خودم در نظر گرفتم بعضی اوقات recive دارم ولی send از طرف avr ندارم این مشکل در طول 24 ساعت گاها 3 الی 4 بار به صورت پشت سر هم روی می دهد، و گاهی با reset کردن درست و گاهی هم درست نمی شود و وقتی این مشکل حل می شود که چند بار میکرو را reset کنم یا اتصال کابل را جدا کنم و از اول لحیم کاری پرت را انجام دهم (منظور از لحیم کاری باز و بسته کردن سیم های rx و tx از DB9 هست و نه صرفا جدا کردن کابل از کامپیوتر، و منظور از send/recive اینه که گاهی اوقات از سمت کامپیوتر مثلا دستور حرکت موتور را دریافت می کنم (recive) حالا که می خوام به کامپیوتر بگم که من این دستور را گرفتم(Send) یا به عبارتی به کامپیوتر ACK بدم گاهی اوقات میکرو نمی فرسته در نتیجه موتور همین طور حرکت می کنه و چون کامپیوتر ack را نگرفته و مطمئن نشده که من دستور حرکت موتور را گرفتم یا نه همین طور دستور حرکت موتور را می فرسته البته همان طور که گفتم تو 24 ساعت 2 تا 3 مرتبه ابن اتفاق می افته)
کابل تبدیل(usb to serial) را تعویض ، DB9 را تعویض ، سیم های ارتباطی را تعویض،MAX232 را تعویض کردم ولی همچنان این مشکل بر طرف نشده و چون مدار جنبه صنعتی دارد نمی توانم از این مشکل،که در طول 24 ساعت 3 الی 4 مرتبه اتفاق می افتد صرف نظر کنم
همچنین باید به این نکته هم اشاره کنم که
با توجه به کامپایلر قوی c# من در این وضعیت بحرانی که قرار می گیرم رجسترهای سریال برنامه c# هیچی دریافت نمی کنند و این رچسترها قابل دیدن هستند و می توانم عینا ببینم که رجسترهاخالی هستند پس مطمئن شدم که نویز یا اعداد اشتباهی از سمت میکرو به کامپیوتر منتقل نمی شه ،حالا نمی دونم عیب از میکرو یا کابل usb to serial یا برنامه؟؟؟آیا برنامه c# ممکنه که گاها پرت را باز نکنه یا نویز بگیره یا ...؟؟؟
راستی اسم نرم افزار درایور usb to serial هست PL2303_Prolific_DriverInstaller_v1.6.0
و boadrate=19200,طول کابل 1.5 متر و تغذیه هم سوئیچینگ با lm2576-5v
از شما دوستان خواهشمندم که بنده را راهنمایی کنید
با تشکر
بنده سوالی از خدمت شما دوستان عزیز داشتم
بنده به وسیله وقفه پرت سریال میکرو(avr-atmega32) با نرم افزاری که به زبان c# نوشته شده با کامپیوتر در ارتباط هستم البته باید به این نکته اشاره کنم که چون با کامپیوتر در ارتباط هستم و نوع کامپیوتر از نوع لپ تاپ است و فاقد پرت سریال، در نتیجه مجبور شدم از کابل rs232 to usb مارک omega استفاده نمایم.(که طبق تحقیقات بنده بهترین در ایران است)
ولی با توجه به پروتکل ارتباطی که خودم در نظر گرفتم بعضی اوقات recive دارم ولی send از طرف avr ندارم این مشکل در طول 24 ساعت گاها 3 الی 4 بار به صورت پشت سر هم روی می دهد، و گاهی با reset کردن درست و گاهی هم درست نمی شود و وقتی این مشکل حل می شود که چند بار میکرو را reset کنم یا اتصال کابل را جدا کنم و از اول لحیم کاری پرت را انجام دهم (منظور از لحیم کاری باز و بسته کردن سیم های rx و tx از DB9 هست و نه صرفا جدا کردن کابل از کامپیوتر، و منظور از send/recive اینه که گاهی اوقات از سمت کامپیوتر مثلا دستور حرکت موتور را دریافت می کنم (recive) حالا که می خوام به کامپیوتر بگم که من این دستور را گرفتم(Send) یا به عبارتی به کامپیوتر ACK بدم گاهی اوقات میکرو نمی فرسته در نتیجه موتور همین طور حرکت می کنه و چون کامپیوتر ack را نگرفته و مطمئن نشده که من دستور حرکت موتور را گرفتم یا نه همین طور دستور حرکت موتور را می فرسته البته همان طور که گفتم تو 24 ساعت 2 تا 3 مرتبه ابن اتفاق می افته)
کابل تبدیل(usb to serial) را تعویض ، DB9 را تعویض ، سیم های ارتباطی را تعویض،MAX232 را تعویض کردم ولی همچنان این مشکل بر طرف نشده و چون مدار جنبه صنعتی دارد نمی توانم از این مشکل،که در طول 24 ساعت 3 الی 4 مرتبه اتفاق می افتد صرف نظر کنم

همچنین باید به این نکته هم اشاره کنم که
با توجه به کامپایلر قوی c# من در این وضعیت بحرانی که قرار می گیرم رجسترهای سریال برنامه c# هیچی دریافت نمی کنند و این رچسترها قابل دیدن هستند و می توانم عینا ببینم که رجسترهاخالی هستند پس مطمئن شدم که نویز یا اعداد اشتباهی از سمت میکرو به کامپیوتر منتقل نمی شه ،حالا نمی دونم عیب از میکرو یا کابل usb to serial یا برنامه؟؟؟آیا برنامه c# ممکنه که گاها پرت را باز نکنه یا نویز بگیره یا ...؟؟؟
راستی اسم نرم افزار درایور usb to serial هست PL2303_Prolific_DriverInstaller_v1.6.0
و boadrate=19200,طول کابل 1.5 متر و تغذیه هم سوئیچینگ با lm2576-5v
از شما دوستان خواهشمندم که بنده را راهنمایی کنید
با تشکر