CodeVision AVR printf funkciju otrajam UART! Need Help

E

ECSD

Guest
Hey guys: Jebkurš, kas tur vienu lietošanas CodeVision C kompilatoru ar ATMEGA162? Es mēģina grūti saprast, kā izmantot printf, liek, scanf funkcijas gan UART. Jebkura ideja vai, piemēram kodu? i am izmantojot pārtraukt gan UART un konfigurēt to ar CodeWizardAVR. Bet prinf, scanf, liek neatbalsta! Tikai Putchar atbalstīja gan USART. ! Neatliekamā palīdzība vajadzīga! Paldies
 
CodeWizard radīs šo kodu jūsu USART1:
Code:
 / / Get rakstzīmi no USART1 Receiver # izmanto Pragma + char getchar1 (spēkā neesošs) {char statusu, datu, savukārt (1) {while (((statuss = UCSR1A) un RX_COMPLETE ) == 0); datu = UDR1, ja ((statuss & (FRAMING_ERROR | PARITY_ERROR | DATA_OVERRUN)) == 0) atgriešanās datu;};} # Pragma izmanto-/ / Write raksturs USART1 raidītāja # izmanto Pragma + neesošu putchar1 (char c) {while ((UCSR1A & DATA_REGISTER_EMPTY) == 0); UDR1 = c;} # Pragma izmanto-
# Pragma izmantot + ir ir šādas funkcijas pēc šā pārrakstīs Standarta printf uc bāzes ikdienas (novirzīt uz UART1).
Es esmu mēģina grūti saprast, kā izmantot printf, liek, scanf funkcijas gan UART.
Jūs nevarat izmantot gan UART0 un UART1 par printf uc, izņemot yopu rakstīt savu.
 
Hi budhy: Paldies par jūsu atbildi. Jā, es saprotu. Es lietoju putchar1 un putchar0 tagad. Bet es vēlos, lai uzzinātu vairāk par to, kā rakstīt savu printf1 un printf0, puts0 un puts1 un tt vairāk nekā uzrakstīt stdio funkciju. Hope, lai saņemtu kādu piemēru kodu no apmēram vienu ar pieredzi. Ar printf scanf funkcija ir pieejama gan USART, mēs varam izmantot, lai sazinātos ar GSM modemu, datoru un citu ASCII protokola ierīcēm vieglāk, jo ATMEGA nāk ar 2 USART ... Es vēlos pārrakstīt scanf lai scanf0 un scanf1, lai es varētu izmantot daudz vieglāk lasāms augsta līmeņa C manā kodēšanas galvenais rutīnas. Un es ceru, lai uzzinātu vairāk par to, kā rakstīt savu funkciju, kas ļauj man, lai pārrakstītu stdio citām ierīcēm, piemēram, SPI, un I2C.
 

Welcome to EDABoard.com

Sponsor

Back
Top