۱۰-بهمن-۱۳۸۹, ۱۲:۰۳:۵۱
سلام دوستان
من یک برنامه با میکرو نوشتم که توی این برنامه یک عدد از پورت سریال کامپیوتر فرستاده میشه به صورت hexadecimal و اونطرف با یک Max232 به ttl تبدیل میشه و وارد پورت سریال میکرو میشه . برنامه میکرو هم به صورت زیر هستش
$regfile = "m32def.dat"
$crystal = 1000000
$baud = 1200
Config Portd.6 = Output
Dim A As String * 12
Dim B As Byte
On Urxc Rec_isr
Enable Urxc
Enable Interrupts
Main:
Do
Loop
End
Rec_isr:
Input A
B = Hexval(a)
If B = 255 Then
Set Portd.6
End If
If B = 128 Then
Reset Portd.6
End If
Return
این برنامه دارای وقفه سریال هستش . همونطور که گفتم از کامپیوتر اعداد به صورت hex ارسال میشه . برنامه میکرو همونطور که معلومه اعداد رو دریافت میکنه و رشته تبدیل به عدد میشه ( با دستور hexval) .
ولی چیزی که هستش برنامه کار نمی کنه یعنی من روی برد نتونستم جواب بگیرم .
1- از خروجی کامپیوتر هم مطمئن هستش چون خروجی com کامپیوتر رو به پورت com یک کامپیوتر دیگه وصل کردم و با استفاده از terminal بسکام تونستم اطلاعات رو به شکل صحیح بخونم .
2- از برنامه میکرو هم مطمئن هستم چون هم توی پروتوس جواب داده و هم این که به در قسمت فرستنده ( که قراره کامپیوتر باشه ) یک میکرو گزاشتم که اعداد رو بفرسته به میکرو گیرنده و جواب + داده و کار کرده .
حالا موندم مشکل سر چی هستش . من خودم فکر می کنم مشکل از baud rate باشه
حالا نظر شما دوستان چی هستش.
با تشکر فراوان[/code]
من یک برنامه با میکرو نوشتم که توی این برنامه یک عدد از پورت سریال کامپیوتر فرستاده میشه به صورت hexadecimal و اونطرف با یک Max232 به ttl تبدیل میشه و وارد پورت سریال میکرو میشه . برنامه میکرو هم به صورت زیر هستش
$regfile = "m32def.dat"
$crystal = 1000000
$baud = 1200
Config Portd.6 = Output
Dim A As String * 12
Dim B As Byte
On Urxc Rec_isr
Enable Urxc
Enable Interrupts
Main:
Do
Loop
End
Rec_isr:
Input A
B = Hexval(a)
If B = 255 Then
Set Portd.6
End If
If B = 128 Then
Reset Portd.6
End If
Return
این برنامه دارای وقفه سریال هستش . همونطور که گفتم از کامپیوتر اعداد به صورت hex ارسال میشه . برنامه میکرو همونطور که معلومه اعداد رو دریافت میکنه و رشته تبدیل به عدد میشه ( با دستور hexval) .
ولی چیزی که هستش برنامه کار نمی کنه یعنی من روی برد نتونستم جواب بگیرم .
1- از خروجی کامپیوتر هم مطمئن هستش چون خروجی com کامپیوتر رو به پورت com یک کامپیوتر دیگه وصل کردم و با استفاده از terminal بسکام تونستم اطلاعات رو به شکل صحیح بخونم .
2- از برنامه میکرو هم مطمئن هستم چون هم توی پروتوس جواب داده و هم این که به در قسمت فرستنده ( که قراره کامپیوتر باشه ) یک میکرو گزاشتم که اعداد رو بفرسته به میکرو گیرنده و جواب + داده و کار کرده .
حالا موندم مشکل سر چی هستش . من خودم فکر می کنم مشکل از baud rate باشه
حالا نظر شما دوستان چی هستش.
با تشکر فراوان[/code]