att börja med AVR.
att börja med AVR.
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
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
-
- EF Sponsor
- Inlägg: 2109
- Blev medlem: 27 augusti 2005, 20:57:58
- Ort: Borlänge
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
Bra guider finns på AVR-freaks
Online manual till avr-gcc finns på
http://www.nongnu.org/avr-libc/user-manual/index.html
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
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
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

//Alexander
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
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
Det finns nog i någon .h-fil. Sök i biblioteket efter setbit/set_bit eller liknande.
Kort googling gav det här:
källa:
http://www.avrfreaks.net/index.php?name ... 64&start=0
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)
http://www.avrfreaks.net/index.php?name ... 64&start=0