PDA

View Full Version : سوال: برقراری ارتباط بین بسکام و vb با UART ؟؟؟؟



plusboy
جمعه 26 مهر 1387, 12:25 عصر
سلام مهندسین
من تحت بسکام برنامه ای برای atmega می نویسم که مثلا اگر این کد یا عدد را از uart و terminal emulator دریافت کرد کاری را انجام دهد و مطلبی را بر روی terminal emulator نشان بده. خوب تا اینجای کار مشکلی نیست!!
اما می خواهم برنامه ای تحت vb بنویسم که این کار رو انجام بده. هر کاری می کنم نمیشه!!:عصبانی++:



Private Sub Form_Load()
MSComm1.CommPort = 2 ' Set the port number
MSComm1.Settings = "19200,N,8,1" ' Set UART parameters
MSComm1.PortOpen = True ' Required, might lock port
MSComm1.InputLen = 10
Dim s As Variant
Dim x As Integer
End Sub









خوب حلا کسی از دوستان این کار را انجام داده




که اطلاعاتی که میکرو ارسال می کنه روی یک TEXT box در vb نشان بده یا بتونه اطلاعاتی به میکرو ارسال کنه !؟؟ مثل terminal emulator bascom




Private Sub Command1_Click()
x = 1
MSComm1.Output = Chr$(x)
Text1.Text = Chr$(x)
End Sub






Private Sub MSComm1_OnComm()
Text1.Text = MSComm1.Input
End Sub

vahid_d_0101
جمعه 26 مهر 1387, 13:06 عصر
هرچند تو سایت نمونه های فراوانی بود ولی اینو ببین خوبه یا نه

plusboy
جمعه 26 مهر 1387, 14:53 عصر
ممنون دوست عزیز
این برمانه را تست کردم، شیبه به برنامه هست که سرسش را گذاشتم
اما باز هم کار نمیکنه با وجودی که در terminal emulator bascom مشکلی نداره..
نه مطلب ارسال می شه نه دیتا ارسال شده را نمایش داد.

لطفا کمک کنید.

alirezalahij
جمعه 26 مهر 1387, 15:02 عصر
سلام

من تو همین امولاتور بسکامم موندم

من وقتی دیتا بین میکرو و بسکام رد کنم

حروف نامفهموم می یاد اگه می شه سوس بسکامت برام بزار

حدس می زنی مشکل چیه؟

vahid_d_0101
جمعه 26 مهر 1387, 16:45 عصر
شما سر راه میکرو و پورت سریال ای سی max 232 را قرار دادید

plusboy
جمعه 26 مهر 1387, 22:56 عصر
میدونم که نکته مهم در ارتباط با ارسال داده و دریافت ، تنظیماتی از قبیل:
میزان baud
نوع کریستال
کدام پورت
و...

اگر برای شما مطالب نامفهومی توی بسکام نشون میده واسه اینه که میزان baud انتخاب شده در برنامه میکرو با تنظیمات terminal بسکام سازگار نیست.
میزان baud با کریستال رابطه مستقیم داره >، اگر درصد خطا بیش از 0.20 % باشه معمولا کار نمیکنه..

حالا از این حرفا بگذریم ، کسی نیست با vb برنامش رو نوشته باشه که لا اقل بتونیم تحت vb یک فرمان به میکرو بدیم و میکرو اطلاعاتش رو نشون بده؟!!!!!!

این یک نمونه برنامه که نوشتم
میتونه LED که شمارش داده میشه رو روشن کنه با فرمانی که از Terminal بسکام میگیره. اما هر کاری میکنم تحت vb جواب نمیده ؟!!!:اشتباه:



$regfile = "m32def.dat"




$crystal = 1000000

$baud = 4800
Dim X As Integer
Config Portb = Output
Reset Portb


Wait 1
Print "WellCom "
Print
Print
Waitms 500
Lable2:
Do
Print
Print "Which LED You want ? "
Print
Input "Led No. " , X
Print
If X = 0 Or X = 1 Or X = 2 Or X = 3 Then
Goto Lable
Print
Else
Print "Wrong !!"
Print
Goto Lable2
End If
Lable:
Select Case X
Case 1
Portb.0 = 1
Portb.1 = 0
Portb.2 = 0
Case 2
Portb.0 = 0
Portb.1 = 1
Portb.2 = 0
Case 3
Portb.0 = 0
Portb.1 = 0
Portb.2 = 1
Case 0
Portb.0 = 0
Portb.1 = 0
Portb.2 = 0
End Select


Loop

End

vahid_d_0101
جمعه 26 مهر 1387, 23:11 عصر
بابا من خودم دارم روباتم را از پورت سریال کنترل میکنم با همون دستورات که تو اون برنامه گزاشته بودم هیچ خطاییی نداره تمام کلمات یا حرف هایی که براش میفرستم رو میگیره البته میکرو من pic هست که نمونه برنامه منو یه نفر با avr هم تست کرد و جواب گرفته بود بدون هیچ نقصی اون ای سی max232 حتما باید بین میکرو و پورت سریال باشه

plusboy
شنبه 27 مهر 1387, 22:28 عصر
دوست عزیز vahid_d_0101
وقتی تو terminal emulator کار می کنه یعنی max232 استفاده شده
میشه لطفا کد avr استفاده شده رو برام بفرستید!!

برای ارسال داده آیا از دستور chr هم باید استفاده کرد؟
توی برنامه میکرو تغییراتی نباید داد برای قسمت دریافت؟؟؟
ممنون

vahid_d_0101
شنبه 27 مهر 1387, 22:38 عصر
نه بدون max 232 ترمینال میتونه اطلاعات را بخونه ولی اگه خواسته باشی تو vb برنامه بنویسی باید از max 232 استفاده کنید
در ضمن من گفتم با avr ننوشتم ولی یکی با avr نوشته بود و برنامه Vb من را امتحان کرد و جواب گرفته بود،

r0ot$harp
یک شنبه 28 مهر 1387, 01:48 صبح
دوست عزیز vahid_d_0101
وقتی تو terminal emulator کار می کنه یعنی max232 استفاده شده
میشه لطفا کد avr استفاده شده رو برام بفرستید!!

برای ارسال داده آیا از دستور chr هم باید استفاده کرد؟
توی برنامه میکرو تغییراتی نباید داد برای قسمت دریافت؟؟؟
ممنون

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


www.ECA.Ir

انجام بدی و بحث های مربوط به نرم افزار و رابط کاربری را در این انجمن .



باتشکر احسان