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

 
 
> RS-232, не передает обратно в компьютер
AnKing
сообщение Oct 13 2010, 21:55
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 56
Регистрация: 2-02-08
Пользователь №: 34 686



На дисплее последовательно отображаются непонятные рандомные символы,вводя чтонить в гипертерминале отображается что-то определенное, но не совпадающее с тем что на кнопках... ввожу 1 - отображается 7 и тут же исчезает...
но это все работает только когда к контроллеру поделючен провод передачи
как только включаю провод на прием - контроллер замирает, на дисплее ничего не отображается... в гипертерминал ничего не отправляется... что это может быть?

Код
#include <mega48.h>

// Alphanumeric LCD Module functions
#include <alcd.h>

// Standard Input/Output functions
#include <stdio.h>

#include <delay.h>


#define LCD_CHARS_LINE 16

// Bit definitions from the USART control registers
#define RXB8 1
#define TXB8 0
#define UPE 2
#define OVR 3
#define FE 4
#define UDRE 5
#define RXC 7

#define FRAMING_ERROR (1<<FE)
#define PARITY_ERROR (1<<UPE)
#define DATA_OVERRUN (1<<OVR)
#define DATA_REGISTER_EMPTY (1<<UDRE)
#define RX_COMPLETE (1<<RXC)

// Specify that a new putchar function will be used instead of the one from stdio.h
#define _ALTERNATE_PUTCHAR_


// Specify the output types
#define USART0 0
#define LCD 2

// This variable will specify to which peripheral the output of putchar will be directed
unsigned char poutput;

void putchar(char c)
{
switch (poutput)
       {
       case USART0: // the output will be directed to USART0
            while ((UCSR0A & DATA_REGISTER_EMPTY)==0);
            UDR0=c;
       break;

      
       case LCD:    // the output will be directed to the LCD
            lcd_putchar©;
       };
}

void main(void)
{

char k;


// Crystal Oscillator division factor: 1
#pragma optsize-
CLKPR=0x80;
CLKPR=0x00;
#ifdef _OPTIMIZE_SIZE_
#pragma optsize+
#endif


// USART initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART Receiver: On
// USART Transmitter: On
// USART0 Mode: Asynchronous
// USART Baud Rate: 9600
UCSR0A=0x00;
UCSR0B=0x18;
UCSR0C=0x06;
UBRR0H=0x00;
UBRR0L=0x33;

lcd_init(16);
  
while (1)
    {
    poutput=USART0;
    //printf("This is a test of USART%u.\r",0);
    k=getchar();
    putchar(k);
    //UDR0=3;
    delay_ms(100);
    poutput=LCD;
    lcd_clear();
    printf("-- %c --\n%u characters/line.",k,LCD_CHARS_LINE);
    }
}


Сообщение отредактировал AnKing - Oct 13 2010, 21:55
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- AnKing   RS-232   Oct 13 2010, 21:55
- - XVR   Как минимум #define _ALTERNATE_PUTCHAR_ должно сто...   Oct 14 2010, 05:02
- - Палыч   Цитата(AnKing @ Oct 14 2010, 01:55) что э...   Oct 14 2010, 08:13
- - AnKing   Цитата(XVR @ Oct 14 2010, 09:02) Как мини...   Oct 14 2010, 14:38
|- - Палыч   Цитата(AnKing @ Oct 14 2010, 18:38) об об...   Oct 14 2010, 15:03
- - AnKing   перепроверил все провода... все подключено, нигде ...   Oct 14 2010, 15:46
- - XVR   Оторвите MAX232 от контролера и замкните оторванны...   Oct 15 2010, 05:05
- - Александр77   Нескромный вопрос, а чем тактируете МК? Применяйте...   Oct 15 2010, 05:24
- - AnKing   замкнул max со стороны контроллера... назад ничего...   Oct 15 2010, 05:58
|- - XVR   Цитата(AnKing @ Oct 15 2010, 09:58) замкн...   Oct 15 2010, 12:11
- - Deka   При замыкании до макса гипертерминал ведь показыва...   Oct 15 2010, 09:46
- - AnKing   ЦитатаПрименяйте ВСЕГДА внешний генератор/резонато...   Oct 15 2010, 19:07
- - Deka   1. Проверить обвязку и подключение драйвера RS-232...   Oct 18 2010, 05:08
|- - AnKing   Цитата(Deka @ Oct 18 2010, 09:08) 1. Пров...   Oct 18 2010, 19:34
- - XVR   Проверьте каким RS232 кабелем подключена ваша плат...   Oct 18 2010, 08:05
- - XVR   Дайте схему, как подключали драйвер   Oct 18 2010, 19:53
- - AnKing   Схемы нету но есть фотка Нижний конец провода иде...   Oct 19 2010, 04:39
|- - Mike18   Цитата(AnKing @ Oct 19 2010, 08:39) Схемы...   Oct 19 2010, 20:59
|- - AnKing   Цитата(Mike18 @ Oct 20 2010, 00:59) Если ...   Oct 19 2010, 21:40
- - XVR   По фотке мало что видно, но попробуйте поменять ме...   Oct 19 2010, 06:30
- - AnKing   flow control отключен провода местами поменял, теп...   Oct 19 2010, 15:06
- - XVR   Для вашего stk48: 1) Провода к PC должны идти один...   Oct 19 2010, 16:53
|- - AnKing   Цитата(XVR @ Oct 19 2010, 20:53) Для ваше...   Oct 19 2010, 18:00
- - XVR   Странно это. Осцилограф есть? Или хотя бы тестер? ...   Oct 19 2010, 20:43
- - AnKing   Переписал все в AVR Studio Когда отправляю что-ни...   Oct 20 2010, 17:03
- - XVR   Неправильно выставлен делитель для USART (UBRR0). ...   Oct 20 2010, 17:40
|- - AnKing   Цитата(XVR @ Oct 20 2010, 21:40) Неправил...   Oct 20 2010, 18:59
|- - rezident   Цитата(AnKing @ Oct 21 2010, 00:59) на st...   Oct 20 2010, 19:04
- - AnKing   В даташите при такой частоте и скорости 115200 UBR...   Oct 20 2010, 19:28
- - XVR   Цитататеперь тока есть вопрос что такое "...   Oct 20 2010, 20:43


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

 


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


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