اطلاعیه

Collapse
No announcement yet.

یک سوال ساده در توابع usart

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

    یک سوال ساده در توابع usart

    با سلام من تازه با زبان c کار می کنم و در بضی چیزای ساده گیر کرده ام .لطفا کمک کنید.
    مشکل :!(UCSRA & (1<<RXC)) می خواستم مفهوم این جمله در اصل مفهوم & چیه ؟
    یا همین در مقاله آقای سپاس یار:key=pinc&0b0000001 :angry:
    یا اباصالح المهدی ادرکنی

    #2
    پاسخ : یک سوال ساده در توابع usart

    معمولا از & برای صفر کردن استفاده میکنند مثلا صفر کردن بیت اخر یا یا 4 بیت کم ارزش و یا .....
    تو اين جهان 7 ميلياردي من معني ندارد و اگه تو اين دنيا فقط 1 نفر وجود داشت باز هم من معني نداشت

    دیدگاه


      #3
      پاسخ : یک سوال ساده در توابع usart

      اول اینکه در زبان C++ عدد 0 بمعنای False یا نادرستی و عدد غیر صفر به معنای True یا درستی در نظر گرفته میشه. هر وقت که بخوایم صفر یا یک بودن یه بیت از یک ثبات رو چک کنیم بهترین راه اینه که با استفاده از عملگر & که کار AND رو میکنه بقیه بیت های اون ثبات رو صفر کنیم(در یک متغیر موقتی) و بعد بررسی کنیم که آیا اون ثبات موقتی بطور کامل صفر شده(False هست یا نه) یا نه.
      ! کار NOT رو انجام میده
      0b عدد باینری رو نشون میده

      دیدگاه


        #4
        پاسخ : یک سوال ساده در توابع

        سلام منم میخوام باc به زور یه برنا مه ای بنویسم
        مربوط به usart هستش تو بیسکام این دستوره
        If Udr = 130 Then Goto Stoop
        همین udr خودمون
        که برای در یافته اطلا عات یوزارده نمیدونم تلفزش درسته یا نه ؟ (یوزارد ؟)
        در هر صورت ما اگه دستور اونو بلدید ممنون میشم
        بر نامه بیسکامم هم اینه
        $regfile = "m32def.dat"
        $crystal = 8000000
        $baud = 9600
        Cursor Off
        Cls





        Dim Data1 As Byte
        Dim Speed As Byte
        Dim Datachar As String * 13
        Dim H As Byte



        Config Pina.4 = Output
        Config Pina.5 = Output
        Config Pind.3 = Input
        Config Pind.5 = Output



        ' DESINGED BY hamed
        Config Lcd = 16 * 2
        Config Lcdpin = Pin , Db4 = Pinb.1 , Db5 = Pinb.2 , Db6 = Pinb.3 , Db7 = Pinb.4 , E = Pina.1 , Rs = Pina.2

        Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Down , Prescale = 256
        Cls






        Main:
        Do
        If Pind.3 = 0 Then : Locate 1 , 15 : Lcd "h" : '
        Goto Usbb : End If



        Locate 1 , 1 : If Udr =< 100 Then : : H = Udr : End If
        Lcd " speed:" ; H ; "% "

        Waitms 20


        If H > 100 Then H = 100

        If Udr =< 100 Then : Speed = Udr : Speed = Speed * 2.5 : : End If

        Pwm1a = Speed
        If H = 100 Then Pwm1a = 128

        If Udr = 110 Then Goto Rightt
        If Udr = 130 Then Goto Stoop
        If Udr = 120 Then Goto Leftt

        Loop

        Rightt:


        Locate 2 , 1 : Lcd " right"
        Reset Porta.4
        Set Porta.5
        Pwm1a = Speed

        If H = 100 Then Pwm1a = 255
        Goto Main



        Leftt:

        Locate 2 , 1 : Lcd " left "
        Set Porta.4
        Reset Porta.5
        Pwm1a = Speed

        If H = 100 Then Pwm1a = 255
        Goto Main

        Stoop:

        Locate 2 , 1 : Lcd " stop "
        Set Porta.4
        Set Porta.5
        Pwm1a = Speed
        If H = 100 Then Pwm1a = 255
        Goto Main






        Usbb:
        If Pind.3 = 1 Then : Goto Main : End If


        If Pind.3 = 0 Then:
        Locate 2 , 1 : Lcd " stop "
        Set Porta.4
        Set Porta.5


        Locate 1 , 1
        Lcd " usb remove "
        Waitms 500
        Goto Usbb
        End If








        End
        [move][img width=133 height=100]http://bargiri.persiangig.com/aks/0.306310001356499787_taknaz_ir.gif[/img][/move]

        دیدگاه

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