Arduino eller "naken" AVR med allt vad det innebär?

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
Icecap
Inlägg: 26650
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Arduino eller "naken" AVR med allt vad det innebär?

Inlägg av Icecap »

Man ska inte adressera allt manuellt, med AVR studio & WINAVR finns det med filer som man inkluderar, då är alla register osv. definierat och det är bara att skriva rätt namn, då är det klart.

Exempel: (klipp av bit av kod)

Kod: Markera allt

#include <inttypes.h>
#include <ctype.h>
#include <stdio.h>
#include <stdlib.h>
#include <avr/interrupt.h>
#include <avr/io.h>
#include <string.h>
#include <avr/eeprom.h>
#include <avr/pgmspace.h>
#include <avr/sleep.h>
#include "m64.h" /* <- Här definieras processorregisterna  */
#include "ttab.c"
Användarvisningsbild
adent
Inlägg: 4245
Blev medlem: 27 november 2008, 22:56:23
Ort: Utanför Jönköping
Kontakt:

Re: Arduino eller "naken" AVR med allt vad det innebär?

Inlägg av adent »

Internet är din aldrig sinande källa till information! (och databladen till AVR:en du meckar med (som finns på.... Internet! ;))
Databladen är viktiga, men kan lätt skrämma iväg en om man är ovan, börja med att få till nått enkelt och begripligt m.h.a. Internet. Sen när du har något särskilt du vill göra, som kanske kräver en timer eller så, då kan du börja kika i databladen parallellt med googling, eller fråga snällt här så får du, om inte allt serverat på silverfat, en knuff åt rätt håll.

Bara att vässa dina google-skillz :) Hittar du bara rätt term att söka på kommer du hitta allt du behöver.

MVH: Mikael
Manneh
Inlägg: 151
Blev medlem: 15 juli 2012, 22:52:44
Ort: Sundsvall

Re: Arduino eller "naken" AVR med allt vad det innebär?

Inlägg av Manneh »

Hittar dock inte alla svar på internet, se min nya tråd om strängar via serial. Letat överallt (typ... :vissla:)
Johanb
Inlägg: 3406
Blev medlem: 26 mars 2006, 22:26:12
Ort: Smedjebacken

Re: Arduino eller "naken" AVR med allt vad det innebär?

Inlägg av Johanb »

Jag vet inte hur det är i Arduino men jag hade mycket problem i början med PINx och PORTx, där den ena läser inputregistret (PINx) för portx och den andra sätter outputregistret (portx) för portx. Helt enkelt ett slarv/minnesfel, där man glömmer att man måste använda PINx för att läsa porten, som irriterat många nybörjare (och säkert andra också) :)
Användarvisningsbild
Icecap
Inlägg: 26650
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Arduino eller "naken" AVR med allt vad det innebär?

Inlägg av Icecap »

Manneh: dina problem med in/output beror knappast på hårdvaran, de beror på att du inte förstår vad det är du vill göra och inte kan beskriva det. Om du inte kan förstå flödet och hur du använder de data som kommer och har koll på när de kommer, hur ska du då kunde beskriva för andra?

En mycket viktig sak när det blir så är att faktisk skriva ner vad som ska lösas och skriva det på ett sätt så att en totalt okunnig kan förstå flödet i det hela. När flödet kan beskrivas på det sätt har du hunnit tänka igenom det hela och har då ett mycket klarare syn på det hela varför resten blir enkelt. När man har vant sig kommer detta tänkande per automatik varefter uppgifterna blir enklare att lösa.
Manneh
Inlägg: 151
Blev medlem: 15 juli 2012, 22:52:44
Ort: Sundsvall

Re: Arduino eller "naken" AVR med allt vad det innebär?

Inlägg av Manneh »

Jag kan vara lite dålig på att förklara, ja.

Jag har ju skrivit upp flödet i pseudokod, åtminstånde hur jag tror att jag vill ha det :humm: . Det är implementeringen jag har problem med. Jag vet att det inte är hårdvaran i sig som är begränsningen.
Användarvisningsbild
jesse
Inlägg: 9240
Blev medlem: 10 september 2007, 12:03:55
Ort: Alingsås

Re: Arduino eller "naken" AVR med allt vad det innebär?

Inlägg av jesse »

Manneh skrev:Det jag har luskat fram att jag behöver är:
En processor.
En programmerare.
Lämplig bootloader.
Diverse komponenter för att allt ska rinna som det ska.
Skillnaden mot en Arduino är ju att du måste kunna montera komponenterna själv, lämpligtvis på ett mönsterkort. Vad du ska ha för komponenter på det kortet beror helt på vad du ska göra. Men framför allt behöver du en spänningsregulator, t.ex. 78L05.

Du behöver inte bootloader. Har du programmerare så räcker det, bara du sätter dit en stiftlist för programmeraren på ditt kretskort som är ansluten till rätt pinnar på din AVR. Vilka pinnar beror på vilken AVR du skaffar.

Du kan programmera direkt via Atmel Studio som är en mycket kompetent och bra utvecklignsmiljö som bygger på Visual Studio 2010. Rekommenderas oavsett om du ska programmera i C eller i Assembler. Du behöver en AVR-programmerare, t.ex. AVR-ISP Mk II.

