Anthoni 0 29 апреля, 2010 Опубликовано 29 апреля, 2010 (изменено) · Жалоба USART посылает не то что надо, взглянул на осциллограф - скорость сильно медленная. Кварц 11,0592, фузы уже вроде все перепробовал устанавливать (CKOPT,CKSEL1,SUT1..0) - безрезультатно. Вроде всё работает верно, кроме USART. В протезусе всё нормально... Помогите! Изменено 29 апреля, 2010 пользователем Anthoni Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
chief_olimp 0 29 апреля, 2010 Опубликовано 29 апреля, 2010 · Жалоба такие вопросы нужно задавать в разделе для начинающих это раз. Здесь не так много ясновидящих это два. Где кусок программы? На чем проверял в железе? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Anthoni 0 29 апреля, 2010 Опубликовано 29 апреля, 2010 (изменено) · Жалоба Как бывалый - имею право :) . Проверял софтом ПК (заведомо рабочим), написаным для этого МК и работающим на ск.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) Изменено 29 апреля, 2010 пользователем Anthoni Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GDI 0 29 апреля, 2010 Опубликовано 29 апреля, 2010 · Жалоба А какой камень у вас? Какой компилятор? Какие инклюды подключены (какой камень выбран в настройках проекта)? Вообще, хорошо заданный вопрос содержит в себе половину ответа, а у вас явно плохо заданный вопрос. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
chief_olimp 0 29 апреля, 2010 Опубликовано 29 апреля, 2010 · Жалоба Раньше был опыт использования связки ПК - МК? Если нет то давай сюда схему кабеля распиновку Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Duhas 0 29 апреля, 2010 Опубликовано 29 апреля, 2010 · Жалоба битик удвоения скорости не трогали? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
lackertong 0 29 апреля, 2010 Опубликовано 29 апреля, 2010 · Жалоба Ну да, вроде все верно. Схема нужна, сильно медленно, может там прерывания чужие идут бесконтрольно, процессор просто зашивается. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Anthoni 0 29 апреля, 2010 Опубликовано 29 апреля, 2010 · Жалоба А какой камень у вас? Какой компилятор? Какие инклюды подключены (какой камень выбран в настройках проекта)? Вообще, хорошо заданный вопрос содержит в себе половину ответа, а у вас явно плохо заданный вопрос. 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) Раньше был опыт использования связки ПК - МК? Если нет то давай сюда схему кабеля распиновку Да, всё правильно связано, через max232. Есть даже рабочий зашитый проц (AT89S8253), который нормально работает в этой схеме, по работе которого писал для меги8515. Он должен ответить при правильном получении байта, но увы байт сильно "медленный". битик удвоения скорости не трогали? Пока нетрогал :), в протеусе работает нормально, через виртуальный ком-порт связано с приложением и там же тестировалось/отлаживалось... Ну да, вроде все верно. Схема нужна, сильно медленно, может там прерывания чужие идут бесконтрольно, процессор просто зашивается. Вот это щас и проверю... Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Anthoni 0 29 апреля, 2010 Опубликовано 29 апреля, 2010 (изменено) · Жалоба Так и есть, проблема оказалась в прерываниях. По запросу внешнего прерывания МК должен был слать 1 байт на ПК, прерывание было настроено - ISC11, ISC10: 0 0 The low level of INT1 generates an interrupt request, видимо МК слал кучу одинаковых байтов пока нога была в "0" (что мне и показалось на осциллографе как "медленный" 1 байт :) ). Вылечил установкой в MCUCR ISC11, ISC10: 1 0 - The falling edge of INT1 generates an interrupt request. Всем большое спасибо за оперативный отклик! CLOSED! Изменено 29 апреля, 2010 пользователем Anthoni Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться