ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
7 июля
212245
z00f (23.09.2010 00:56, просмотров: 10969)
WinAVR отключаю прерывание по приему, передаю байты, включаю прерывание. В итоге первые 2 и последний все равно ловятся прерыванием. Что делаю не так? #define BV(bit) (1<<(bit)) #define cbi(reg,bit) (reg &= ~(BV(bit))) #define sbi(reg,bit) (reg |= (BV(bit))) #define gbi(reg,bit) (reg & (BV(bit))) cbi(UCSR1B,RXCIE1); for(uint8_t i=0;i<10;i++) { while(!gbi(UCSR1A,UDRE1)); sbi(UCSR1A,TXC1); UDR1 = i; while(!gbi(UCSR1A,TXC1)); } sbi(UCSR1B,RXCIE1); в итоге вижу байты 0x00, 0x01, 0x09 а не должен видеть ничего.