Forum » Programiranje » [C] - Atmel AVR
[C] - Atmel AVR
slovencl ::
Prepisano iz kode za mikrokontroler:
void uart0Init(uint16_t baud, uint8_t mode, uint8_t fmode)
{
// set port pins for UART0
PINSEL0 = (PINSEL0 & ~U0_PINMASK) | U0_PINSEL;
U0IER = 0x00; // disable all interrupts
U0IIR; // clear interrupt ID
U0RBR; // clear receive register
U0LSR; // clear line status register
Kakšna je finkcija ukaza U0RBR;? A ima sploh kakšno vlogo?
void uart0Init(uint16_t baud, uint8_t mode, uint8_t fmode)
{
// set port pins for UART0
PINSEL0 = (PINSEL0 & ~U0_PINMASK) | U0_PINSEL;
U0IER = 0x00; // disable all interrupts
U0IIR; // clear interrupt ID
U0RBR; // clear receive register
U0LSR; // clear line status register
Kakšna je finkcija ukaza U0RBR;? A ima sploh kakšno vlogo?
- spremenilo: CCfly ()
Matako ::
To kar imaš tukaj je ali en kup makrov, ki olajšajo programiranje tega mikrokontrolerja - katerikoli že je.
Spominja pa na kak UART serijski kontroler...
Kakorkoli, očitno ne gre za nobeno vgrajeno ključno besedo lai funkcijo iz standardnih knjižnic.
Kar rabiš je dokumntacija za ta mikrokontroler in/ali to razvojno okolje/knjižnice.
Sploh pa.. ni nujno, da je C++ (ne vidi se iz kode) - razvojn okolja za mikrokontrolerje v glavnem raje uporabljajo C.
Spominja pa na kak UART serijski kontroler...
Kakorkoli, očitno ne gre za nobeno vgrajeno ključno besedo lai funkcijo iz standardnih knjižnic.
Kar rabiš je dokumntacija za ta mikrokontroler in/ali to razvojno okolje/knjižnice.
Sploh pa.. ni nujno, da je C++ (ne vidi se iz kode) - razvojn okolja za mikrokontrolerje v glavnem raje uporabljajo C.
/\/\.K.
Zgodovina sprememb…
- spremenil: Matako ()
ql000 ::
Ta funkcija nastavi UART kanal 0. Tisti klici odspodaj U0IER = 0x00 itd. nekaj naredijo z ustreznimi registri (postavijo določene zastavice v registru) v mikrokontrolerju. Fajn bi bilo vedet, za kater mikrokontroler gre in v katerem razvojnem okolju je ta koda napisana.
P.S.
Sem že našel. Gre za družino Atmelovih AVR uC-jev. (Me love Google! )
P.S.
Sem že našel. Gre za družino Atmelovih AVR uC-jev. (Me love Google! )
Zgodovina sprememb…
- spremenil: ql000 ()
slovencl ::
Sploh ni avr ampak je philipsov arm. Za kaj je kateri register ni važno. Moti me ukaz ;. Pa če je problem ker je to za mikrokontroler bom pa tako napisal:
int i=100;
i; // kaj je smisel tega?
int i=100;
i; // kaj je smisel tega?
ql000 ::
Za kaj je kateri register ni važno.
?!!?!!!?
Sploh ni avr ampak je philipsov arm.
Malo sem pogooglal in prvi izpis, ki ga je vrgel ven se je nanašal na AVR-e. Očitno imajo funkcije ista imena.
Tist
int i = 100; i;
int (verjetno 32 biten, ne poznam arm-ov, delam s PIC-i) samo priredi tip spremenljivke i. Tisti i sam po sebi pa pojma nimam kako funkcijo ima. Jaz bi rekel, da nobene.
Gundolf ::
> int i=100;
> i; // kaj je smisel tega?
To nima smisla.
> U0RBR; // clear receive register
To po drugi strani ima lahko smisel, če je U0RBR makro, ki nekaj naredi.
> i; // kaj je smisel tega?
To nima smisla.
> U0RBR; // clear receive register
To po drugi strani ima lahko smisel, če je U0RBR makro, ki nekaj naredi.
blay44 ::
Ko pridem domov moram spisati knjižnico, za tamalega brata, modelarja, da se ne bo lomil v avr gcc-ju. Koda bi bila bolj v stilu pythona.
Moj primarni jezik je bejzik, pa premišljujem, če bi to v Cju šlo.
Tist "mode "naj vas ne moti.
knjižnica kontrola pinov .h
knjižnica .c
main.c
Tnx
Moj primarni jezik je bejzik, pa premišljujem, če bi to v Cju šlo.
Tist "mode "naj vas ne moti.
knjižnica kontrola pinov .h
#define portB &PORTB //naslov porta B ...... prototip funkcije: void PinMode(volatile *port, uint8_t pin, uint8_t mode); //je volatile potreben? .........
knjižnica .c
void PinMode(volatile *port, uint8_t pin, uint8_t mode) ; { foo; *port I= (mode << pin); // a bi to delovalo pravilno? foo; }
main.c
.... PinMode(portB, pin, 1); // pin na vhod ali izhod, itd... .......
Tnx
blay44 ::
#define portDDRB &DDRB //naslov UI registra B
Tkole je bolj jasn.
Na biciklu sem še druge stvari premleval. A noben ne ve, če je to pravilni uporaba pisanja po registrih preko funkcije?
Preden grem spat. Dela ko metek.
Zgodovina sprememb…
- spremenil: blay44 ()
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | [C] LPC1343 - UART - AT commandsOddelek: Programiranje | 1126 (1016) | JanezovJanez |
» | Siemens m35 - rs232 - AT commandsOddelek: Mobilne tehnologije | 3145 (2331) | JanezovJanez |
» | C in funkcije ter #defineOddelek: Programiranje | 3936 (2297) | misek |
» | priklop lcd preko i2cOddelek: Elektrotehnika in elektronika | 1500 (1269) | cefizl88 |
» | c++ two dimensional array v classuOddelek: Programiranje | 1397 (1200) | Senitel |