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

 
 
> ATTINY2313 и UART, ATTINY2313 и UART
jin_jin
сообщение Mar 31 2008, 07:04
Сообщение #1


Участник
*

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



Народ помогите пожайлуста разобраться.
Надо посылать посылки по 3 байта в ком порт.
Когда отсылаю в UART
putchar('g');
или
putchar(71);

то в компе в отладочной програмее для ком порта приходит все что угодно но только не мой код

очень много ошибок идет
к ком порту подключен через max232
кварц на 4Mhz
com1 9600 8n1

КАК правильно отсылать байты в этот UART????? помогите разобраться


ПОЛНЫЙ листинг


#include <tiny2313.h>
#include <delay.h>
#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)

#define TX_BUFFER_SIZE 8
char tx_buffer[TX_BUFFER_SIZE];

#if TX_BUFFER_SIZE<256
unsigned char tx_wr_index,tx_rd_index,tx_counter;
#else
unsigned int tx_wr_index,tx_rd_index,tx_counter;
#endif

// USART Transmitter interrupt service routine
interrupt [USART_TXC] void usart_tx_isr(void)
{
if (tx_counter)
{
--tx_counter;
UDR=tx_buffer[tx_rd_index];
if (++tx_rd_index == TX_BUFFER_SIZE) tx_rd_index=0;
};
}

#ifndef _DEBUG_TERMINAL_IO_
// Write a character to the USART Transmitter buffer
#define _ALTERNATE_PUTCHAR_
#pragma used+
void putchar(char c)
{
while (tx_counter == TX_BUFFER_SIZE);
#asm("cli")
if (tx_counter || ((UCSRA & DATA_REGISTER_EMPTY)==0))
{
tx_buffer[tx_wr_index]=c;
if (++tx_wr_index == TX_BUFFER_SIZE) tx_wr_index=0;
++tx_counter;
}
else
UDR=c;
#asm("sei")
}
#pragma used-
#endif

#include <stdio.h>



void main(void)
{

#pragma optsize-
CLKPR=0x80;
CLKPR=0x00;
#ifdef _OPTIMIZE_SIZE_
#pragma optsize+
#endif


PORTA=0x00;
DDRA=0x00;

PORTB=0x00;
DDRB=0x00;


PORTD=0x00;
DDRD=0x00;


TCCR0A=0x00;
TCCR0B=0x00;
TCNT0=0x00;
OCR0A=0x00;
OCR0B=0x00;


TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;

GIMSK=0x00;
MCUCR=0x00;


TIMSK=0x00;


//USICR=0x00;

// USART initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART Receiver: Off
// USART Transmitter: On
// USART Mode: Asynchronous
// USART Baud Rate: 9600
UCSRA=0x00;
UCSRB=0x48;
UCSRC=0x06;
UBRRH=0x00;
UBRRL=0x19;


ACSR=0x80;


#asm("sei")

while (1)
{
putchar(71);
delay_ms(1000);


};
}







да и еще
кварц на 4 мгц

дело в том что в порт приходит байт но не соответствуетт кодировке. А если отсылаю три байта и каждый раз разные прошиваю то при чтении они практически не отличаются
к примеру отсылай с мк
50 100 200 (3 байта)
66 144 222 ()

получай в ком порте
111 239 255
111 200 255
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
jin_jin
сообщение Mar 31 2008, 11:58
Сообщение #2


Участник
*

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



Я собрал универсальный программатора с Kievsat
JonisProg

программой пользуюсь PonyProg

в ponyprog выбираю Configuration and securitybits там стоит галочка на CKDIV8

