This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
blogspace:xmegaの入出力レジスタ周り [2014/03/03 16:47] hirosi [XMEGAの入出力レジスタ周り] |
blogspace:xmegaの入出力レジスタ周り [2014/03/03 16:53] hirosi |
||
---|---|---|---|
Line 11: | Line 11: | ||
|:::|:::|PORTA.OUT = 0x0B| | |:::|:::|PORTA.OUT = 0x0B| | ||
|:::|:::|PORTA_OUT = 0x0B| | |:::|:::|PORTA_OUT = 0x0B| | ||
- | |ポートの特定bitの反転|PORTA = 0x0F ^ PORTA|PORTA.OUTTGL = 0x0F| | + | |ポートの特定bitの反転|PORTA = 0x0F ^ PORTA|PORTA.OUTTGL = 0x0F| |
\\ | \\ | ||
こう見てみると例えばPORTA.OUT = 0xFF と PORTA.OUTSET = 0xFF は意味同じやんけって思うけど、\\ | こう見てみると例えばPORTA.OUT = 0xFF と PORTA.OUTSET = 0xFF は意味同じやんけって思うけど、\\ | ||
Line 28: | Line 28: | ||
} | } | ||
このwhileループでは動作が全く違う。(分かりにくい例でごめんね J('ー` )し)\\ | このwhileループでは動作が全く違う。(分かりにくい例でごめんね J('ー` )し)\\ | ||
+ | もうちょっと例を出すと、\\ | ||
+ | sbi(PORTA,1); と PORTA.OUTSET = 1; が同じで\\ | ||
+ | PORTA = 1; とは違うよねってそんな感じ。\\ | ||
+ | \\ | ||
ぶっちゃけTinyやMegaで値の代入に慣れきってるとOUTSETのありがたみが分からない・・・\\ | ぶっちゃけTinyやMegaで値の代入に慣れきってるとOUTSETのありがたみが分からない・・・\\ |