AVR - vstupy, vystupy

Miroslav Šinko sinkomiro na gmail.com
Čtvrtek Červen 16 14:07:51 CEST 2011


Ano :-) A GCC so zapnutou optimalizaciou prelozi uvedene makra na asm
sbi/cbi tam, kde sa to da. Kde sa neda, pouzije in/zmena/out.

miro

2011/6/16 Jan Waclawek <konfera na efton.sk>:
> Dovod je najma historicky. Povodne udajne boli implementovane ako makra, ktore priamo cez inline assembler pouzili rovno cbi/sbi. Tie su, ako je zname, atomicke. Kedze mnohe zaujimave SFR su mimo dosahu cbi/sbi (nad 0x20 v IO priestore), u nich je potrebne robit in/out, resp. u vyhradne pamatovo mapovanych SFR (nad 0x60 v RAM priestore) ldX/sdX; cim to automaticky nie je atomicke.
>
> Ta zmena bola urobena udajne najma kvoli tomu, aby si to uzivatelia uvedomili. Kedze drviva vacsina uzivatelov avr-gcc z tej skupinky, co vie co je to "atomicke", ani netusi, co je to asembler a ze cbi/sbi mohlo byt inherentne atomicke, je to z dnesneho pohladu nepochopitelna obava :-)))
>
> wek
>
>
> PS. Samozrejme ze aj ja ich pouzivam ;-) ale nie cez deprecated.h ale mam ich sam explicitne zadefinovane


Další informace o konferenci Hw-list