するCコードを書く必要があります
DDRB &= ~pins;
インライン アセンブリ (AVR) を使用します。以前は使用したことがありません。私の試み:
register uint8_t t1, t2; // temporary registers
__asm__ volatile (
"in %[t1], %[w1_ddr]" "\n\t"
"mov %[t2], %[pins]" "\n\t"
"com %[t2]" "\n\t"
"and %[t1], %[t2]" "\n\t"
"out %[w1_ddr], %[t1]" "\n\t"
: [t1] "+r" (t1),
[t2] "+r" (t2),
[w1_ddr] "+I" (_SFR_IO_ADDR(DDRB))
: [pins] "r" (pins)
);
gcc
次のエラーが発生しますlvalue required in asm statement
。私は何を間違っていますか?