hallo,
ik heb net AVR Studio gedownload, maar ik heb geen flauw idee hoe, of waar ik moet beginnen met het programmeren, en google leverde ook al niet veel op 
is er nou echt nergens een handige tutorial te vinden voor AVR Studio? of is die programmeertaal net dezelfde als een PIC?
edit: vb. ik wil een knipperlichtje maken, hoe begin ik aan de code ?
[Bericht gewijzigd door the-x op ]
elektron_
beetje gek
kijk eens op de site van Marcel, die heeft een tutor staan.
één van de:
http://www.jelectronique.com/WinAVR.php
[Bericht gewijzigd door elektron_ op ]
hmmm, in het frans 
en AVR Studio is toch een asm programmer?
edit: en dat programmaatje is winAVR, en niet AVR Studio.
[Bericht gewijzigd door the-x op ]
Marcel
AVR C tutorial http://expand.xs4all.nl/avr
AVR Studio is een ontwikkelomgeving voor zowel ASM als C. Voor C moet je wel eerst de AVRGCC compiler op je systeem installeren. Voor ASM is http://www.avrbeginners.net/ een goed begin. De ASM voor PIC en AVR komen in grote lijnen wel overeen, maar de AVR heeft wel een veel uitbebreidere instructieset. In de datasheet van je AVR staat de hele instructieset beschreven. Voor C heb ik een begin van een nederlandstalige tutorial geschreven. Zie link onderaan.
elektron_
beetje gek
Op 15 april 2006 10:46:22 schreef the-x:
AVR Studio is toch een asm programmer?
AVR wordt meestal gebruikt om het resultaat van je programma
te bekijken in simulatie.
Je kan er ook een programma schrijven in assembly.
Je kan AVR Studio gebruiken als IDE voor WINAVR.
Voor wat wil je AVR Studio gebruiken ?
Ik vind het wel raar dat je eerst een programma installeerd
en U pas nadien afvraagd wat je ermee gaat doen ?
Ponyprog kan je gebruiken om te proggen.
( misschien kan het ook in AVR Studio )
haha,
ik wil met AVR Studio programmaatjes schrijven, vb. een knipperlichtje, het opslaan, en dan via een progje omzetten naar een .hex file.
edit: link van marcel is een hele goeie, er begint het een en het ander duidelijk te worden voor mij.
edit2: van alles wat ik nu al begrijp: kan dit programmaatje werken?
.NOLIST
.LIST
.DEF mp = R16
;
;vanaf hier***
rjmp main
main:
ldi mp,0b11111111
out DDRB,mp
;***tot hier moet er altijd staan, dat wil zeggen dat je alle poorten op B als uitgang neemt.
; alles vanaf hieronder is dus eigenlijk het programmaatje!
;
loop:
ldi mp,0x00 ;hier zet je allemaal nullen in het register.
out PORTB,mp ;je neemt de nullen uit het register, en zet ze op de poorten B.
ldi mp,0xFF ;hier zet je allemaal enen in het register.
out PORTB,mp ;je neemt de enen uit het register, en zet ze op de poorten B.
rjmp loop ;rjmp wil zeggen ga naar. loop is de naam van het programmaatje dan.
;
; ldi betekend dat je een waarde zet in het register.
; out betekend dat je die waarde naar je poorten zend.
[Bericht gewijzigd door the-x op ]
sven
pointers don't kill programs, programmers kill programs
ik vond www.avrfreaks.net een goed startpunt.
moet je registreren, en zit al met zoveel accounts dat ik er zoveel mogelijk probeer voorbij te lopen 
sven
pointers don't kill programs, programmers kill programs
tja, maar ik heb tot nu toe nog geen last met gehad (spam ofzo) en het is echt wel een goede bron van info
ok.
hij staat allesinds al bij men bladwijzers.
ik heb net eindelijk mijn asm code in een .hex gekregen;
was vergeten .equ PORTB... & .equ DDRB... toe te voegen 
compiler gaf steeds error van undefind symbol 
Marcel
AVR C tutorial http://expand.xs4all.nl/avr
Op 15 april 2006 22:44:51 schreef the-x:
ok.hij staat allesinds al bij men bladwijzers.
ik heb net eindelijk mijn asm code in een .hex gekregen;was vergeten .equ PORTB... & .equ DDRB... toe te voegen
compiler gaf steeds error van undefind symbol
Er is een include file voor elke AVR met die definities. Gewoon die file inlcuden en je hebt alle definities zoals ze in de datasheet gebruikt worden. Verder zal je code wel werken, maar wel zo snel dat je de LED niet ziet knipperen. Je hebt namelijk geen delay ingebouwd. Je LED gaat nu (afhakelijk van de snelheid van de AVR) met een paar honderd kHz knipperen.
als ik die file include, dan krijg ik de volgende error bij het compilen naar het .hex file:
E:\AVR programmer\AvrAssembler\Appnotes\8515def.inc(293): error: Attempt to redefine keyword 'or'
het gaat fout bij deze regel:
.equ OR =3vandaar dat ik het appart in men code zet...
Men code... Lijkt alsof het iets met paarden voor een wagentje te maken heeft. Ga er toch maar vanuit dat het over iets voor een AVR gaat...
Welke taal gebruik je? Neem aan AVR assembly. Recent met de 2313 gewerkt, daar krijg ik die melding niet, staat dezelfde .equ in het includefile. Ik heb waarschijnlijk wel een wat oudere versie van AVRstudio, maar dat mag de pret niet drukken. Het is overigens de definitie van de overrunflag van de UART.
Type afhankelijke defines in je code definieren is 'bad practice'. Alles is zo lekker portable bij AVRs en dan ga je dat om zeep helpen door eea. hard in je source te zetten. Jammer hoor!
ik weet het Marco,
als je wilt, post jij eens even je 8515def.inc file.
ik zal die eens gebruiken, misschien geeft hij dan geen errors;
maar wat moet ik doen? ik weet niet waar de fout ligt :s
edit: ik weet het wel, maar ik weet niet wat er fout is, dus kan ik het ook niet oplossen...
[Bericht gewijzigd door the-x op ]
Die zal niet anders zijn dan de jouwe. Die 8515 is ook al wat ouder 
Wat doet AVR studio als je een leeg file met alleen die include compileert? (wellicht heb je tenminste 1 statement nodig om het zinnig te laten lijken, maar dat kan zo moeilijk niet zijn).
Ik zit nu niet thuis, dus dat wil even niet. Geloof ook niet dat iemand het leuk gaat vinden als ik hier dat include file ga posten
Mocht ik morgen (maandag) nog even de gelegenheid hebben, zal ik 'm je wel mailen...
knipperlichtje maken?
probeer deze eens..
.include "m8515def.inc"
.def temp = r16
Reset:
ldi temp,High(RAMEND)
out SPH,temp
ldi temp,low(RAMEND)
out SPL,temp ; Stackpointer init
ldi temp,$FF
out ddrb,temp ; PortB = output
Start:
ldi temp,$00
out portb,temp ; PortB = 0
;rcall delay
ldi temp,$FF
out portb,temp ; PortB = 255
;rcall delay
rjmp Start
delay:
Om het te kunnen zien moet je zelf ff een wachtlus maken.
maar in de debugger kun je het zo zien..
zo te zien ben jij een stukje code vergeten 
je begint met
delay:
en daar stopt het
ook zie ik dat je die raadpleegt, maar er staat nix
dus progje zal niet werken 
edit: heb me net even bezig gehouden met mijn progje: mijn include file; ik heb die regel er gewoon uitgeknipt waar hij fout gaf, en nou is het gelukt... 
[Bericht gewijzigd door the-x op ]
weer hetzelfde, error:
E:\AVR programmer\AvrAssembler\Appnotes\85152def.inc(295): error: Attempt to redefine keyword 'or'
doe ik dan dubbelklik op die errorregel; dan gaat hij naar deze regel in het include file:
.equ OR =3
nouja, ik heb gewoon die regel weggeknipt, en weer opgeslaan, en dan gaf hij die error niet. en alles werd weer gecompileerd dus... ik hoop dat dat geen probleem oplevert.
edit: ow ja, niet op het 2tje letten die ik erbij heb gevoegd, bij de naam van het file, ik wou gewoon mijn ander niet kwijt geraken 
[Bericht gewijzigd door the-x op ]
Dat je met dat file dezelfde melding zou krijgen, was natuurlijk wel te verwachten: het doet hetzelfde (als het al niet identiek is).
Heb je al eens op de site van Atmel of op AVR freaks gekeken of dit wellicht een rotje is in de versie van AVRstudio die jij hebt? Het is niet de bedoeling dat je dit soort files moet editen voor gebruik...
Voor nu heb je inderdaad een mooie work-around, maar grmbl.. Argh... 
als ik mijn error intik op google, krijg ik meldingen van programma's die ik nog nooit gezien heb 
heb geen zin om daar de AVR Studio meldingen te gaan uitzoeken, terwijl je dan nog steeds niet zeker bent of er een oplossing instaat... 
edit: kon het niet laten om het nog eens te proberen 
je hebt gelijk, bugje in AVR studio, eens zoeken naar een update.
Assembler 2 is still buggy.
Attempt to redifine keyword OR
.equ OR =3
The above line is in the 8535.inc file
komt van AVR Freaks forum.
edit2: ja lap: http://www.atmel.com/dyn/products/tools_card.asp?tool_id=2725
ik heb de nieuwste versie.
[Bericht gewijzigd door the-x op ]
Slordig van Atmel... Je hebt een work-around, met 1 of 2 weken zal er wel een fix zijn voor zoiets elementairs.
ok thx.
btw, heb jij een AVR?
zou je dan eventueel ( hoeft niet hé, gwn om te kijke of men progje werkt ) deze code eens in je AVR willen laden:
:020000020000FC
:1000000000C00FEF07BB00E008BB0FEF08BBFBCF42
:00000001FF
sluit gewoon een led aan, op een B-poort met een voorschakelweerstand. dat is de schakeling;
maar nogmaals, als je niet wilt hoef je niet 
Op 16 april 2006 23:46:48 schreef the-x:
zo te zien ben jij een stukje code vergetenje begint met
delay:
en daar stopt het
ook zie ik dat je die raadpleegt, maar er staat nix
dus progje zal niet werken
nee hoor
ik roep het niet aan, het staat als commentaar..
alhoewel er moet nog wel een ret achter ja..
Maare je hebt het al gevonden.. ik had ook zoiets met de tiny13. erg vervelend van atmel 
Het leuke van die .def files is dat je code compatible is met verschillende AVRs. Of rauwe hex ook zomaar goed gaat? als de hardware niet te veel verschilt, zal het wel... Naar alle broodplanken zijn bezet. Zo spannend kan die source toch niet zijn dat je niet weet wat het doet?