Keli UARTs į ATMega161

J

jetal

Guest
Esu galvoja apie tai, kaip parašyti eksperimento tvarka taikyti C, kuris naudoja tiek aparatūros UARTs į Mega161 AVR lustą.Aš naudojant TBT AVR plėtrai.

Nuo ICCAVR padėti failą / mechaninė, matau, kad galiu naudoti putchar () ir getchar () siųsti ir gauti ženklų.Tačiau šios funkcijos nėra nustatyta, kurios UART pobūdis yra išsiųstas ar gautas iš.

Man atrodo, kad aš turiu parašyti savo kartą putchar0 () ir putchar1 () funkcijos, rašyti įvairių UARTs ir panašūs gauti.Matau, kad jos nėra sudėtinga darbo tai padaryti, bet tai yra lengviausias būdas ar yra ten ką nors geriau?

Jeigu kas nors turi padaryti kažką panašaus, kad būtų malonu matyti kodo fragmentą.

 
Taip, tai tiesa, bet Jūs patirsite jūs negalite naudoti standartines formatavimo pvz printf (), nes jis primena žemesnio lygio funkcijas, pvz putchar ()
Stark

 
Aš suprantu, kad aukštesnio lygio funkcijas, kaip ir printf () skambinti žemesnio lygio funkcijas, kaip putchar () ir jeigu aš su produkcija su iškelia String () ji taip pat nurodo putchar ().

Aš padariau pagal užsakymą putchar () įgyvendinti nutraukti varoma putchar () in 8.051.Tai nebuvo pakeisti biblioteka putchar () - Aš davė savo funkciją kitą pavadinimą.

Nekilnojamojo taškas mano užklausą: tai yra labiausiai elegantiška ar veiksmingas arba geriausias veikimo būdas?Aš esu "žalias" programuotojas ir aš norėčiau žinoti, kaip kas nors su daugiau patirties būtų požiūrio problema.

 
Norėčiau sugeneruoti rašyti ir skaityti funkcijas, priimti parametrus prievado numerį ir duomenis nusiųsti (ty wrSIO (portas, ilgis, char *)).Nepriklausomų buferiai kiekvienam UART.Atskiras nutraukti varoma low-level routines for I / O.Nenaudokite printf () ir formatą, naudokite sprintf ().

 

Welcome to EDABoard.com

Sponsor

Back
Top