سلام
من یک برنامه ویژوال بیسیک دارم که چند عدد 32 بایتی R0 -R5 به صورت Hex برای میکرو میفرسته در برنامه میکرو با کدویژن وقفه دریافت USART فعاله حالا من در دریافت هر عدد به جای اینکه 4 بار اینتراپت بگیرم 8 بار اینتراپت میگیرم یعنی 32 بیت در8 مرحله دریافت میشه 4بیت 4بیت(نیبل-نیبل) ؟؟؟؟؟؟؟؟
برای مثال اگر R0=150A3010
باشه اعداد 1و5و0وAو3و0و1و0 دریافت میشه
من می خوام 15و 0Aو30 و10 دریافت بشه
لطفا در مورد علت این امر و رفع آن کمک کنید با تشکر
MSComm1.Settings = "9600,N,8,1" ' Set UART parameters
MSComm1.CommPort = 1 ' Set the port number
MSComm1.PortOpen = True ' Required, might lock port
......
Global R(0 To 5) As Long
....
R(1) = 2 ^ 24 * (Prescaler - 4) / 4 + Phase * 2 ^ 12 + MOD_
......
Private Sub Update_R1_Click()
...
MSComm1.Output = Hex(R(1), 1)
....
End Sub
من یک برنامه ویژوال بیسیک دارم که چند عدد 32 بایتی R0 -R5 به صورت Hex برای میکرو میفرسته در برنامه میکرو با کدویژن وقفه دریافت USART فعاله حالا من در دریافت هر عدد به جای اینکه 4 بار اینتراپت بگیرم 8 بار اینتراپت میگیرم یعنی 32 بیت در8 مرحله دریافت میشه 4بیت 4بیت(نیبل-نیبل) ؟؟؟؟؟؟؟؟
برای مثال اگر R0=150A3010
باشه اعداد 1و5و0وAو3و0و1و0 دریافت میشه
من می خوام 15و 0Aو30 و10 دریافت بشه
لطفا در مورد علت این امر و رفع آن کمک کنید با تشکر
MSComm1.Settings = "9600,N,8,1" ' Set UART parameters
MSComm1.CommPort = 1 ' Set the port number
MSComm1.PortOpen = True ' Required, might lock port
......
Global R(0 To 5) As Long
....
R(1) = 2 ^ 24 * (Prescaler - 4) / 4 + Phase * 2 ^ 12 + MOD_
......
Private Sub Update_R1_Click()
...
MSComm1.Output = Hex(R(1), 1)
....
End Sub
دیدگاه