نویسنده موضوع: کمک در مورد برنامه نویسی برای hm-t-hm-r  (دفعات بازدید: 10371 بار)

0 کاربر و 1 مهمان درحال دیدن موضوع.

آفلاین hossein-ab

  • کاربر
  • ***
  • ارسال: 46
    • ديدن مشخصات
کمک در مورد برنامه نویسی برای hm-t-hm-r
« : ۱ دی ۱۳۸۹ - ۰۹:۳۱:۱۷ »
سلام
من اومدم يه متن رو با ماژول hm-r وhm-t بفرستم و مدارو بستم ولي كار نميكنه نمي دونم اشكال از چيه؟ نميدونم پايه tx ميكرو اطلاعات رو به ماژول
ميده تا بفرسته؟ چيكار كنم كه مطمئن شوم اطلاعات رو مي فرسته؟؟؟؟ و گيرنده اونو در يافت ميكنه؟

ممنون ميشم اگه كمكم كنيد

آفلاین Modj

  • مدیر سایت
  • ***
  • ارسال: 1146
    • ديدن مشخصات
    • موج
پاسخ : کمک در مورد برنامه نویسی برای hm-t-hm-r
« پاسخ #1 : ۱ دی ۱۳۸۹ - ۱۹:۲۷:۴۱ »
یکی از ساده ترین راهها این هست که به فرستنده بگین بایتی رو به تداوم و پشت سر هم بفرسته. توو گیرنده برنامه ای بنویسین که بایت دریافتی رو روی یکی از پورتها نمایش بده. این ساده ترین روشی هست که الان به ذهنم میرسه
مرا امداد کسان افکنده بود از پای ............. مدد از بی کسی ها جستم و امداد خود کردم

آفلاین hossein-ab

  • کاربر
  • ***
  • ارسال: 46
    • ديدن مشخصات
پاسخ : کمک در مورد برنامه نویسی برای hm-t-hm-r
« پاسخ #2 : ۱ دی ۱۳۸۹ - ۲۰:۴۹:۴۶ »
سلام اين برنامه من لطفا چك كنيد اگه اشتباهه درستشو بهم بگين ممنون
فرستنده:Dim A As String * 13
Do
Print "hello"
Waitms 50
Loop
End
گيرنده:Dim A As String * 13
Do
Input A
If A = "hello" Then
Set Portd.7
End If
Loop
End
ولي كار نميكنه؟

آفلاین Modj

  • مدیر سایت
  • ***
  • ارسال: 1146
    • ديدن مشخصات
    • موج
پاسخ : کمک در مورد برنامه نویسی برای hm-t-hm-r
« پاسخ #3 : ۱ دی ۱۳۸۹ - ۲۱:۲۳:۵۷ »
این رو تست کنین:
فرستنده:
dim a as byte
a="a"
Do
Print a;
Loop
End
گيرنده:
dim a as byte
config porta=output
Do
a=inkey()
if a<>0 then porta=a
Loop
مرا امداد کسان افکنده بود از پای ............. مدد از بی کسی ها جستم و امداد خود کردم

آفلاین hossein-ab

  • کاربر
  • ***
  • ارسال: 46
    • ديدن مشخصات
پاسخ : کمک در مورد برنامه نویسی برای hm-t-hm-r
« پاسخ #4 : ۲ دی ۱۳۸۹ - ۱۰:۰۶:۴۲ »
وقتي بايت رو مي فرستم از كجا بفهمم اطلاعات به گيرنده ميرسه يا نه؟ چه جوري بايد تست كنم؟

ممنون ميشم

آفلاین hossein-ab

  • کاربر
  • ***
  • ارسال: 46
    • ديدن مشخصات
پاسخ : کمک در مورد برنامه نویسی برای hm-t-hm-r
« پاسخ #5 : ۲ دی ۱۳۸۹ - ۱۰:۳۴:۴۴ »
اين برنامه من چه اشكالي داره؟
فرستنده:
Dim A As String * 13
Do
Print "hello"
Loop
End
گيرنده:
Dim A As String * 13
Config Portd = Output
Do
Input A
If A = "hello" Then
Set Portd.7
Waitms 2000
End If
Loop
End

آفلاین Modj

  • مدیر سایت
  • ***
  • ارسال: 1146
    • ديدن مشخصات
    • موج
پاسخ : کمک در مورد برنامه نویسی برای hm-t-hm-r
« پاسخ #6 : ۲ دی ۱۳۸۹ - ۱۲:۱۱:۴۰ »
برنامه مشکلی نداره، فقط شما 6 بایت رو می فرستین
h
e
l
l
o
enter
که باید توو گیرنده همزمان کامل دریافت یشه. برای همین امکان خطا زیاده.اون وقفه 2 ثانیه ای رو هم توو گیرنده حذف کنین.بجای waitms 2000 هم می تونین از Wait 2 استفاده کنین اما در کل برنامه ای که من گفتم ساده تر هست.
توو برنامه ای که من گفتم بایت دریافتی روی پورت a نمایش داده میشه. دستور inkey در صورتی که روی پورت سریال اطلاعاتی دریافت نشده باشه 0 در غیر این صورت بایت مربوطه رو بر می گردونه که با چک کردن 0 نبودن اون می تونین بفهمین اطلاعات رسیده یا نه
از وقفه پورت سریال هم میتونین استفاده کنین که پیشنهاد نمی دم. در کل برای تست آسونترین راه همون برنامه هست که پیشنهاد دادم
مرا امداد کسان افکنده بود از پای ............. مدد از بی کسی ها جستم و امداد خود کردم

