Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: uart1 на меге64
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
d71
подцепил на uart0 макс232 - все работет класно, комп принимает символ "Х"
но стоит послать тот же символ на uart1 и всё колом, не идеть на плате,
а протеусе идет...
фуза м103с - 0
может не туда гляжу?

Код
#include <iom64.h>
#include <inavr.h>

#define FOSC 11059200
#define BAUD 4800
#define MYUBRR FOSC/16/BAUD-1

#define on PIND_Bit0

#define button_press PORTB_Bit0

void uart0_init(unsigned int ubrr){

  UCSR0B = 0x00; //disable while setting baud rate
  UCSR0A = 0x00;
  
  UBRR0H = (unsigned char)(ubrr>>8);
  UBRR0L = (unsigned char)ubrr;
  
  UCSR0B = (1<<RXEN0)|(1<<TXEN0); // rx, tx enabled
  
  UCSR0C = 0x86; //8bit,1stop
}

void uart1_init(unsigned int ubrr){

  UCSR1B = 0x00; //disable while setting baud rate
  UCSR1A = 0x00;
  
  UBRR1H = (unsigned char)(ubrr>>8);
  UBRR1L = (unsigned char)ubrr;
  
  UCSR1B = (1<<RXEN1)|(1<<TXEN1); // rx, tx enabled

  UCSR1C = 0x86; //8bit,1stop
  

}

void transmit0 (unsigned char data){
  while (!(UCSR0A&(1<<UDRE0)));
  UDR0=data;
}

void transmit1 (unsigned char data){
  while (!(UCSR1A&(1<<UDRE1)));
  UDR1=data;
}


int main (void){
  
  uart0_init(MYUBRR);
  uart1_init(MYUBRR);
  
  DDRC=0xff; PORTC=0xff;
    
  DDRD=0x00; PORTD=0x03;
  
  DDRE=0x00;
  
  DDRA=0xff; PORTA=0xff;
  
  DDRB=0xff; PORTB=0x00;  
  
  DDRF=0x00; PORTF=0x00;
  
  button_press=0;
  
  while(1){
    
    if (on==0){
      transmit1('X');
      button_press=!button_press;
      while (on==0){};
    }
  }
}


Ой я придурок! Вот дебил, весь день бился, а фузу так и нет попробовал сменить, причем ту на которую как на памятник смотрел.
Извените меня пожалуйста за M103C, больше постараюсь так не ошибаться
---
можно тему закрыть : ) или оставить в назидание : )
=AVR=
Цитата
фуза м103с - 0
может не туда гляжу?
Именно так. При М103=0 второго УАРТа нету
d71
да протупил страшно smile.gif
как всегда считал что именно 1 включает совсемтимость smile.gif
arttab
Это стандартная ошибка при переходе от младших мк к 64 и 128. Меня эта учить миновала - изучал что она может и фузы конфигурации :-).
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.