اطلاعیه

Collapse
No announcement yet.

usart نرم افزاری

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

    usart نرم افزاری

    با سلام به دوستان گلم

    میخواستم بدونم این کدی که برای حالت usart نرم افزاری نوشتم درسته ؟ آخه هر کاری کردم عملا کار نکرد !

    کد:
    $regfile = "M8def.dat"
    $crystal = 8000000
     Config Portb = Output
    Open "comd.6:9600,8,n,1" For Input As #1
    Open "comd.7:9600,8,n,1" For Output As #2
    
    Dim A As Byte
    Dim B As Byte
    Dim C As Byte
    
    Do
    c = 159
    Printbin #2 , C
    Incr C
    Waitms 500
    If C = 180 Then Goto Main
    Loop
    
    Main:
    B = 0
    Portb = B
    
    Do
    Inputbin #1 , A
    If A = 10 Then Incr B
    If A = 20 Then Decr B
    Loop
    راستی این inverted که به تنظیمات نرم افزاریش لضافه میشه واسه چی هست ؟ oo: مثل این :

    کد:
    Open "comd.6:9600,8,n,1,inverted" For Input As #1
    Open "comd.7:9600,8,n,1,inverted" For Output As #2
    با تشکّر
    AV Maziton 100
    Render By Artlantis Studio
    [img width=346 height=100]http://maziyar123.persiangig.com/View.jpg[/img]

    #2
    پاسخ : usart نرم افزاری

    :angry: :angry: :angry:
    AV Maziton 100
    Render By Artlantis Studio
    [img width=346 height=100]http://maziyar123.persiangig.com/View.jpg[/img]

    دیدگاه


      #3
      پاسخ : usart نرم افزاری

      با سلام
      به این چیزی که نوشته اید دقت کنید :
      c = 159
      Printbin #2 , C
      Incr C
      یعنی : سی رو برابر با 159 کن بعد نمایش بده بعد یکی بهش اضافه کن بعد دوباره برابر با 159 کن بعد نمایشش بده و...عملا هیچ وقت مقدار سی از 160 بیشتر نمیشه که بخواد برنامه ادامه پیدا کنه !
      برای چی از دستور PRINT #2,C و INRUT استفاده نمی کنید ؟
      من برنامتون رو با اجازتون به صورت زیر تغییر دادم :

      $regfile = "M8def.dat"
      $crystal = 8000000
      Config Portb = Output
      Open "comd.6:9600,8,n,1" For Input As #1
      Open "comd.7:9600,8,n,1" For Output As #2
      Dim A As Byte
      Dim B As Byte
      Dim C As Byte
      C = 158
      Do
      Incr C
      Print #2 , C
      Waitms 100
      If C = 180 Then Goto Main
      Loop
      Main:
      B = 0
      Portb = B
      Do
      Input #1 , A
      Print #2 , A
      If A = 10 Then Incr B
      If A = 20 Then Decr B
      Print #2 , B
      loop


      دیدگاه


        #4
        پاسخ : usart نرم افزاری

        نوشته اصلی توسط mojtaba_led
        با سلام
        به این چیزی که نوشته اید دقت کنید :
        c = 159
        Printbin #2 , C
        Incr C
        یعنی : سی رو برابر با 159 کن بعد نمایش بده بعد یکی بهش اضافه کن بعد دوباره نمایشش بده و...عملا هیچ وقت مقدار سی از 160 بیشتر نمیشه که بخواد برنامه ادامه پیدا کنه !
        برای چی از دستور PRINT #2,C و INRUT استفاده نمی کنید ؟
        من برنامتون رو با اجازتون به صورت زیر تغییر دادم :

        $regfile = "M8def.dat"
        $crystal = 8000000
        Config Portb = Output
        Open "comd.6:9600,8,n,1" For Input As #1
        Open "comd.7:9600,8,n,1" For Output As #2
        Dim A As Byte
        Dim B As Byte
        Dim C As Byte
        C = 158
        Do
        Incr C
        Print #2 , C
        Waitms 100
        If C = 180 Then Goto Main
        Loop
        Main:
        B = 0
        Portb = B
        Do
        Input #1 , A
        Print #2 , A
        If A = 10 Then Incr B
        If A = 20 Then Decr B
        Print #2 , B
        loop
        سلام مجتبی جان دستت درد نکنه ولی من با دستور print یا همون ارسال کردن مشکل ندارم مشکل اصلی من تو دریافتش هست نمیدونم چرا دریافت نمیکنه به نظرتون اون پیکره بندی دریافت درسته ؟ منظورم اینه:

        کد:
        Open "comd.6:9600,8,n,1" For Input As #1
        AV Maziton 100
        Render By Artlantis Studio
        [img width=346 height=100]http://maziyar123.persiangig.com/View.jpg[/img]

        دیدگاه


          #5
          پاسخ : usart نرم افزاری

          بله درسته چون که توی پرتئوس درست عمل می کنه
          ببینید:

          دیدگاه


            #6
            پاسخ : usart نرم افزاری

            نوشته اصلی توسط mojtaba_led
            بله درسته چون که توی پرتئوس درست عمل می کنه
            ببینید:
            دستت درد نکنه ممنون بله همینطور که شما میگی درست کار میکنه احتمال میدم مشکل از مدار باشه به حرحال ممنو ن
            AV Maziton 100
            Render By Artlantis Studio
            [img width=346 height=100]http://maziyar123.persiangig.com/View.jpg[/img]

            دیدگاه

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