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

 
 
> Помогите новичку с 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



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

 


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


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