Sida 1 av 1

att börja med AVR.

Postat: 11 september 2008, 20:47:38
av eAk
Nu är det så att jag sitter här och läser databald för atmega168
men det känns rätt tungt för det är långt ifrån lättläst som pic databladen.

Vad jag vill ha är ett datablad som går igenom att växla från pic till avr.
eller ett datablad som snabbt går igenom vad funktioner heter i mcu'n och hur dom används i C med winavr. Så att jag kan läsa igenom det feta databladet när jag vill gå djupare på vissa punkter.

MVH Emil

Postat: 11 september 2008, 21:31:43
av thepirateboy
Börja med att göra ett enkelt program som blinkar en diod, du kan inte lära dig allt på en gång. Bara att fråga om du kör fast. Någon guide som behandlar hur man går från PIC och assembler (för det är väl det du använt) till AVR tror jag inte finns, men jag kan ha fel.

Bra guider finns på AVR-freaks

Online manual till avr-gcc finns på
http://www.nongnu.org/avr-libc/user-manual/index.html

Postat: 11 september 2008, 22:13:57
av eAk
phu vilket jobb det verkar vara att ställa och nolla olika ben i C med winavr

men men man vänjer sig väl.

nu börjar jag förstå exempelkoden som följde med robot controllern jag beställde från lawicel häromdagen.
så det är väl bara att koppla på ett servo och min sharp avstånds mätare.
och se ifall jag kan få igång grejjerna på atmega.
Hittade en gör fin site på nätet med information om C programering med winavr.

http://winavr.scienceprog.com

Postat: 12 september 2008, 15:22:21
av Anonym2
Jag har gjort en liten lathund för att sätta 0 och 1 till olika ben, och när extern pull upp/down ska användas. Efter ett tag så börjar det krypa fram lite logik i det hela, men för mig som nybörjar är det fullständigt ologiskt varför man ska skriva tecken som &=~_ för att sätta ben till etta :)


//Alexander

Postat: 12 september 2008, 15:31:47
av bearing
Det brukar finnas makron för att sätta bitar i register, typ: BITSET(PORTB,4);.

Om du tycker det är ologiskt borde nog försöka förstå. Det handlar om bitvis OR, AND och NOT. |-tecknet betyder OR, &-tecknet betyder AND, ~-tecknet betyder NOT.

http://en.wikipedia.org/wiki/Bitwise_operation

Postat: 12 september 2008, 17:12:22
av eAk
jo jag förstår hur det funkar.
har skrivit definitioner för att ställa olika ben på/av nu.
men jag har inte sett något om macron för att ställa visa bitar hit och dit som man gör med microchip c18 biblioteket.

Postat: 12 september 2008, 17:58:57
av bearing
Det finns nog i någon .h-fil. Sök i biblioteket efter setbit/set_bit eller liknande.

Kort googling gav det här:

Kod: Markera allt

#define BIT(x) (1 << (x))
#define SETBITS(x,y) ((x) |= (y))
#define CLEARBITS(x,y) ((x) &= (~(y)))
#define SETBIT(x,y) SETBITS((x), (BIT((y))))
#define CLEARBIT(x,y) CLEARBITS((x), (BIT((y))))
#define BITSET(x,y) ((x) & (BIT(y)))
#define BITCLEAR(x,y) !BITSET((x), (y))
#define BITSSET(x,y) (((x) & (y)) == (y))
#define BITSCLEAR(x,y) (((x) & (y)) == 0)
#define BITVAL(x,y) (((x)>>(y)) & 1)
källa:
http://www.avrfreaks.net/index.php?name ... 64&start=0