آفلاین hossein-ab

  • کاربر
  • ***
  • ارسال: 46
    • ديدن مشخصات
پاسخ : کمک در مورد برنامه نویسی برای hm-t-hm-r
« پاسخ #7 : ۲ دی ۱۳۸۹ - ۲۰:۱۱:۱۰ »
من اومدم اول با سيم ارتباط برقرار كنم و ببينم ديتا ارسال ميشه يا نه .
بايد پايه tx ميكرو فرستنده رو به پايه rx ميكرو گيرنده وصل كنم. آيا درسته؟ يا بايد كار ديگه اي انجام دهم؟

ممنون ميشم اگه كمكم كنيد خيلي برام مهمه  ميخام ببينم اشكال از پايه tx ميكرو است يا از جاي ديگه اي هست كه اطلاعات رو نمي فرسته

ممنون

آفلاین Modj

  • مدیر سایت
  • ***
  • ارسال: 1146
    • ديدن مشخصات
    • موج
پاسخ : کمک در مورد برنامه نویسی برای hm-t-hm-r
« پاسخ #8 : ۳ دی ۱۳۸۹ - ۰۰:۳۶:۴۶ »
با سیم همونطور که گفتین باید وصل بشه
به فرکانس تعریف شده کریستال ها و همینطور کریستال استفاده شده در عمل توجه کنین
مرا امداد کسان افکنده بود از پای ............. مدد از بی کسی ها جستم و امداد خود کردم

آفلاین hossein-ab

  • کاربر
  • ***
  • ارسال: 46
    • ديدن مشخصات
پاسخ : کمک در مورد برنامه نویسی برای hm-t-hm-r
« پاسخ #9 : ۳ دی ۱۳۸۹ - ۱۲:۴۴:۱۴ »
فركانس داخلي 4 مگا بكار بردم
با سيم فرستنده:
Dim A As String * 3
A = "h"
Do
Print A
Loop
End
گيرنده:
Dim A As String * 3
Config Portc = Output
Do
Input A
If A = "h" Then
Set Portc.3
End If
Loop
End
آيا درسته يا بايد تغييرات بدم؟

آفلاین Modj

  • مدیر سایت
  • ***
  • ارسال: 1146
    • ديدن مشخصات
    • موج
پاسخ : کمک در مورد برنامه نویسی برای hm-t-hm-r
« پاسخ #10 : ۳ دی ۱۳۸۹ - ۱۲:۴۹:۰۳ »
بهتره توو فرستنده تهه خط ارسال ; اضافه کنین یعنی :
print a;
و توو گیرنده بجای input a بنویسین
a=inkey()
 
مرا امداد کسان افکنده بود از پای ............. مدد از بی کسی ها جستم و امداد خود کردم

آفلاین hossein-ab

  • کاربر
  • ***
  • ارسال: 46
    • ديدن مشخصات
پاسخ : کمک در مورد برنامه نویسی برای hm-t-hm-r
« پاسخ #11 : ۳ دی ۱۳۸۹ - ۱۵:۳۴:۳۵ »
من وقتي كه سيم كه ازtx فرستنده به rx گيرنده وصل شده رو جدا مي كنم هنوز هم پايهc2 يك مي شود(روشن) نميدونم چرا اينجوري شده؟
فرستنده:
Dim A As String * 3
A = "h"
Do
Print A;
Loop
End
گيرنده:
im A As String * 3
Config Portc = Output
Do
A = Inkey()
If A = "h" Then
Set Portc.2
End If
Loop
End

آفلاین Modj

  • مدیر سایت
  • ***
  • ارسال: 1146
    • ديدن مشخصات
    • موج
پاسخ : کمک در مورد برنامه نویسی برای hm-t-hm-r
« پاسخ #12 : ۳ دی ۱۳۸۹ - ۲۲:۲۴:۰۵ »
اول برنامه c2 رو reset کنین
A رو هم از نوع byte تعریف کنین نه string
مرا امداد کسان افکنده بود از پای ............. مدد از بی کسی ها جستم و امداد خود کردم

آفلاین hossein-ab

  • کاربر
  • ***
  • ارسال: 46
    • ديدن مشخصات
پاسخ : کمک در مورد برنامه نویسی برای hm-t-hm-r
« پاسخ #13 : ۴ دی ۱۳۸۹ - ۰۶:۴۷:۵۳ »

چرا بايد ريست كنم برنامه c2 رو؟ اگه اين كار رو بكنم پس چه جوري بفهمم اطلاعات رو مي فرسته؟
ممنون

آفلاین hossein-ab

  • کاربر
  • ***
  • ارسال: 46
    • ديدن مشخصات
پاسخ : کمک در مورد برنامه نویسی برای hm-t-hm-r
« پاسخ #14 : ۴ دی ۱۳۸۹ - ۲۱:۱۰:۴۹ »
برنامه با سيم كار كرد. ولي با ماژول كار نمي كنه؟ فاصله بين دو ماژول  3m است
فرستنده:
$crystal = 8000000
$baud = 9600
Dim S As String * 3
S = "ali"
Do
Print S + Chr(13)
Loop
End
گيرنده:
$crystal = 8000000
$baud = 9600
Config Portd.7 = Output
Dim S As String * 3
Do
Input S
If S = "ali" Then Set Portd.7
Loop
End
ممنون ميشم كمكم كنيد

Tags: