Microcontrollers and bit operations
Bit operations
Problema e soluzione
hack di basso livello che a quanto pare risolve un problema
in determinate condizioni (aria, led on) il modulo rele si pianta con il pin DIR485 alto, quindi driver 485 acceso fisso, quindi la linea 485 risulta compromessa fino al reset del dispositivo
a quanto pare il problema si risolve sostituendo le PORTD|=(1«BIT) e simili con piu' bit, sul main.c, con l'assembly sbi PORTD,BIT e le &=~ con il cbi
Se e' come penso, il compilatore sostituisce PORTD|=() con una sequenza read, calc, write
Se parte un interrupt che abbassa la DIR tra read e write mi trovo a scrivere DIR alta quando il dispositivo pensa che sia bassa, e li muore tutto