Asinhronā CCS-C programmēšana PIC

Y

yuenkit

Guest
Čau, Man ir vajadzīga palīdzība ar kodu Asinhrona pārraides protokols CCS-C. Es, izmantojot vienu IO pin. Tāpēc es cann't izmantot "# izmantot RS232" (kas izmanto vienu XMIT un vienu PS pin). Kāds man ppl parasti izmanto ASM ar kodu Async protokolu, nevis C, jo saspringts laiks. 1. Kā kodu, to, izmantojot C? Es zinu, tas ir iespējams, bet es dont zināt, kā aprēķināt kavēšanos un laiku. 2. Ja man ir jāizmanto ASM, i būs tendence izmantot # ASM, kas sajauc ar C kodu. Problēma ir, tas var izjaukt manu kodu, jo C un ASM var izmantot to pašu vietu atmiņā, un es nezinu, jau iepriekš, kur C izmanto datu glabāšanai. Paldies, lai atrisinātu savu problēmu.
 
In microcontrollers, viss ir sinhrons ar pulksteni. Vai jūs domājāt protokolu ar mainīgu kavēšanās starp biti? Ja tā, kāda veida aizkavēšanās vēlaties?
 
Piemēram, bitu kavēšanās ir 104 mums. Tomēr papildus 104 mums, lai cilpa pašu par sevi rada kavēšanos, shift_left rada kavēšanās, un ik instrukcija arī aizkavēt. Aprēķināt šīs kavēšanās varētu veikt dažas pūles.
Code:
 Kods: # define BIT_DELAY 104; par spēkā neesošu RS232_xmit (BYTE dati) {int i; output_low (RS232_XMIT); delay_us (BIT_DELAY), (i = 8; i = 0; i -!) {Output_bit (RS232_XMIT, shift_left (un datus, 1, 0)); delay_us (BIT_DELAY);} output_high (RS232_XMIT); delay_us (BIT_DELAY);}
Es tikai ņemt RS232 kā mācīšanās veidu Async. Pēc dienas beigās man ir kods, Async vienu pin IO citu viedkarte ierīci. Paldies, lai atrisinātu savu problēmu. [Size = 2] [color = # 999.999] Pievienots pēc 21 minūtēm: [/color] [/size] Tas ir mans shematisks. Man nepieciešams, lai programma PIC saņemt un pārraidīt datus, izmantojot vienu IO pin.
 
104us ir diezgan saspringts. Attiecībā uz šādiem stingriem termiņiem, jums ir darīt to asm. Jūs zināt, kā aprēķināt dealys no ASM labi? Ja jūs izmantot CCS, jūs varat to apskatīt LST failu.
 

Welcome to EDABoard.com

Sponsor

Back
Top