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

 
 
> Непонятка с USART в Tiny2313, В протеусе работает, в контроллере нет
vsk
сообщение Feb 26 2008, 07:38
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 18
Регистрация: 11-01-08
Пользователь №: 33 988



Подскажите что может быть, в протеусе работает, в контроллере нет, вернее на вывод в комп все пашет, кварц стоит на 4 Мгц, а вот от команд с ПК, типа цифры от 1 до 8, не работает.

#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/iotn2313.h>
#include <util/delay.h>
#include <stdlib.h>
#include <stdint.h>
#include <stdio.h>

#define BAUD (4000000/16/9600 - 1)
#define USART_RXC_vect USART_RX_vect


void sleep(void);
volatile unsigned char rxbuff;
volatile unsigned int rx_int = 1;

SIGNAL(SIG_USART0_RECV)

{

if (bit_is_clear(UCSRA, FE))
{
rxbuff=UDR;
rx_int=1;
}

}

void sleep(void)
{
int i;
for (i=0; i<=10; i++)
_delay_loop_2(30000);
}

void RestartPin(int PinNumber)
{
sleep();
switch (PinNumber)
{
case 1:
PORTB=PORTB | (1<<PB0);
sleep();
PORTB=PORTB & (0<<PB0);
sendString(" TC1 Ok\0");
break;
case 2:
PORTB=PORTB | (1<<PB1);
sleep();
PORTB=PORTB & (0<<PB1);
sendString(" TC2 Ok\0");
break;
case 3:
PORTB=PORTB | (1<<PB2);
sleep();
PORTB=PORTB & (0<<PB2);
sendString(" TC3 Ok\0");
break;
case 4:
PORTB=PORTB | (1<<PB3);
sleep();
PORTB=PORTB & (0<<PB3);
sendString(" TC4 Ok\0");
break;
case 5:
PORTB=PORTB | (1<<PB4);
sleep();
PORTB=PORTB & (0<<PB4);
sendString(" TC5 Ok\0");
break;
case 6:
PORTB=PORTB | (1<<PB5);
sleep();
PORTB=PORTB & (0<<PB5);
sendString(" TC6 Ok\0");
break;
case 7:
PORTB=PORTB | (1<<PB6);
sleep();
PORTB=PORTB & (0<<PB6);
sendString(" TC7 Ok\0");
break;
case 8:
PORTB=PORTB | (1<<PB7);
sleep();
PORTB=PORTB & (0<<PB7);
sendString(" TC8 Ok\0");
break;
}
}

int main(void)
{
// DDRA = 0x00; //1 - out, 0 - in
DDRB = 0xFF;

USARTInit();

sei();

sleep();
sendString("Welcome to Remote Reset\0");

for (;;)
{
if (rx_int==1)
{
if (rxbuff == '1') RestartPin(1);
if (rxbuff == '2') RestartPin(2);
if (rxbuff == '3') RestartPin(3);
if (rxbuff == '4') RestartPin(4);
if (rxbuff == '5') RestartPin(5);
if (rxbuff == '6') RestartPin(6);
if (rxbuff == '7') RestartPin(7);
if (rxbuff == '8') RestartPin(8);
rx_int = 0;
}
}
return 0;
}



void USARTInit()
{

UBRRL = BAUD;
UCSRB = (1<<RXEN)|(1<<TXEN)|(1<<RXCIE)|(0<<UDRIE);
//UCSRC = (1<<UCSZ1)|(1<<UCSZ0);
}

void sendChar(unsigned char data)
{
while (!(UCSRA &(1<<UDRE))) ;
UDR = data;
}

void sendString(unsigned char s[])
{
int i=0;
while (i<64)
{
if (s[i]=='\0') break;
sendChar(s[i++]);
}
}
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- vsk   Непонятка с USART в Tiny2313   Feb 26 2008, 07:38
- - vsk   Подскажите в какую сторону хоть копать то, fuse - ...   Feb 26 2008, 11:03
- - URANst   Кодswitch (PinNumber) { Как я понял ключ с...   Feb 26 2008, 11:17
- - vsk   Как я понял в терминале, в виде HEX'a протеуса...   Feb 26 2008, 11:38
|- - defunct   ЦитатаКак я понял в терминале, в виде HEX'a пр...   Feb 27 2008, 12:03
|- - vsk   Цитата(defunct @ Feb 27 2008, 15:03) Непр...   Feb 27 2008, 12:23
|- - defunct   Цитата(vsk @ Feb 27 2008, 14:23) И так то...   Feb 27 2008, 12:30
|- - vsk   Цитата(defunct @ Feb 27 2008, 15:30) send...   Feb 27 2008, 15:28
|- - defunct   Цитата(vsk @ Feb 27 2008, 17:28) В термин...   Feb 27 2008, 15:33
|- - vsk   Цитата(defunct @ Feb 27 2008, 18:33) 1. П...   Mar 25 2008, 06:36
- - =GM=   Цитата(vsk @ Feb 26 2008, 07:38) Подскажи...   Feb 26 2008, 12:27
- - URANst   Вот побыстрому набросал тоже что и вы, все работае...   Feb 26 2008, 12:47
- - vsk   Да, в протеусе все работает, а в живом железе, ник...   Feb 26 2008, 12:58
|- - =GM=   Цитата(vsk @ Feb 26 2008, 12:58) В прерыв...   Feb 26 2008, 13:46
|- - Сергей Борщ   Цитата(vsk @ Feb 26 2008, 14:58) ---- Ну ...   Feb 26 2008, 14:00
|- - =GM=   Цитата(Сергей Борщ @ Feb 26 2008, 14:00) ...   Feb 26 2008, 14:09
|- - Сергей Борщ   Цитата(=GM= @ Feb 26 2008, 16:09) А если ...   Feb 26 2008, 15:41
- - vsk   Странно, код подкрутил, но теперь в терминале букв...   Feb 26 2008, 14:19
|- - =GM=   Цитата(vsk @ Feb 26 2008, 14:19) Странно,...   Feb 26 2008, 16:00
|- - vsk   Цитата(=GM= @ Feb 26 2008, 19:00) Попробу...   Feb 27 2008, 05:47
- - URANst   При таких настройках UARTa будут ошибки передачи, ...   Feb 26 2008, 14:36
- - bodja74   vsk Если даже в протеусе работает ,то на компе до...   Feb 27 2008, 12:27
- - vsk   Цитата(bodja74 @ Feb 27 2008, 15:27) vsk ...   Feb 27 2008, 12:37


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

 


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


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