[elektro-etc] attiny45 INTF0 kerdes

VF vf at elte.hu
Mon Oct 11 00:01:28 CEST 2010


Haho,

Ha 1-et irsz a bitbe, akkor torlodik. Ha eredetileg nulla volt,
nem tortenik semmi. Ahova nullat irsz, ott sem tortenik semmi.
Direkt bekapcsolni a biteket nem lehet.
Ez teljesen jol mukodik, szokasos megoldas szamos egyeb platformon is,
es nem csak az interrupt flagekre.
Mas megoldas nem nagyon van, foleg ilyen kenyelmes.

Egyebkent egyre inkabb terjed ez a stilus. Pl tobb alrendszer vezerelhet
portbiteket, melyek ugyanazon a porton lehetnek. Ezert sok prociban van
olyan port bit ki/bekapcsolas, invertalas, ami maszk alapjan hardveresen
csak 1 bitet piszkal, a tobbit erintetlenul hagyja. Igy nem kell
mexakitast, taszkvaltast letiltani, megoldja a HW.
Raadasul az interrupt flageket nem is lehetne ilyen modon megvedeni,
mert nem a mexakitast kell letiltani, hanem a periferia(k)nak kene
megmondani, hogy most ne kapcsoljon be uj flageket, amig valamelyik
masikat torlom.

Ez nem plusz hibalehetoseg, hanem egy elegans megoldas egy nehezen
reprodukalhato, sunyi, es gyakran elkovetett hibara. A hibas flagkezeles
eredmenye lehet, hogy csak akkor mukodik rosszul a progi, ha egy
mexakitas egy bizonyos rovid utasitas-szekvencia kozben csap be.
Ritkan jon elo, eloidezni nem lehet, elkapni meg nehezebb.

A doksi nincs elirva, tenyleg igy mukodik. A PIC utan lehet hogy fura,
de azutan minden normalis proci furanak tunhet.
Nezzetek meg egy V850-et vagy AT91SAM7-et :)


Moczik Gabor wrote:

> Tekintsünk el tőle, hogy itt most ez egy spec. regiszter, alapvetően 
> rossz programozási logika hardver regisztereket így módosítani, status 
> regisztereket, flageket meg pláne. Ha nullába kell tenni, akkor azt kell 
> beírni. Felesleges szándékosan hibalehetőségeket implementálni, biztos 
> van egyébként is. :-)

-- 
Valenta Ferenc <ferenc_valenta at mentor.com>   Mentor Graphics ANBU Hungary
"My love is REAL, unless declared INTEGER"



More information about the Elektro-etc mailing list