ATmega64,CodeVisionAVR,jazyk C-hlavičkový soubor interrupt.h

Ahoj,

Jsem z toho celkem zmatený. Vyrábím si program na AT MEGA64 v Code Vision AVR v jazyce C, který bude zpracovávat externí přerušení.
Z různých příkladů na webu jsem našel, že používají hlavičkový soubor “interrupt.h”, ten ale ve složce /inc mezi ostatními .h soubory nemám. Chci se tedy zeptat, jestli se .h soubory nějak stahují, protože na webu jsem našel pro mě nepochopitelné popisy - představoval jsem si to jako hotový soubor, který jenom uložím k ostatním a hotovo, ale tak to asi není.

Jinak v souboru mega64.h, který mám includovaný v programu, tak nějaká přerušení jsou:
// Interrupt vectors definitions
#define EXT_INT0 2
#define EXT_INT1 3
#define EXT_INT2 4
#define EXT_INT3 5
#define EXT_INT4 6
#define EXT_INT5 7
#define EXT_INT6 8
#define EXT_INT7 9

Pokud by ale toto stačilo, tak proč všichni autoři ještě používají odněkud hlavičkový soubor interrupt.h ?

Předem moc děkuji za osvětlení, jak to s těmi headry vlastně je.

:arrow_right: administrator: přejmenováno z "hlavičkové soubory"

Cvavr opravdu neobsahuje soubor ‘interrupt.h’.
Neznamená to že takový není třeba?
Na stránce electronics-base.com/avr-tut … t0-example je příklad na přerušení.
Žádný interrupt.h tam nikde nevidím.
Takže by mne zajímalo kteří to jsou ti všichni autoři??

No tak napříkald:
avr-tutorials.com/interrupts … rogramming
protostack.com/blog/2010/09/ … atmega168/
sites.google.com/site/qeewiki/b … -atmega328
urel.feec.vutbr.cz/MIA/2013/christen/

Nejsou to samozřejmě úplně všichni, ale je těch případů, kde ten header používají opravdu hodně. A proto mi to nejde do hlavy. Žil jsem v tom, že .h soubory budou mít všechna vývojová prostředí stejné, že jsou nějakým způsobem standardní (aspoň ty nejrozšířenější, a vzhledem k počtu aplikací jsem měl za to, že interrupt patří mezi ně)

Respektive odkud teda autoři ty soubory berou ? Přímo ze svých prostředí a tedy znamená to, že pokud ho tam nemám, tak jej nepotřebuji ?
Prostě tomu vůbec nerozumím…

Ani jeden nepouziva Code Vision. V prvom odkaze autor dokonca pise, ze pouzil AVR Studio 5/6.
Aby si vedel pouzivat kniznice ako vsetci ti ostatni autori, potrebujes mat nainstalovane WinAVR, s ktorym ziskas aj tie kniznice.
Alebo AVRToolchine.

Ty programy jsou napsané pro překladač AVR-GCC, který se používá v prostředí Atmel Studio.
Poznáš to podle toho, že na začátku mají
#include <avr/io.h>

Bez úprav nejdou přeložit v CodeVision.

Ve světě mikrokontrolérů potřebuje jazyk C různá rozšíření, která nejsou nijak normalizovaná.
Takže každý autor překladače to udělá po svém.

Ok. Teď už v tom mám trochu jasněji a pravda je, že vzhledem k různým typům mcuasi nejde headry úplně standardizovat.
Takže teoreticky se můžu spolehnout na soubor** mega64.h**, kde už jsou interrupty uvedené a v programu by to mohlo vypadat nějak takhle:

#include <mega64.h>

interrupt [EXT_INT0] void preruseni (void)
{
// nějaký kód
}

void main (void)
{
while (1)
//hlavní smyčka
}
*

V kostce ano, tak nějak to má vypadat :slight_smile: