Jump to content

Alewka

Members
  • Content Count

    13
  • Joined

  • Last visited

Community Reputation

0 Обычный

About Alewka

  • Rank
    Новенький
  • Birthday 04/09/1976

Информация

  • Пол
    Мужчина
  • Интересы
    Электроника , инкубаторы, охраннопожарная сигнализация, электрика, авто, строительство. В общем деньги.
  • Город
    Черноземье

Электроника

  • Стаж в электронике
    1-2 года
  • Сфера радиоэлектроники
    Интересно все!!!
  • Оборудование
    Паяльник, Тестер и Кувалда ( чтоб разбить, что не получилось)
  1. Здравствуйте! Нужна помощь начинающим. Пытаюсь изучить uart но ,что то не понимаю . Почему при первой отправки на мк любого символа , один раз он возвращается а потом идут нули. #define F_CPU 8000000 #include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> #include "pin_macros.h" unsigned char data; unsigned long long vrema; unsigned char a=1; #define Pin4 C,4,H #define Pin5 C,5,H #define Pin3 C,3,H #define Pin2 C,2,L #define Pin1 C,1,H #define Pin0 C,0,H unsigned char status, status1; unsigned char *pstatus; unsigned char i = 0; //*** Инициализация UART ***// void uart_init(void) { //скорость обмена данными UBRRH = 0; //старший байт UBRRL = 51; //младший байт //8 бит данных, 1 стоп бит, без контроля четности UCSRC = ( 1 << URSEL ) | ( 1 << UCSZ1 ) | ( 1 << UCSZ0 ); //разрешить прием и передачу данных UCSRB = ( 1 <<RXEN )|(1<<RXCIE) |( 1 << TXEN ) | (1<<TXCIE);//|( 1 << UDRIE ) //UCSRB |= (1<<RXCIE) | (1<<TXCIE); //Разрешаем прерывание при передаче DRIVER(Pin4,OUT); DRIVER(Pin5,OUT); DRIVER(Pin3,IN); DRIVER(Pin2,IN); DRIVER(Pin1,IN); DRIVER(Pin0,IN); DRIVER(Pin3,PULLUP); DRIVER(Pin2,PULLUP); DRIVER(Pin1,PULLUP); DRIVER(Pin0,PULLUP); } ISR(USART_RXC_vect) { data=UDR; } /* ISR(USART_TXC_vect){ //UDR = data; } */ ISR( USART_UDRE_vect ) { } //*** Прием данных по UART ***///* /*unsigned char uart_receive(void) { while ( ! ( UCSRA & ( 1 << RXC ))); return UDR; a=2; }*/ //*** Передача данных по UART ***// void uart_transmit( uint8_t data) { while ( ! ( UCSRA & ( 1 << UDRE ))); UDR = data; a=0; } //——————————————— void timer_ini(void) { TCCR1B |= (1<<WGM12); // устанавливаем режим СТС (сброс по совпадению) TIMSK |= (1<<OCIE1A); //устанавливаем бит разрешения прерывания 1ого счетчика по совпадению с OCR1A(H и L) OCR1A = 7812;//OCR1AL = 0b00000000;//OCR1AH = 0b10000000; //записываем в регистр число для сравнения TCCR1B = (1<<CS12)|(1<<CS10)|(1<<WGM12);//установим делитель. // Start Timer1 with prescaler 1024 } ISR (TIMER1_COMPA_vect) { } //*** Главная программа ***// int main(void) { pstatus=&status; DDRD = 0x00; //установим все порты DDRD как входы PORTD = 0x00; //установим логический 0 на все порты DDRD sei();// разрешаем прерывания uart_init(); timer_ini(); while(1) { vrema++; if(vrema>=10000){ a=2; //data++; vrema=0;} if(data==0b00110001) { ON(Pin5); // PORTC |= 1 << 5; //устанавливаем логическую 1 на порт PC5 регистра DDRC data='8'; } if(data==0b00110010) { OFF(Pin5); //PORTC &= ~(1 << 5); //устанавливаем логический 0 на порту PC5 регистра DDRC } if(data==0b00110011) { ON(Pin4); //PORTC |= 1 << 4; //устанавливаем логическую 1 на порт PC4 регистра DDRC } if(data==0b00110100) { OFF(Pin4);//PORTC &= ~(1 << 4); //устанавливаем логический 0 на порту PC4 регистра DDRC } if(a==2){ uart_transmit(data); } } } atmega8 уарт.rar
  2. header Вроде как есть а работать не хочет . В winavr работает на ура. Ну подскажите люди добрые! В чем дело? . исходники Архив ZIP - WinRAR.zip Спасибо.
  3. Пытаюсь скомпилировать чужие исходники,написаные в vinavr (если не ошибаюсь) но чета не выходит. Сначала ругался на ISR(SIG_INTERRUPT0), заменил на ISR(TIMER0_OVF_vect) ... Теперь на prog_int8_t Объясните ,что это за зверь prog_int8_t . Может для avr studio надо как то по-другому написать. Спасибо.
  4. Дык все верно я и не спорю . Как сказал кот Леопольд " Давайте жить дружно" Злые мы последнее время. Всем удачи :bye:
  5. Я не о том ,что надо каждому, дважды два, обьяснять. Просто любой может в трех соснах заблудиться а явного выхода он не видет . Толкните в нужную сторону , если вам не трудно . Я сам новичек в авр ( менее года) и бывает смотришь в книгу а видешь фигу , да еще и английский не знаешь. Плохо когда не знаешь да еще забудешь. Ребята помогайте если не трудно. :thank_you2:
  6. Видеокурс По Avr-Микроконтроллерам Для Начинающих НАЧИНАЮЩИХ Если лень жевать так не жуйте , пусть другие жуют . ( без обид)
  7. Вот и уменя сын пришел со школы и спрашивает как пишется буква А ? . Сынок а ты погугли . Впадлу мне обьяснять неучу . ГУГЛ РУЛИТ. :umnik2:
  8. А че за зверь такой SPI??? Стока шума через няго. :bye: УРОКИ КОГДА НОВЫЕ БУДУТ , УМНЫЕ ВЫ НАШИ.............УЧЕТИЛЯ? ВТОРОЕ СЕНТЯБРЯ УЖЕ. (извяняйте если что......)
  9. Данная проблема решилась перезагрузкой. Но появилась другая , при написании программы нет всплывающих окон с подсказками и цвет текста программы однотонный. До этого текст был как новогодняя елка.
×
×
  • Create New...