Сообщение отредактировал jin_jin - Mar 31 2008, 11:59
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- jin_jin   ATTINY2313 и UART   Mar 31 2008, 07:04
- - Палыч   Fuse CKDIV8 надеюсь убран (т.е. значение =1)?   Mar 31 2008, 07:59
- - jin_jin   Извините за тупой ворос а что делает это Fuse CKDI...   Mar 31 2008, 08:16
|- - Палыч   Цитата(jin_jin @ Mar 31 2008, 11:16) Изви...   Mar 31 2008, 08:43
- - jin_jin   то что делит на 8 это видно по DIV а как узнать чт...   Mar 31 2008, 11:00
|- - defunct   Цитата(jin_jin @ Mar 31 2008, 13:00) то ч...   Mar 31 2008, 11:13
- - jin_jin   Я уже все скоростя перепробывал от 100 до 115200 ...   Mar 31 2008, 11:21
|- - Палыч   Цитата(jin_jin @ Mar 31 2008, 14:21) дело...   Mar 31 2008, 11:31
- - jin_jin   Дело в том что под руками нет пока осцилографа отд...   Mar 31 2008, 11:39
|- - Well_Di   Цитата(jin_jin @ Mar 31 2008, 15:39) Дело...   Apr 1 2008, 11:07
- - vet   ну, это же code wizard настройки сгенерировал - вы...   Mar 31 2008, 11:46
- - jin_jin   я и имел в виду кодевизион... А как проверить сос...   Mar 31 2008, 11:48
- - vet   как - уже писали выше (постинг #6).   Mar 31 2008, 11:50
|- - Палыч   Цитата(jin_jin @ Mar 31 2008, 14:58) прог...   Mar 31 2008, 12:09
- - jin_jin   спасибо . сейчас уже убрал и попробую подсоединить...   Mar 31 2008, 12:38
|- - megachip   Цитата(jin_jin @ Mar 31 2008, 15:38) /* S...   Mar 31 2008, 12:47
|- - Палыч   Цитата(jin_jin @ Mar 31 2008, 15:38) Я пр...   Mar 31 2008, 12:56
- - jin_jin   000123 15:47:34.515 CC C8 ми 000124 15:47:34.515 ...   Mar 31 2008, 12:49
- - jin_jin   что то я в дадашите смотрю нету таблиц на этих стр...   Mar 31 2008, 13:06
|- - Палыч   Цитата(jin_jin @ Mar 31 2008, 16:04) что ...   Mar 31 2008, 13:08
- - jin_jin   Извините не так понял точно в таблице 25 сейчас по...   Mar 31 2008, 13:26
|- - Палыч   Цитата(jin_jin @ Mar 31 2008, 16:26) зара...   Mar 31 2008, 14:03
|- - defunct   Цитата(Палыч @ Mar 31 2008, 16:03) Черти-...   Mar 31 2008, 14:25
|- - Палыч   Цитата(defunct @ Mar 31 2008, 17:25) либо...   Mar 31 2008, 14:54
- - jin_jin   Кварц точно на 4 MHz я уже и другой ставил бит U2...   Apr 1 2008, 06:29
|- - Палыч   Цитата(jin_jin @ Apr 1 2008, 09:29) Галоч...   Apr 1 2008, 07:08
- - jin_jin   Большое спасибо сейчас попробую Палыч Большое спа...   Apr 1 2008, 07:20
- - jin_jin   Народ помогите еще с одним вопросиком Мне надо пек...   Apr 1 2008, 10:50
|- - Палыч   Цитата(jin_jin @ Apr 1 2008, 13:50) Мне н...   Apr 1 2008, 11:03
- - jin_jin   Это получается что для 300 UBRP= (4000000/4800)-1 ...   Apr 1 2008, 11:07
|- - Палыч   Цитата(jin_jin @ Apr 1 2008, 14:07) Это п...   Apr 1 2008, 11:16
- - Well_Di   пардон не заметил второй страницы.   Apr 1 2008, 11:13
- - jin_jin   Спасибо большое   Apr 1 2008, 11:23
- - jin_jin   C устройством разобрался собрал на передачу и прие...   Apr 2 2008, 06:29
|- - Палыч   Цитата(jin_jin @ Apr 2 2008, 09:29) На ка...   Apr 2 2008, 06:41
- - jin_jin   Мы и сами сидим удивляемся. Пульт принимает наша б...   Apr 2 2008, 07:01
|- - Палыч   Цитата(jin_jin @ Apr 2 2008, 10:01) Мы уж...   Apr 2 2008, 07:06
- - jin_jin   Может кто-нибудь мне подсказать в следующем вопрос...   Apr 4 2008, 05:17
|- - Палыч   Цитата(jin_jin @ Apr 4 2008, 08:17) Можно...   Apr 4 2008, 06:09
- - jin_jin   Если не затруднит можно ли по подробнее что за OCn...   Apr 4 2008, 06:23
|- - Палыч   Цитата(jin_jin @ Apr 4 2008, 09:23) можно...   Apr 4 2008, 06:43
- - jin_jin   А как настроить прваильно таймер на частоту 36кГц?...   Apr 4 2008, 06:54
|- - Палыч   Цитата(jin_jin @ Apr 4 2008, 09:54) А как...   Apr 4 2008, 07:15
- - jin_jin   Таймер0 буду использовать. Что то пытался сделать ...   Apr 4 2008, 07:27
|- - Палыч   Цитата(jin_jin @ Apr 4 2008, 10:27) Тайме...   Apr 4 2008, 07:32
- - jin_jin   порт В настроен на выход. Так что то и не разобрал...   Apr 4 2008, 07:51
|- - Палыч   Цитата(jin_jin @ Apr 4 2008, 10:51) с это...   Apr 4 2008, 08:25
- - vet   Вам не 36, а 72 кГц нужна, бо выход OCn инвертируе...   Apr 4 2008, 07:55
- - jin_jin   Что то я еще больше запутался почему 72 если можно...   Apr 4 2008, 08:01
- - jin_jin   Заношу я вот эти значения сажусь частотомером и ни...   Apr 4 2008, 09:04
|- - Палыч   Цитата(jin_jin @ Apr 4 2008, 12:04) Занош...   Apr 4 2008, 09:09
- - jin_jin   Спасибо большое и человеческое. Сел частотомером и...   Apr 4 2008, 11:21
|- - Палыч   Цитата(jin_jin @ Apr 4 2008, 14:21) Единс...   Apr 4 2008, 12:05
- - jin_jin   При 5 вольтах все холодное При12 греется транзисто...   Apr 4 2008, 12:08
- - jin_jin   Народ подскажите с таким вопрросом. Стандартный пу...   Apr 7 2008, 07:33
- - Палыч   RC-5 - это совсем не USART. Такт длится 1.778 мс; ...   Apr 7 2008, 08:01
- - jin_jin   Я просто думаю что может у меня проблема в дальнос...   Apr 7 2008, 08:09
- - jin_jin   Ну вроде проблема решилась. Заработало через всю к...   Apr 7 2008, 10:12
|- - sKWO   Цитата(jin_jin @ Apr 7 2008, 13:12) Ну вр...   Apr 7 2008, 12:37
|- - sKWO   Пока дошол домой, возникла мысль что увеличить дал...   Apr 7 2008, 17:58
- - Палыч   Заменять кварц - нет смысла. На таких скоростях, к...   Apr 8 2008, 05:20
- - jin_jin   Транзисторы использовал разные и КТ972 и КТ630 и К...   Apr 8 2008, 07:00
- - Катушка   День добрый, уважаемые! Как правильно выстави...   Apr 22 2008, 12:37
|- - defunct   Цитата(Катушка @ Apr 22 2008, 14:37) Попы...   Apr 22 2008, 21:09
- - DI HALT   Цитата(defunct @ Apr 23 2008, 00:09) По у...   Apr 26 2008, 23:14
- - dx40   Цитата(DI HALT @ Apr 27 2008, 03:14) Вооб...   Apr 28 2008, 06:45
- - DI HALT   Цитата(dx40 @ Apr 28 2008, 09:45) Не совс...   Apr 28 2008, 07:41


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

 


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


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