реклама на сайте
подробности

 
 
> Помогите новичку с UART на AT90CAN128, подскажите, где ошибка
gest
сообщение Dec 6 2007, 09:05
Сообщение #1





Группа: Новичок
Сообщений: 3
Регистрация: 6-12-07
Пользователь №: 33 019



Пытаюсь соединиться с компьютером через COM-порт, но ничего не получается. Для согласования использую MAX3232.

Вот код программы:
Код
#define __AVR_AT90CAN128__ 1

#include <avr/io.h>
#include <avr/signal.h>
#include <avr/interrupt.h>

#include <stdio.h>
#include <stdlib.h>

#define F_CPU 73728 //*100

#define UART_BAUD_RATE 96 //*100    

#define baudrate ((F_CPU)/((UART_BAUD_RATE)*16)-1)

void putchar_uart (char c);

int main ( void )
{

  unsigned char count=0;

  DDRE=0x02;

  asm("cli");
  UBRR0L = (unsigned char)baudrate;// 47 for 9600
  UBRR0H = (unsigned char)(baudrate >> 8);// 0 for 9600

  UCSR0B = ( 1 << RXEN0 ) | ( 1 << TXEN0 );
  UCSR0C = ( 1 << UCSZ01 ) | ( 1 << UCSZ00 );// 8 bit, no parity, 1 stop
  asm("sei");

  while(1)
  {

    putchar_uart(count);

    count++;

  }
}

void putchar_uart (char c)
{
    UDR0 = c;
        while ( ! ( UCSR0A & ( 1 << TXC0 ) ) );
    UCSR0A = (1 << TXC0 );
}


На терминал ПК ни один байт не проходит sad.gif
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Axxel
сообщение Dec 7 2007, 06:40
Сообщение #2


Частый гость
**

Группа: Новичок
Сообщений: 140
Регистрация: 31-01-07
Из: Челябинск
Пользователь №: 24 896



Честно говоря не знаю что за микросхема, и зачем в функции передачи
используется сдвиг, но у меня функция передачи так выглядела (AT90S2113):

void send(unsigned char value)
{
while(!(USR&0x20)); //проверка завершения передачи символа
UDR=value;
}

P.S.
УАРТ правильно настроили? Разрешили его использование?

Сообщение отредактировал Axxel - Dec 7 2007, 06:41


--------------------
Если боишься - не говори. если сказал - не бойся. ©
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 28th July 2025 - 03:34
Рейтинг@Mail.ru


Страница сгенерированна за 0.01332 секунд с 7
ELECTRONIX ©2004-2016