Litteratur:

Om AVR 8-bitars processorns hårdvara och assemblerprogrammering: Skaffa Per Foyer "Mikroprocessorteknik".

AVR på nätet: Beginners Programming in AVR Assembler
Allmänt om att komma igång med AVR: AVR-programmering för nybörjare

Atmel Studio 6 laddar du ner hos Atmel.com:Atmel Studio

Allt om Atmel Studio 6 på Youtube.
Manneh
Inlägg: 151
Blev medlem: 15 juli 2012, 22:52:44
Ort: Sundsvall

Re: Arduino eller "naken" AVR med allt vad det innebär?

Inlägg av Manneh »

Ja jag beställde hem allt som kommer behövas för en "klon" härom dagarna. Jag beställde dock lm7805 då jag använt dessa tidigare och vet hur de fungerar.

Tack för alla länkar. Dessa skall plöjas igenom när tiden finnes :)
bellasoda
Inlägg: 168
Blev medlem: 10 maj 2012, 13:48:52

Re: Arduino eller "naken" AVR med allt vad det innebär?

Inlägg av bellasoda »

All info du behöver finns i databladet. Vill du t ex använda en attiny25 så googlar du på 'attiny25 pdf', vill du ha en atmega48 googlar du på 'attiny48 pdf'.

Sen kan du skaffa dig en avr isp programmerare och utvecklingsmiljön avr studio som är gratis. Svårare än så är det inte.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Arduino eller "naken" AVR med allt vad det innebär?

Inlägg av sodjan »

> Vill du t ex använda en attiny25 så googlar du...

Nja, det är bättre att gå till http://www.atmel.com och söka direkt där.
Dete finns alltid en risk att Google "hittar" en äldre version eller liknande.

> ...vill du ha en atmega48 googlar du på 'attiny48 pdf'.

Det låter som ett ännu sämre förslag... :-)
mattswe
Inlägg: 159
Blev medlem: 20 augusti 2012, 13:27:51

Re: Arduino eller "naken" AVR med allt vad det innebär?

Inlägg av mattswe »

Jag vill bara förvarna dig om att om du tänker ha både Atmel Studio 6 och Arduino IDEn installerade på samma dator samtidigt och vill använda en AVR-ISP Mk II i båda programmen så får du krock mellan drivrutinerna. Det går helt enkelt inte att få den att fungera i båda programmen samtidigt, det krävs olika USB-drivrutiner för respektive program.

Jag vill även slå ett slag för C/C++ istället för assembler. Betydligt mer lättillgängligt. :)
gkar
Inlägg: 1585
Blev medlem: 31 oktober 2011, 15:28:29
Ort: Linköping

Re: Arduino eller "naken" AVR med allt vad det innebär?

Inlägg av gkar »

Jo, jag kan bara hålla med föregående talare.
Även om jag gärna själv skriver och pratar fleratalet assembler dialekter flytande så måste jag rekommendera C.

Enklare, säkrare, går fortare att skriva, enklare att testa och mer portbart etc, etc.
Användarvisningsbild
Icecap
Inlägg: 26650
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Arduino eller "naken" AVR med allt vad det innebär?

Inlägg av Icecap »

ASM har sina fördelar när man ska lära sig den exakte funktionen den hårda vägen, t.ex. är det en bra väg att lära sig varför man ska sky flyttal i µC, testa bara att skriva en multiplikationsrutin för ett par flyttal...

Men för att åstadkomma verkligt arbete med ett program är C vägen fram! C++ i µC är inte helt rätt heller i den liga.
Agwan
Inlägg: 1617
Blev medlem: 15 september 2009, 09:05:14

Re: Arduino eller "naken" AVR med allt vad det innebär?

Inlägg av Agwan »

Jag är snarare avrfreaks.net-lärd. Finns väldigt mycket tips där. Och på just AVR-delen är det väldigt mixat i kunskapsnivå, så där finns tips från supersimpelt till avancerat.
Användarvisningsbild
adent
Inlägg: 4245
Blev medlem: 27 november 2008, 22:56:23
Ort: Utanför Jönköping
Kontakt:

Re: Arduino eller "naken" AVR med allt vad det innebär?

Inlägg av adent »

Måste bara göra ett litet inlägg om flyttal i AVR.

Visst ska man undvika flyttal och multiplikation och division kraftigt.
MEN, det underbara i C är att man _KAN_ använda flyttal på ett oerhört enkelt sätt om man måste/vill.
Givetvis blir det långsamt, mycket kod och tar säkert en del RAM också, men är man bara medveten om det så.

Jag och en kompis gjorde en gång ett litet kretskort (ursprungligen baserat på en ATtiny85) som sedan fick en ATmega168 tror jag.
Denna processor genererade i mjukvara en composite-video-signal så vi hade en 80*60-pixlars framebuffer med pixel på bitnivå.

Kompisen skrev kod för att animera en roterande wireframe-kub i 3D med perspektiv. Han använde gjorde inga optimeringar och skrev
det med flyttal i C, fungerade alldeles utmärkt. Det bevisar väl i och för sig ingenting :)

Men min poäng är i alla fall att måste man så kan man, utan att få gråa hår :)
Skriv svar