PIC vs ATMEL #2

Nagy Endre gumo at lucifer.kgt.bme.hu
Thu Feb 12 13:54:17 CET 2004


> > Ezert is jo a gcc, van egy nagyon nagy rakas platformra.
>
> Az AVRLIB-ben talaltam egy nagyon erdekes dolgot. Van ugye DDR es PIN

Na jo, de ennek mennyi koze van a gcc-hez vagy akar a C nyelvhez?

> fuggveny, ami a porthoz tartozo tobbi regisztert jelenti. Ugy csinalja,
> hogy #define PIN(port) = ((port)-1) stb...
> Az A,B,C,D portokra jo, az E-re nem.

Kesobb nem definialjak felul a PINE-t? Ha nem, az komoly baj.
Az AVR libc-ben korrekt:

include/avr/iom128.h:

/* Input Pins, Port E */
#define PINE      _SFR_IO8(0x01)

/* Data Direction Register, Port E */
#define DDRE      _SFR_IO8(0x02)

/* Data Register, Port E */
#define PORTE     _SFR_IO8(0x03)

> At kellett irnom az egeszet. Szerencse hogy csak nehany k.
> #define helyett fuggvennyel ki lehetett volna javitani, de nem sok

#define-nal is. De jobb a headerben javitani, es kuldeni visszajelzest,
hogy tegyek be a javitasodat.

> > ha korrektul van megirva. Ja, volt olyan kerdes is, hogy megszakithato
> > megszakitas van-e: avr-gcc-ben igen, egy sei();...cli(); koze kell irni a
> > megszakithato reszt, akarcsak asm-ben.
>
> Ez jo, az IAR doksi azt irja hogy ez nem megy...
> (Persze hackelessel biztos meg lehet csinalni, de akkor mennyivel lenne
> jobb mint a tiszta asm?)

En gcc-ben hasznaltam mar, ott tokeletesen mukodik. A doksija szerint is
100%-ig OK, ld.
http://jubal.westnet.com/AVR/doc/avr-libc-user-manual/group__avr__interrupts.html

Nem ertem, hogy mi keszteti az embereket, hogy bugos, gyenge szoftvereket
hasznaljanak vagyonokert, mikor van jobb ingyen.

Gumo



More information about the Elektro mailing list