ecp
تازه وارد
ارسالها: 1
موضوعها: 1
تاریخ عضویت: فروردین ۱۳۸۷
تشکرها : 0
( 0 تشکر در 0 ارسال )
|
ارتباط سريال بين چند ميكرو و دستورات سريال
مي خوام چند ميكرو (حدود 20 تا ) را با ارتباط سريال به هم وصل كنم
به طوري كه هر ميكرو يك كليد دارد كه با فشردن آن ميكروي آخري كه همان MASTER است متوجه شود
كه كليد كدام ميكرو ها فشرده شده و آن را بر روي LCD نمايش دهد
حالا من مي خوام به هر ميكرو يك عدد نسبت بدم مثلا ميكرو اولي را برابر 0000000000000001 قرار ميدم كه اگر كليد مربوط به آن فشرده بشه ان عدد را به ميكروي دوم پاس بده
و اگر كليد آن فشار داده نشود عدد 0000000000000000 را به ميكرو بغلي پاس بده
و اگر كليد ميكروي دومي فشار داده بشه عدد 0000000000000010 را به عددي كه ميكرو اول پاس داده اضافه مي كنه در غير اين صورت
همون عددي را كه از ميكرو اول اومده به سومي پاس ميده و.................
نمي دونم تونستم منظورمو برسونم يا نه ؟؟؟؟؟؟؟؟
حالا
در مورد دو دستور زير هر چي مي دونيد بگيد
حقيقثش رفتم تو HELP ولي از اونجا كه زبانم تعريفي نداره چيز زيادي دستگيرم نشد
در ضمن بين هر ميكرو حدود 4 متر فاصله هست
SERIN var , bts , port , pin, baud , parity , dbits , sbits
SEROUT var , bts , port , pin, baud , parity , dbits , sbits
راستي برنامه زير رو هم نوشتم ولي جواب نگرفتم
$regfile "M32DEF.DAT"
$crystal = 8000000
'*************************
Config Portd.0 = Input
Config Portd.1 = Output
Config Portb.3 = Input
'*************************
Dim S As String * 16
Dim R As String * 16
Dim S1 As Word
Dim S2 As Word
S1 = 0000000000000001
S2 = 0000000000000000
Main:
Do
If Pinb.3 = 0 Then
S = Str(s1)
Gosub L1
Else
S = Str(s2)
Gosub L1
End If
Wait 1
Loop
L1:
Serout S , 0 , D , 1 , 9600 , 0 , 16 , 1
Return
از لحاظ سخت افزاري من كريستال وصل نكردم
و براي تغذيه فقط از پايه هاي 10 و11 استفاده كردم
به نظر شما مشكل سخت افزار يا نرم افزار ؟؟؟؟؟؟؟
|
|
۰۵-فروردین-۱۳۸۷, ۰۲:۵۰:۳۱ |
|
تشکر شده توسط : |
|
raminrayat
تازه وارد
ارسالها: 8
موضوعها: 0
تاریخ عضویت: مرداد ۱۳۸۸
تشکرها : 10
( 9 تشکر در 7 ارسال )
|
RE: ارتباط سريال بين چند ميكرو و دستورات سريال
سلام ایا تو بیسکام دستوری هست که بشه باهاش در هنگام اجرای برنامه هروقت عددی مثل 1 یا2....6 از پورت کامپیوتر که توسط max 232 به پایه های rxd ,txd میکرو mega32 متصل هستندبدون اینکه اجرای دستورات (تا رسیدن اطلاعات از پورت سریال کامپیتر) متوقف شود خواند.یعنی مثل دستورات a=waitkey() عمل نکند ومیرو تا رسیدن عدد صبر نکند.
اخه من می خوام میکرو هر لظه دما رو بخونه و بده به کامپیوتر و تو labview نمایش بده .از طرفی labview اگه عدد 1 رو فرستاد به میکرو .portd.0 ست بشه .اگه 2 رو فرستاد ریست بشه.اگه 3 رو فرستاد portd.1 ست بشه و.....تا6 عدد
|
|
۲۷-شهریور-۱۳۹۰, ۱۰:۳۴:۳۸ |
|
تشکر شده توسط : |
|