پاسخ : برنامه نویسی XMEGA با Bascom-AVR
لطفا کد را بصورت کامل قرار دهید. ضمنا نسخه بسکام خود را هم اعلام کنید.
لطفا کد را بصورت کامل قرار دهید. ضمنا نسخه بسکام خود را هم اعلام کنید.
$regfile = "xm128a1def.dat" $crystal = 32000000 $hwstack = 64 $swstack = 64 $framesize = 64 $lib "xmega.lib" $external _xmegafix_clear $external _xmegafix_rol_r1014 Config Osc = Enabled , 32mhzosc = Enabled Config Sysclock = 32mhz , Prescalea = 1 , Prescalebc = 1_1 Enable Interrupts Enable Usarte1_rxc On Usarte1_rxc Pressuredata Enable Usarte0_rxc On Usarte0_rxc Radioswitch_isr Enable Usartc0_rxc On Usartc0_rxc Test1_isr Config Com1 = 9600 , Mode = Asynchroneous , Parity = None , Stopbits = 1 , Databits = 8 Open "COM1:" For Binary As #1 Config Com2 = 9600 , Mode = Asynchroneous , Parity = None , Stopbits = 1 , Databits = 8 Open "COM2:" For Binary As #2 Config Com3 = 9600 , Mode = Asynchroneous , Parity = None , Stopbits = 1 , Databits = 8 Open "COM3:" For Binary As #3 Config Com4 = 9600 , Mode = Asynchroneous , Parity = None , Stopbits = 1 , Databits = 8 Open "COM4:" For Binary As #4 Config Com5 = 9600 , Mode = Asynchroneous , Parity = None , Stopbits = 1 , Databits = 8 Open "COM5:" For Binary As #5 Config Com6 = 9600 , Mode = Asynchroneous , Parity = None , Stopbits = 1 , Databits = 8 Open "COM6:" For Binary As #6 Config Com7 = 9600 , Mode = Asynchroneous , Parity = None , Stopbits = 1 , Databits = 8 Open "COM7:" For Binary As #7 Config Com8 = 9600 , Mode = Asynchroneous , Parity = None , Stopbits = 1 , Databits = 8 Open "COM8:" For Binary As #8 Config Eeprom = Mapped $eeprom Dim A As Integer Dim B As String * 25 , Alt As String * 10 , Spd As String * 10 , E As String * 25 , F As String * 25 Dim C As Byte , C1 As Byte Dim Ar(5) As String * 10 Dim P As Integer Dim O As Byte Dim L As String * 25 Dim Positionarray(20) As Integer Dim Myposition(20) As String * 25 Dim R1 As String * 1 Dim R2 As String * 10 Dim R3 As String * 10 Dim Mytimer As Integer Mytimer = 0 Do NOP Loop Pressuredata: Disable Usarte1_rxc Do C = Inkey(#6) B = B + Chr(c) Loop Until C = 13 E = "" For A = 0 To Len(b) Step 1 If Left(b , 1) <> "$" Then E = E + Left(b , 1) End If Delchar B , 1 Next F = Trim(e) A = Instr(b , ",AS=") C1 = Split(f , Ar(1) , ",") Delchar Ar(1) , 1 Delchar Ar(1) , 1 Delchar Ar(1) , 1 Print #8 , " Alt : " ; Ar(1) Delchar Ar(2) , 1 Delchar Ar(2) , 1 Delchar Ar(2) , 1 Print #8 , " Spd : " ; Ar(2) Waitms 100 Enable Usarte1_rxc Return Radioswitch_isr: Disable Usarte0_rxc Dim Rv As Byte Dim Radiovalue As String * 5 Rv = Inkey(#5) If Rv <> 0 Then Print #8 , " Radio In : " ; Rv Else Print #8 , " Radio Input is empty " End If Waitms 100 Enable Usarte0_rxc Return Test1_isr: Disable Usartc0_rxc Dim Rv2 As Byte Dim Radiovalue2 As String * 4 Dim Radiovalue2_2 As String * 4 Rv2 = Inkey(#1) Radiovalue2 = Radiovalue2 + Chr(rv2) If Rv2 = 13 Then ' Radiovalue2_2 = Trim(radiovalue2) Print #8 , " Com1 : " ; Radiovalue2 Radiovalue2 = "" ' Radiovalue2_2 = "" End If 'Waitms 100 Enable Usartc0_rxc Return
Config Priority = Static , Vector = Application , Lo = Enabled Enable Interrupts Enable Usarte1_rxc , Lo On Usarte1_rxc Pressuredata_isr Enable Usarte0_rxc , Lo On Usarte0_rxc Radioswitch_isr Enable Usartc0_rxc , Lo On Usartc0_rxc Test1_isr
Config Tcd0 = Normal , Prescale = 8 Enable Tcd0_ovf On Tcd0_ovf Itimer
Itimer: Mytimer = Mytimer + 1 Print #8 , " From Timer : " ; Mytimer Return
دیدگاه