USBasp programátor

Vracím se po dlouhé době k tomuto protože “nemám co dělat” :smiley: a za druhé jsem zjistil že se dá programovat -psát programy pro atmegy i pomocí arduino IDE , oprášil jsem USBasp programátor program používám avrdude-GUI.Našel jsem starou nevím kolik roků ležela v šuplíku atmegu8 já bych potřeboval něco do arduino IDE
astromik.org/raspi/attiny13/lekce1.htm
jako je na attiny vis
**
drazzy.com/package_drazzy.com_index.json
mcudude.github.io/MicroCore/pac … index.json
**
pro atmegy 8 dá se to někde sehnat ? díky

Jestli to chceš kvůli Cčku, tak si raději nainstaluj Atmel Studio 7. Můžeš používat v klidu i USBAsp programátor a umí to spolupracovat s novýma procesorama (UPDI). Stačí si k tomu pořídit ten jejich attiny416 xplained nano Na co Arduino, který zaměstná procesor spoustou nepotřebných věcí, obsadí časovače atd. ?

Já mám už hodně dlouho Atmel studio 6 a taky dlouho jsem se tomu nevěnoval, ve verzi 7 jsou nějaké podstatné změny?.Já jsem si nainstaloval Arduino IDE hlavně proto že mě učarovali moduly ESP8266 nebo ESP32 a ta podpora je k tomu perfektní na youtube video návody a taky jsem si zvykl nebo musel jsem se naučit Ccéčko "a znáš to moc psů zajícova smrt "tím chci naznačit že programovacích jazyků je mnoho ale hlava je jen jedna :smiley: díky
edit už jsem to našel

http://drazzy.com/package_drazzy.com_index.json https://mcudude.github.io/MicroCore/package_MCUdude_MicroCore_index.json https://mcudude.github.io/MiniCore/package_MCUdude_MiniCore_index.json https://dl.espressif.com/dl/package_esp32_index.json https://arduino.esp8266.com/stable/package_esp8266com_index.json

Já mám -uino nainstalované taky. Nejdřív kvůli 3d tiskárně, teď se k tomu ESP8266 přidal taky. Jenže AVRka prostě programuju v Atmel Studiu 7. Mimo jiné i proto, že nepoužívám -uino moduly, ale AVR procesory používám přímo na DPS finálního zařízení. Ono by se -uino třeba do mašinky nebo vagonku velikosti TT opravdu nevešlo. I do instalační krabice by s tím byl problém.

Oproti AS6 nevidím žádný významný rozdíl, ale AS6 (i AS5) jsem měl nainstalovaný jenom velmi krátce. Jediné, co opravdu nevím je to, jestli AS5 a AS6 umí poslední procesory AVR (ty s UPDI rozhraním). Většinu programů jsem psal v assembleru a to jsem psal mnohem raději v AVR Studiu 4.18. Podle mně má lepší možnosti debuggeru - hlavně, co jsem používal - to bylo možnost “připnutí” jednotlivých IO registrů z různých periferií na panel, což AS5 a vyšší neumí. To zobrazí pouze všechny IO registry jedné periferie. Jenže od té doby, co jsem přešel na Cčko, tak raději píšu v Atmel Studiu (nyní ve verzi 7). Cčko se v Atmel Studiu lépe ladí, než v AVR Studiu + WinAVR. Pravdou ale je, že v Cčku už programuju pěknou řádku let, takže vlastně nešlo o nic víc, než začít pracovat s periferiema AVR mikroprocesoru. Díky dobré znalosti instrukcí AVR procesoru lze psát programy relativně dost efektivně. Kompilátor pomůže s optimalizací a s dobrou znalostí instrukcí procesoru mu člověk může jít tak trochu naproti, ale program v Cčku bude vždycky o trochu větší a o něco pomalejší, než program napsaný v assembleru.

Ted zatím jen dvě otázky já chci použít jen konpilátor s arduina a pak to napálit pomoci USBasp programátoru a za druhé jak definovat piny to existuje nějaká knihovna nebo jak když ano tak použití knihovny velikost paměti dostane zabrat že :confused: díky
edit:
Ještě lépe se kterým bitem a na kterém portu mě ten program pracovat vis příloha ? díky
atmega8.jpg

DDRD &= ~(1 << PD7); // Pin PD7 vstupný
PORTD |= (1 << PD7); // Zapnutie Pull-up rezistora na pine PD7
if ((PIND & (1 << PD7)) == 0) // čítanie vstupu pin PD7

DDRD |= (1 << PD0); // Pin PD0 výstupný
PORTD |= (1 << PD0); // LOG 1 PD0
PORTD &= ~(1 << PD0); // LOG 0 PD0

