Så liten CPU som möjligt med analog ingång för pot?
Re: Så liten CPU som möjligt med analog ingång för pot?
Aha, ja i så fall är det ju inte så konstigt att den klagar.
Re: Så liten CPU som möjligt med analog ingång för pot?
Det känns som "vanlig" AVR kod som körs i AVRStudio (eller vad det nu
kallas) "som vanligt" och programmeras till processorn "som vanligt".
"Programmeraren" kan ju så klart vara en Arduino med ICSP programvaran...
kallas) "som vanligt" och programmeras till processorn "som vanligt".

"Programmeraren" kan ju så klart vara en Arduino med ICSP programvaran...
Re: Så liten CPU som möjligt med analog ingång för pot?
Just ja AVR Studio, skall se om jag kan ta hem det och testa har dock bara för mig att filen för det var enorm.
Japp det var den 568MB..
Japp det var den 568MB..
Re: Så liten CPU som möjligt med analog ingång för pot?
Det ska ju gå att skriva C/C++ direkt i Arduino, det behöver inte vara Arduino-kompatibel kod så att säga.
Ett enkelt exempel som fungerar:
Ett enkelt exempel som fungerar:
Kod: Markera allt
#include <avr/io.h>
#include <util/delay.h>
enum {
BLINK_DELAY_MS = 1000,
};
int main (void)
{
/* set pin 5 of PORTB for output*/
DDRB |= _BV(DDB5);
while(1) {
/* set pin 5 high to turn led on */
PORTB |= _BV(PORTB5);
_delay_ms(BLINK_DELAY_MS);
/* set pin 5 low to turn led off */
PORTB &= ~_BV(PORTB5);
_delay_ms(BLINK_DELAY_MS);
}
return 0;
}
Re: Så liten CPU som möjligt med analog ingång för pot?
Jo det var "vanlig" avr-gcc-kod. Man skulle kunna skriva ungefär detsamma i Arduino-miljö, men tiny10-familjen är det knappast någon som gjort Arduino-kompatibel (den är för liten). Dessutom behövs en nyare version av avr-gcc än den om ingår i Arduino för att kompilera för attiny10 (de gamla versionerna är för buggiga för den MCU-familjen).
Så för tiny10-familjen och c-programmering med avr-gcc behövs någon av de senare versionerna som ingår i de senaste Atmel Studio, dvs Atmel toolchain 3.4.1 eller 3.4.2 behövs (finns även fristående för Windows och Linux). Gratisversionen av CodeVision funkar också (kodbegränsingen är större än vad som får plats i en tiny10).
Så det är kanske lite bökigt med de minsta tinysarna. De programmeras dessutom med TPI-protokollet, så man behöver en AVRISPmkII eller STK600 eller usbasp (med inte alltför gammal firmware).
Så för tiny10-familjen och c-programmering med avr-gcc behövs någon av de senare versionerna som ingår i de senaste Atmel Studio, dvs Atmel toolchain 3.4.1 eller 3.4.2 behövs (finns även fristående för Windows och Linux). Gratisversionen av CodeVision funkar också (kodbegränsingen är större än vad som får plats i en tiny10).
Så det är kanske lite bökigt med de minsta tinysarna. De programmeras dessutom med TPI-protokollet, så man behöver en AVRISPmkII eller STK600 eller usbasp (med inte alltför gammal firmware).
- PHermansson
- EF Sponsor
- Inlägg: 4340
- Blev medlem: 22 december 2004, 00:46:38
- Ort: Särestad Grästorp
- Kontakt:
Re: Så liten CPU som möjligt med analog ingång för pot?
Tiny10, har den 1kB minne? Arduino-"ramverket" tar upp 1,7-1,8kB, det går att använda i en Tiny25 men det får inte vara någon längre kod.
Re: Så liten CPU som möjligt med analog ingång för pot?
Ja, 1k FLASH, 32 byte SRAM och bara 16 arbetsregister.
Re: Så liten CPU som möjligt med analog ingång för pot?
Jo fast bootloader, om det är det du menar med ramverk, behövs ju inte. Det är ju bara skippa den och programmera direkt med Arduinon som ISP.
Gick det med en soic-8 så går det ju att använda tex tiny85 om mer minne behövs.
Gick det med en soic-8 så går det ju att använda tex tiny85 om mer minne behövs.
Re: Så liten CPU som möjligt med analog ingång för pot?
Det går inte ens att ha en bootloader i "reduced core tinys" som familjen kallas (tiny4/5/9/10/20/40), de har inte någon SPM-instruktion.
Men man kan förresten använda en Arduino som programmerare för dem.
Men man kan förresten använda en Arduino som programmerare för dem.
Re: Så liten CPU som möjligt med analog ingång för pot?
AVR Studio kommer jag då aldrig att installera igen.. satan vilken tid det tog.
Får dock ändå dessa felmeddelandena:
Expected unqualified-id before numeric constant (inte den blekaste)
Invalid suffix "int" on floating constant (kollade org koden och flyttade bara raden ett steg från kanten)
stray '#' in program (tog helt enkelt bort # som jag dock trodde var en viktig grej fast det är väl olika för olika språk)
Sedan kan man ju inte precis säga att jag är bra på AVRStudio så jag kan ju säkerligen missat något eller så.
Får dock ändå dessa felmeddelandena:
Expected unqualified-id before numeric constant (inte den blekaste)
Invalid suffix "int" on floating constant (kollade org koden och flyttade bara raden ett steg från kanten)
stray '#' in program (tog helt enkelt bort # som jag dock trodde var en viktig grej fast det är väl olika för olika språk)
Sedan kan man ju inte precis säga att jag är bra på AVRStudio så jag kan ju säkerligen missat något eller så.
Senast redigerad av Henry 7 juni 2013, 11:01:16, redigerad totalt 1 gång.
-
- Inlägg: 8448
- Blev medlem: 15 april 2006, 18:57:29
- Ort: Typ Nyköping
Re: Så liten CPU som möjligt med analog ingång för pot?
Varför inte välja en riktig 32 bitars CPU som kan göra allt du vill och massor ytterligare ca 2*2mm stor.
Cortex M0 NXP LPC1102.
Cortex M0 NXP LPC1102.
Re: Så liten CPU som möjligt med analog ingång för pot?
Känns lite onödigt med en 32-bit kraftfull CPU bara för att ge ut lite R/C signaler?
Det enda den behöver göra är ju bara att ge ut vanliga R/C signaler som går att ändra med en pot och eftersom jag inte lärt mig programmering så måste det finnas färdig kod för det vilket det finns mycket till AT CPUer då ju dessa används mycket på hobbynivå. Koden som nämdes först i tråden gör det jag söker enligt uppgift och just också till en ATTiny vilket jag inte kunde hitta någon programvara tills alls från början.
Men nu var det lite lätt smågrus vid kompileringen vilket bara var det jag undrade över.
Det enda den behöver göra är ju bara att ge ut vanliga R/C signaler som går att ändra med en pot och eftersom jag inte lärt mig programmering så måste det finnas färdig kod för det vilket det finns mycket till AT CPUer då ju dessa används mycket på hobbynivå. Koden som nämdes först i tråden gör det jag söker enligt uppgift och just också till en ATTiny vilket jag inte kunde hitta någon programvara tills alls från början.
Men nu var det lite lätt smågrus vid kompileringen vilket bara var det jag undrade över.
Re: Så liten CPU som möjligt med analog ingång för pot?
Du har väl inte radnummren från kod-rutan med i programmet?
-
- Inlägg: 8448
- Blev medlem: 15 april 2006, 18:57:29
- Ort: Typ Nyköping
Re: Så liten CPU som möjligt med analog ingång för pot?
Varför inte skippa allt 8-bitas mög när nu 32 bitars har allt vad 8-bitarsprylarna hade och mycket mer därtill, 32kB FLASH 8k RAM, PWM med mer funktioner än vad en vit man någonsin behöver, dessutom när de är så satans billiga, LPC1102 kostar 26:- i stycketal och under 10:- i tusental.
Re: Så liten CPU som möjligt med analog ingång för pot?
Henry: "Sedan kan man ju inte precis säga att jag är bra på AVRStudio"
Nu är AVR Studio "bara" en C-kompiler som faktisk följer C-standarden så det har nog mest med att göra att du inte kan programmering speciellt bra.
Själv ogillar jag Arduino mycket just för att programmeringsspråket är ändrat till icke-standard C men det ändrar inget i detta.
Om en µC har 1 bit eller 32 har ingen betydelse, klarar den jobbet, är enkel att programmera och lagom billig kan den användas!
Sedan är själva funktionen mycket enkel att skapa men är man rudis på programmering är det klart att det är ett problem.
Nu är AVR Studio "bara" en C-kompiler som faktisk följer C-standarden så det har nog mest med att göra att du inte kan programmering speciellt bra.
Själv ogillar jag Arduino mycket just för att programmeringsspråket är ändrat till icke-standard C men det ändrar inget i detta.
Om en µC har 1 bit eller 32 har ingen betydelse, klarar den jobbet, är enkel att programmera och lagom billig kan den användas!
Sedan är själva funktionen mycket enkel att skapa men är man rudis på programmering är det klart att det är ett problem.