اطلاعیه

Collapse
No announcement yet.

دریافت دیتا به صورت آرایه ای از پورت سریال

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    #16
    پاسخ : دریافت دیتا به صورت آرایه ای از پورت سریال

    دوست عزیز منم یه مشکل برای ارسال داشتم اما اینجوری حلش کردم.
    فرستنده:
    چیزی که می خوای ارسال کنی به string تبدیل کن بعد سند کن.
    Print Send

    گیرنده:
    $regfile = "m8def.dat"
    $crystal = 11059000
    $baud = 9600
    '$sim
    Config Lcdpin = Pin , Db4 = Portc.5 , Db5 = Portc.4 , Db6 = Portc.3 , Db7 = Portc.2 , E = Portc.1 , Rs = Portc.0
    Config Lcd = 16 * 2
    Cursor Off

    Dim S_temp As String * 6 , Temp As String * 5

    Cls
    Lcd "Reciver"

    Do
    Input S_temp
    If S_temp <> "" Then
    Temp = Mid(s_temp , 2 , 5) 'haegame daryaft (abtedaye reshte 1 CHR ezafe daryaft mishod).ba in dastor hazf shode ast.
    Cls
    Lcd "Temp: " ; Temp ; " C"
    S_temp = ""
    End If
    Loop
    End
    توضیح : مشکل من با ارسال این بود که کاراکتر اول اشتباه دریافت میشد و کاراکتر اخر حذف میشد.
    که من رشته دریافتی را یه کاراکتر بیشتر تعریف کردم و توی برنامه نویسی نیز کاراکتر اول رو حذف کردم.
    امید وارم کمکتون کرده باشم.
    می بینیم و نادیده می گیریم!

    دیدگاه


      #17
      پاسخ : دریافت دیتا به صورت آرایه ای از پورت سریال

      (یه چیزی می گم فقط نخندید.من بیشتر از 10 بار صفحه قبل رو دیدم و فکر کردم کسی جواب نمی ده،تازه دیدم جواب رفته صفحه بعدی!! راستی چجوری هر وقت جواب جدیدی اینجا اومد با ایمیل به من خبر می ده؟)

      محسن جان ممنون ولی من با CodeVision کار می کنم، اینی که نوشتید احتمالا با بسکامه من خیلی باهاش راحت نیستم.

      جواب اون سوالام رو هم آخرش نگرفتم که این قضیه وقفه دقیقا چجوریه، انگار کسی دقیق نمی دونه. درضمن من برای ارسال از یه آرایه از unsigned char استفاده می کنم که مقادیر هگز رو تو هر عنصرش می ریزم. بعد اونو با for و putchar می فرستم. این مشکلی نداره ولی مشابه این نمی تونم دریافت کنم. کدی که باهاش ارسال می کنم اینجوریه:


      unsigned char a[10]={0xC0,0x00,0xFD,0x32,0x00,0xFD,0x32,0x00,0xFD,0xC 0}

      for (i=0;i<10;i++) putchar(a[i]);

      شکل درست puchar یالا اینه که تو هر بار اجرای حلقه یه عنصر از a رو می فرسته و حلقه بعد عنصر بعدی رو نمی دونم چرا براکتی که جلوی a گذاشتم و یه i داخلش، درست نشون داده نمی شه. و البته مقدار عناصر دقیقا اینا نیست،همینجوری مثال زدم و لی خب با 0xC0 شروع می شه و با همینم تموم می شه و طول رشته دریافتی متغیره.
      ولی من نمی تونم با یه حلقه for و getchar مثل بالا دریافت کنم. اصلا اینکه دقیقا کجا کد دریافت رو بگذارم هم نمی دونم و واسه همین می خوام از وقفه استفاده کنم.

      ممنون می شم یکی واضح تر به سوالام جواب بده

      دیدگاه

      لطفا صبر کنید...
      X