AVR CodeVision printf funkcija antrajam UART! Reikia pagalbos

E

ECSD

Guest
Hey guys: nors ten naudoti CodeVision C kompiliatorių su ATMEGA162? Aš stengiuosi išsiaiškinti, kaip naudoti printf, kelia, scanf funkcija tiek UART. Bet kokią idėją ar pavyzdys kodo? aš naudoju nutraukti tiek UART ir konfigūruoti ją CodeWizardAVR. Bet prinf, scanf, kelia nepalaikoma! Tik Putchar tiek USART. ! Urgent help needed! Ačiū
 
CodeWizard bus sukurti šį kodą savo USART1:
Code:
 / / Gauti simbolį į USART1 imtuvo # pragma naudojamas + char getchar1 (void) {char statusą, duomenis,, o (1) {Nors (((status = UCSR1A) ir RX_COMPLETE ) == 0), duomenų = UDR1; jei ((statusas ir (FRAMING_ERROR | PARITY_ERROR | DATA_OVERRUN)) == 0) Grįžti duomenys;};} # pragma / / Rašyti simbolį USART1 siųstuvas # pragma + void putchar1 (char c) {while ((UCSR1A & DATA_REGISTER_EMPTY) == 0); UDR1 = c;} # pragma
# pragma naudojamas + tai šią funkciją po to bus perrašyti standartas printf tt pagrindinė rutina (nukreipiamasis iki UART1).
Bandau sunku suprasti, kaip naudoti printf, kelia, scanf funkciją tiek UART.
Jūs negalite naudotis tiek. UART0 ir UART1 printf ir tt,, išskyrus yopu rašyti savo.
 
Hi budhy: Ačiū už atsakymą. Taip, aš suprantu. Aš naudoju putchar1 ir putchar0 dabar. Bet aš nori daugiau sužinoti, kaip parašyti savo. Printf1 ir printf0,. Puts0 & puts1 ir tt per parašyti stdio funkciją. Tikimės, kad gauti šiek tiek kodo pavyzdį iš kai kurių vieną su patirtimi. Su printf scanf tiek USART funkcija prieinama, mes galime naudoti lengviau, nes bendrauja su GSM modemu, PC ir kitų ASCII protokolų prietaisų ATMEGA ateina su 2 USART ... Noriu perrašyti scanf scanf0 & scanf1, kad galėčiau pasinaudoti aiškesni aukšto lygio C mano kodavimo pagrindinio rutinos. Ir aš tikiuosi, kad daugiau sužinoti apie tai, kaip parašyti savo funkciją, kuri leidžia man perrašyti kitų prietaisų, tokių kaip SPI ir I2C stdio.
 

Welcome to EDABoard.com

Sponsor

Back
Top