Сб май 27, 2017 13:18:40
#define baudrate 9600L
#define bauddivider (F_CPU/(16*baudrate)-1)
#define HI(x) ((x)>>8)
#define LO(x) ((x)& 0xFF)
void usartInit() {
// USART initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART Receiver: On
// USART Transmitter: On
// USART Mode: Asynchronous
// USART Baud Rate: 9600
UBRRL = LO(bauddivider);
UBRRH = HI(bauddivider);
UCSRA = 0;
UCSRB = 1<<RXEN|1<<TXEN|1<<RXCIE;
UCSRC = 1<<UCSZ0|1<<UCSZ1;
USART_TX_CTRL_DDR|=(1<<USART_TX_CTRL_PIN);
USART_TX_CTRL_PORT&=(1<<USART_TX_CTRL_PIN);
}
//управление приемом/передачей
void usartEnableTX(unsigned char state){
if (state==USART_TX_ON)
USART_TX_CTRL_PORT|=(1<<USART_TX_CTRL_PIN);
else
if(state==USART_TX_OFF)
USART_TX_CTRL_PORT&=!(1<<USART_TX_CTRL_PIN);
}
//ф-я отправки символа
void usartPutc( unsigned char data ) {
while ( !(UCSRA & (1<<UDRE)) );
UDR = data;
}
int main( void ) //Ãëàâíàÿ ôóíêöèÿ
{
usartInit();
sei();
for(;;) {
usartEnableTX(USART_TX_ON);
usartPutc("1");
}// for(;;)
}
Сб май 27, 2017 21:08:06
Вс май 28, 2017 10:14:59
D:\AVR\avrdude>avrdude -p m32 -c usbasp
avrdude: warning: cannot set sck period. please check for usbasp firmware update
.
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.02s
avrdude: Device signature = 0x1e9502 (probably m32)
avrdude: safemode: Fuses OK (E:FF, H:99, L:E2)
avrdude done. Thank you.
D:\AVR\avrdude>
Вс май 28, 2017 12:08:55
Вт май 30, 2017 02:24:45
Вт май 30, 2017 04:42:34
Вт май 30, 2017 05:49:23
UCSRC = 1<<UCSZ0|1<<UCSZ1;
Вс мар 12, 2023 19:11:59
Пн мар 13, 2023 19:12:45
Насколько я видел, контроллеры таких резисторов не содержат; завтра посмотрю на резервном контроллере.
Вт мар 14, 2023 18:21:49