Malo by to platiť aj pre Arduino :smiley:

Ahoj.

Překlad v Arduinu, nahrání pomocí USBAsp (nebo jiného) programátoru :

  1. Pro AVR musíš mít v -uinu vybranou desku podle procesoru, který chceš naprogramovat.
  2. Program přeložíš
  3. V adresáři **c:\Users*{JmenoUzivatele}\AppData\Local\Temp* najdeš složku arduino_build_{šestimístné číslo}, ve kterém najdeš soubory {název projektu}.ino.hex a {název projektu}.ino.with_bootloader.hex. Ten první obsahuje jen program v oblasti od 0x0000, ten druhý obsahuje kompletní flash od 0x0000 až do konce kapacity procesoru, přičemž na konci je uino bootloader.
  4. Po naprogramování procesoru musíš nastavit pojistky (především hodiny procesoru) tak, aby procesor běhal, jakoby byl ve zvolené desce uino.

Definování IO v Arduinu :

Pro práci s IO používá Arduino funkce pinMode, digitalWrite a digitalRead. První parametr těchto funkcí je číslo pinu. Předpokládám, že je to pin na pouzdru použitého AVR procesoru (AVRka s -uinem nedělám, takže opravdu jemon tipuju). Za sebe bych upřednostnil i v Arduinu používat zápis, co Ti popsal palikem.

Jinak asi nejpohodlnější a nejpřehlednější zápis je v článku/diskuzi C a flagy, který jsem zde kdysi uvedl a Radius pak ješte upřesnil a doplnil. Otázkou je, jestli použité definice spolkne Arduino, ale pokud podporuje Cčkový zápis, pak by to spolknout mělo.
2020-07-16_20h47_47.png
2020-07-16_20h52_48.png

Doplním info :

[code]typedef struct
{
unsigned char Bit0:1;
unsigned char Bit1:1;
unsigned char Bit2:1;
unsigned char Bit3:1;
unsigned char Bit4:1;
unsigned char Bit5:1;
unsigned char Bit6:1;
unsigned char Bit7:1;
} bits;

#define BITS§ ((volatile bits)&p)

#define LED1 BITS(PORTB).Bit0
#define DIR_LED1 BITS(DDRB).Bit0

void setup() {
DIR_LED1 = OUTPUT;
LED1 = 1;
}
[/code]

Takhle jsem to vyzkoušel přeložit v Arduinu a prošlo to…

Ještě aby ne, když uino stojí na gcc.

Ale vrtá mi hlavou proč kompilátor nenahlásil chybu? vis má příloha :frowning:

a proc by mel hlasit chybu ?
je tezke si najit arduino pinout pro atmega8 a kouknout do pins_arduino.h ?

Tak že postupoval jsem podle youtube.com/watch?v=_BqKdKHI1jM a podařilo se mi rozblikat Ledku ale chtěl jsem vypsat ještě něco na sériový port ale nedaří se viz příloha proč ? díky
atmega8COM.jpg

Buď nesouhlasí rychlost UART procesoru a rychlost UART v Proteu nebo (a to bude asi pravděpodobnější) nesouhlasí kmitočet hodin procesoru se kterým počítá Arduino s rychlostí hodin nastavených u procesoru v Proteu. Co LED - bliká tak, jak má ? Tj. vteřinu svítí, vteřinu ne ?

Při nejvyšší Baud Rate 9600 mě to funguje mám nastaveno v arduinu vis příloha Serial.begin(9600) ve virtuálu taky nastaveno Baud Rate 9600 a to dává smysl když jsou hodiny procesoru internal 1 MHz teď mě to došlo :blush:
Clock.jpg

Narval jsem do Atmegy 8 decoder dálkového ovládání ,který jen ten vstupní pin 4 na pouzdru 28 na té atmeze 8? díky
youtube.com/watch?v=8E3ltjnbV0c
IRremote-Atmega8.jpg

google.com/?qtype=search&q= … ga8+pinout

Je to na pouzdře Atmega8 PDIP 28 pin 6 ? chci se jen ubezpečit protože na tom videu je ten senzor IR je připojen na desku Arduino UNO díky

ubezpecis se tak ze si otevres druhy obrazek v 1ni rade z odkazu co je vyse,v obrazku nahore je napsano cernym na bilem pro jake uC v DIP pouzdru to je ,kouknes se do kodu jaky pin tam mas,na obrazku si ho najdes …

pokud je tento postup slozity tak si muzes do serie s IR cidlem zapojit treba 500Ω a projet vsechny piny dokad to nebude fungovat…