با سلام خدمت دوستان
من میخوام یه شبکه بیسیم با hm-tr راهندازی کنم
که یه سرور + چند تا clinet داره که هر کدوم از این کلاینتا به یه سنسور و... وصل هستن
از اونجایی که ماژول ها تقریبا مثل سیم عمل میکنن،اولش تصمیم به این گرفتم که کار رو با شبکه سیمی شروع کنم که فقط یه کلاینت داره
1.اولین مشکل تو این روش کاراکتر اضافی بود که اول رشته دریافتی ایجاد میشد که رو ال سی دی به صورت 3 تا خط عمودی نشون داده میشد
2.هنگ کردن برنامه رو دستور اینپوت که با یه دستور ساده پر یا خالی بودن بافر رو نشون میداد حل شد(البته این تا اینجاش خیال خام به حساب میاد)
همه اینا باعث شد که به این کد ها برسم:
سرور:
کلاینت 1:
ولی یه مشکلی بود:
وقتی کلاینت کد 12 رو input میکرد و adc رو حساب میکرد ،print میکرد،
دفعه دوم مقدار که print کرده بود رو اینپوت میکرد!
نمیدونم دلیل این عمر چیه و هر کاری کردم مشکل حل نشد!
(الان اولین مشکلم همین قضیه هست!)
در مرحله دوم وقتی کلاینت دوم به این مجموعه اضافه میشه ،کل مجموعه از کار میفته!
(اینم مشکلی که 1 ماهه باش درگیرم!،و مشکل اساسیم همینه)
برای برنامه نویسی از بسکام استفاده میکنم
...
لطفا اساتید راهنماییشون رو دریغ نکنن
من میخوام یه شبکه بیسیم با hm-tr راهندازی کنم
که یه سرور + چند تا clinet داره که هر کدوم از این کلاینتا به یه سنسور و... وصل هستن
از اونجایی که ماژول ها تقریبا مثل سیم عمل میکنن،اولش تصمیم به این گرفتم که کار رو با شبکه سیمی شروع کنم که فقط یه کلاینت داره
1.اولین مشکل تو این روش کاراکتر اضافی بود که اول رشته دریافتی ایجاد میشد که رو ال سی دی به صورت 3 تا خط عمودی نشون داده میشد
2.هنگ کردن برنامه رو دستور اینپوت که با یه دستور ساده پر یا خالی بودن بافر رو نشون میداد حل شد(البته این تا اینجاش خیال خام به حساب میاد)
همه اینا باعث شد که به این کد ها برسم:
سرور:
کد:
$regfile = "m8def.dat" $crystal = 11059200 $baud = 9600 Config Lcdpin = Pin , Db4 = Pinb.3 , Db5 = Pinb.2 , Db6 = Pinb.1 , Db7 = Pinb.0 , E = Pinb.4 , Rs = Pinb.5 Config Lcd = 20 * 4 Cursor On Dim L As String * 5 Dim X As String * 5 Dim Y As String * 5 Dim Z As Byte Dim A As Byte Dim B As Byte Cls Home Lcd "conecting..." Lowerline Lcd "please wait" Wait 5 Cls Do L = "12" Print L A = Ischarwaiting() If A = 1 Then Input X Else Print L End If B = Len(x) B = B - 1 Y = Right(x , B) Z = Val(y) If Z <> 0 Then Cls Home Lcd "Y:" ; X ; " val(Y):" ; Z Lowerline Lcd A ; " " ; B End If Loop End
کد:
$regfile = "m8def.dat" $crystal = 11059200 $baud = 9600 Config Lcdpin = Pin , Db4 = Pinb.3 , Db5 = Pinb.2 , Db6 = Pinb.1 , Db7 = Pinb.0 , E = Pinb.4 , Rs = Pinb.5 Config Lcd = 20 * 4 Cursor On Config Adc = Single , Prescaler = Auto , Reference = Internal Enable Adc Start Adc Dim Temp As Word Dim A As String * 5 Dim B As String * 5 Dim C As Word Cls Do Input A B = Right(a , 2) Lcd B ; "-" C = Val(b) If C = 12 Then Wait 1 Temp = Getadc(0) Temp = Temp / 4 Waitms 500 Print Temp End If Loop End
وقتی کلاینت کد 12 رو input میکرد و adc رو حساب میکرد ،print میکرد،
دفعه دوم مقدار که print کرده بود رو اینپوت میکرد!
نمیدونم دلیل این عمر چیه و هر کاری کردم مشکل حل نشد!
(الان اولین مشکلم همین قضیه هست!)
در مرحله دوم وقتی کلاینت دوم به این مجموعه اضافه میشه ،کل مجموعه از کار میفته!
(اینم مشکلی که 1 ماهه باش درگیرم!،و مشکل اساسیم همینه)
برای برنامه نویسی از بسکام استفاده میکنم
...
لطفا اساتید راهنماییشون رو دریغ نکنن
دیدگاه