Jump to content

vseriousv

Members
  • Content Count

    6
  • Joined

  • Last visited

Community Reputation

0 Обычный

About vseriousv

  • Rank
    Новенький
  • Birthday 03/02/1993

Контакты

  • Skype
    vseriousv

Информация

  • Пол
    Мужчина
  • Город
    Бийск

Электроника

  • Стаж в электронике
    1-2 года
  1. Ну вообщем на железе вот что получается: Помогите пожалуйста с фьюзами при программирование в uniprof, что-то я понять не могу, правильно ли я делаю:
  2. Да, я уже убирал его, вот тут. Скорее всего дело в протеусе. Уже купил мк, буду сегодня паять. Вот с этим кодом. /* *USART.c * * Author: Nous */ # define F_CPU 8000000UL #define BAUDRATE 9600 #define BAUDDIVIDER ((F_CPU/(16UL*BAUDRATE))-1) #include <avr/io.h> #include <avr/iotn2313.h> #include <avr/interrupt.h> unsigned char Temp; void USART_Transmit( unsigned char data ) { while ( !(UCSRA & (1<<UDRE)) ); UDR = data; } int main(void) { UBRRH = 0; UBRRL = BAUDDIVIDER; // 9600 UCSRB |= (1<<RXEN)|(1<<TXEN); UCSRC |= (1<<UCSZ0)|(1<<UCSZ1); while(1) { USART_Transmit('h'); USART_Transmit('e'); USART_Transmit('l'); USART_Transmit('l'); USART_Transmit('o'); USART_Transmit('1'); USART_Transmit('2'); USART_Transmit(0x01); USART_Transmit(0x02); USART_Transmit(0x0A); USART_Transmit(0x0D); } }
  3. Так получается тоже самое, я уже пробовал, но все равно спасибо)
  4. Спасибо, к сожалению ничего не изменилось, пробую на железе.
  5. Спасибо за замечание, я просто перенес весь код из даташипа. Ну как бы вот исправил в коде, надеюсь правильно: чтобы было 8 бит и настройки перенес в мэйн, так мне кажется проще будет. Но к сожалению все равно терминал не то показывает! Посмотрите еще пожалуйста, может какие еще замечания будут. /* *USART.c * * Author: Nous */ # define F_CPU 3993600UL #include <avr/io.h> #include <avr/iotn2313.h> #include <avr/interrupt.h> void USART_Transmit( unsigned char data ); void USART_Init (unsigned int baud); void USART_Transmit( unsigned char data ) { while ( !(UCSRA & (1<<UDRE)) ); UDR = data; } int main(void) { const unsigned int BAUDRATE = 9600; const unsigned int BAUDDIVIDER = ((F_CPU/(16UL*BAUDRATE))-1); UBRRH = 0; UBRRL = BAUDDIVIDER; // 9600 UCSRB |= (1<<RXEN)|(1<<TXEN); //|(1<<TXCIE)|(1<<UDRIE) UCSRC |= (1<<UCSZ0)|(1<<UCSZ1); //(1<<USBS)|(1<<UPM1)|(1<<UPM0) while(1) { USART_Transmit('h'); USART_Transmit('e'); USART_Transmit('l'); USART_Transmit('l'); USART_Transmit('o'); USART_Transmit('1'); USART_Transmit('2'); USART_Transmit(0x01); USART_Transmit(0x02); USART_Transmit(0x0A); USART_Transmit(0x0D); } }
  6. Здравствуйте! Пытаюсь отправить слово с МК Avr attiny2313 через com port и выловить его программой, пока что просто программой "терминал". Прошу помощи! Почему присылаются какие-то арабские символы или что угодно, но не то, что я отсылаю? Сейчас я думаю дело в частоте, но как бы я ее точно не пытался откорректировать, все равно присылается какая-то белиберда. # define F_CPU 3993600UL #include <avr/io.h> #include <avr/iotn2313.h> #include <avr/interrupt.h> void USART_Transmit( unsigned char data ); void USART_Init (unsigned int baud); void USART_Init (unsigned int baud) { UBRRH = (unsigned char)(baud>>8); UBRRL = (unsigned char)baud; // 9600 UCSRB = (1<<RXEN)|(1<<TXEN); //|(1<<TXCIE)|(1<<UDRIE) UCSRC = (1<<USBS)|(1<<UCSZ0); //|(1<<UPM1)|(1<<UPM0) } void USART_Transmit( unsigned char data ) { while ( !(UCSRA & (1<<UDRE)) ); UDR = data; } int main(void) { //const unsigned int BAUDRATE = 9600; //const unsigned int BAUDDIVIDER = ((F_CPU/(16UL*BAUDRATE))-1); USART_Init(25); while(1) { USART_Transmit('h'); USART_Transmit('e'); USART_Transmit('l'); USART_Transmit('l'); USART_Transmit('o'); USART_Transmit('1'); USART_Transmit('2'); USART_Transmit(0x01); USART_Transmit(0x02); USART_Transmit(0x0A); USART_Transmit(0x0D); } }
×
×
  • Create New...