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

 
 
 
Closed TopicStart new topic
> Не работает USART на скорости 19200 с кварцом 11,0592, ATMEGA8515, помогите!
Anthoni
сообщение Apr 29 2010, 07:56
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 64
Регистрация: 1-12-07
Пользователь №: 32 864



USART посылает не то что надо, взглянул на осциллограф - скорость сильно медленная. Кварц 11,0592, фузы уже вроде все перепробовал устанавливать (CKOPT,CKSEL1,SUT1..0) - безрезультатно. Вроде всё работает верно, кроме USART. В протезусе всё нормально... Помогите!

Сообщение отредактировал Anthoni - Apr 29 2010, 08:18
Go to the top of the page
 
+Quote Post
chief_olimp
сообщение Apr 29 2010, 08:01
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 249
Регистрация: 31-10-05
Из: Украина Нетешин
Пользователь №: 10 344



такие вопросы нужно задавать в разделе для начинающих это раз.
Здесь не так много ясновидящих это два.
Где кусок программы? На чем проверял в железе?
Go to the top of the page
 
+Quote Post
Anthoni
сообщение Apr 29 2010, 08:13
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 64
Регистрация: 1-12-07
Пользователь №: 32 864



Как бывалый - имею право smile.gif .
Проверял софтом ПК (заведомо рабочим), написаным для этого МК и работающим на ск.19200. +
Цитата
взглянул на осциллограф
, +
Цитата
В протезусе всё нормально...



Код
#define FCLK 11059200    
#define BAUD 19200
// Calculate the UBRR setting
#define UBRR ((long) FCLK/(16*BAUD)-1)

инициализация:
Код
// USART initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART Receiver: On
// USART Transmitter: On
// USART Mode: Asynchronous
// USART Baud Rate: BAUD
UCSRA=0x00;
UCSRB=0x98;
UCSRC=0x86;
UBRRH=UBRR >> 8;
UBRRL=UBRR & 0xFF;


смотрел в регистры: 35 - загружается в UBBRL (что по документации соответствует 19200 с кварцем 11,0592)

Сообщение отредактировал Anthoni - Apr 29 2010, 08:20
Go to the top of the page
 
+Quote Post
GDI
сообщение Apr 29 2010, 08:42
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 235
Регистрация: 14-05-05
Из: Санкт-Петербург
Пользователь №: 5 008



А какой камень у вас? Какой компилятор? Какие инклюды подключены (какой камень выбран в настройках проекта)?

Вообще, хорошо заданный вопрос содержит в себе половину ответа, а у вас явно плохо заданный вопрос.


--------------------
http://www.embedders.org Блоги разработчиков электроники.
Go to the top of the page
 
+Quote Post
chief_olimp
сообщение Apr 29 2010, 08:44
Сообщение #5


Местный
***

Группа: Участник
Сообщений: 249
Регистрация: 31-10-05
Из: Украина Нетешин
Пользователь №: 10 344



Раньше был опыт использования связки ПК - МК? Если нет то давай сюда схему кабеля распиновку
Go to the top of the page
 
+Quote Post
Duhas
сообщение Apr 29 2010, 09:13
Сообщение #6


Местный
***

Группа: Участник
Сообщений: 227
Регистрация: 13-04-07
Пользователь №: 27 018



битик удвоения скорости не трогали?
Go to the top of the page
 
+Quote Post
lackertong
сообщение Apr 29 2010, 09:27
Сообщение #7





Группа: Участник
Сообщений: 5
Регистрация: 29-04-10
Пользователь №: 56 971



Ну да, вроде все верно. Схема нужна, сильно медленно, может там прерывания чужие идут бесконтрольно, процессор просто зашивается.
Go to the top of the page
 
+Quote Post
Anthoni
сообщение Apr 29 2010, 11:57
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 64
Регистрация: 1-12-07
Пользователь №: 32 864



Цитата(GDI @ Apr 29 2010, 11:42) *
А какой камень у вас? Какой компилятор? Какие инклюды подключены (какой камень выбран в настройках проекта)?

Вообще, хорошо заданный вопрос содержит в себе половину ответа, а у вас явно плохо заданный вопрос.


CVAVR 2.03.4

Код
Chip type           : ATmega8515
Program type        : Application
Clock frequency     : 11,059200 MHz
Memory model        : Small
External RAM size   : 0
Data Stack size     : 128
*****************************************************/

#include <mega8515.h>
#include <stdio.h>
#include <stdlib.h>
#include <delay.h>
#include <string.h>

#define FCLK 11059200    
#define BAUD 19200
// Calculate the UBRR setting
#define UBRR ((long) FCLK/(16*BAUD)-1)



Цитата(chief_olimp @ Apr 29 2010, 11:44) *
Раньше был опыт использования связки ПК - МК? Если нет то давай сюда схему кабеля распиновку


Да, всё правильно связано, через max232. Есть даже рабочий зашитый проц (AT89S8253), который нормально работает в этой схеме, по работе которого писал для меги8515. Он должен ответить при правильном получении байта, но увы байт сильно "медленный".

Цитата(Duhas @ Apr 29 2010, 12:13) *
битик удвоения скорости не трогали?

Пока нетрогал smile.gif, в протеусе работает нормально, через виртуальный ком-порт связано с приложением и там же тестировалось/отлаживалось...

Цитата(lackertong @ Apr 29 2010, 12:27) *
Ну да, вроде все верно. Схема нужна, сильно медленно, может там прерывания чужие идут бесконтрольно, процессор просто зашивается.

Вот это щас и проверю...
Go to the top of the page
 
+Quote Post
Anthoni
сообщение Apr 29 2010, 13:03
Сообщение #9


Участник
*

Группа: Участник
Сообщений: 64
Регистрация: 1-12-07
Пользователь №: 32 864



Так и есть, проблема оказалась в прерываниях. По запросу внешнего прерывания МК должен был слать 1 байт на ПК, прерывание было настроено - ISC11, ISC10: 0 0 The low level of INT1 generates an interrupt request, видимо МК слал кучу одинаковых байтов пока нога была в "0" (что мне и показалось на осциллографе как "медленный" 1 байт smile.gif ). Вылечил установкой в MCUCR ISC11, ISC10: 1 0 - The falling edge of INT1 generates an interrupt request.
Всем большое спасибо за оперативный отклик! CLOSED!

Сообщение отредактировал Anthoni - Apr 29 2010, 13:04
Go to the top of the page
 
+Quote Post

Closed TopicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


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


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