با سلام
من یه برنامه دارم که با پورت سریال دیتای کنترلی میفرسته با استفاده از پورتت سریال مثل یه ریموت کنترلر
اما برنامه ای که نوشتم تا زمانی که دستور ارسال میشه میکرو کار میکنه
چجور میتونم در زمانی که دستور سریالی نمیفرستم میکرو توی وقفه سریال نمونه و بتونه کار دیگه ای مثل چشمک زدن یه ال ای دی رو انجام بده و زمانی که فرمانی دریافت میکنه وقفه سریال فعال بشه؟
من یه برنامه دارم که با پورت سریال دیتای کنترلی میفرسته با استفاده از پورتت سریال مثل یه ریموت کنترلر
اما برنامه ای که نوشتم تا زمانی که دستور ارسال میشه میکرو کار میکنه
چجور میتونم در زمانی که دستور سریالی نمیفرستم میکرو توی وقفه سریال نمونه و بتونه کار دیگه ای مثل چشمک زدن یه ال ای دی رو انجام بده و زمانی که فرمانی دریافت میکنه وقفه سریال فعال بشه؟
کد:
$regfile = "m8def.dat" $crystal = 3686400 Config Portd.0 = Input Config Portb.0 = Output Config Portd.7 = Output Config Portd.6 = Output Config Portb.1 = Output Config Portd.5 = Output Config Portb.4 = Output Config Portb.3 = Output Config Portc = Input Dim J As String * 1 Dim T As String * 4 Dim Hh As String * 1 Dim Pp As String * 1 Dim Ch As String * 1 Dim Uu As String * 1 Dim Ddf As String * 1 Dim Ddf1 As String * 1 Dim Cha As String * 1 Dim Utb As String * 4 Dim Uf1 As String * 4 Dim Caracter As String * 1 Dim Z0 As Byte , Z1 As Byte , Z2 As Byte , Z3 As Byte , Z4 As Byte , Z5 As Byte , Z6 As Byte Dim W As Byte Dim Rr As Byte Dim Chb As Byte Dim E As Byte Dim Ut As Byte Dim Uf As Byte Dim Dip As Byte Config Watchdog = 16 Config Serialin = Buffered , Size = 7 $baud = 9600 Enable Urxc Enable Interrupts Dip = Pinc Do Inputbin Z0 , Z1 , Z2 , Z3 , Z4 , Z5 , Z6 Rr = Asc(z0) If Rr = 255 Then Set Portb.0 W = Asc(z1) Ut = Asc(z3) Utb = Bin(ut) Uu = Mid(utb , 8 , 1) If W = Dip And Uu = "0" Then Uf = Asc(z2) Uf1 = Bin(uf) Ddf1 = Mid(uf1 , 6 , 1) If Ddf1 = "1" Then Lcd "pain" Set Portd.6 Else Reset Portd.6 End If Ddf = Mid(uf1 , 7 , 1) If Ddf = "1" Then Locate 1 , 6 Lcd "chap" Set Portd.7 Else Reset Portd.7 End If End If Else Start Watchdog End If Loop End
دیدگاه