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

 
 
4 страниц V  « < 2 3 4  
Reply to this topicStart new topic
> Трабл с USART1 в Mega64, Не работают прерывания !!!
srg_co
сообщение Aug 24 2006, 14:14
Сообщение #46


Частый гость
**

Группа: Свой
Сообщений: 131
Регистрация: 22-03-05
Из: Краснодар
Пользователь №: 3 600



Цитата(vet @ Aug 24 2006, 16:21) *
Компилятор крайним оказался? ну-ну smile.gif
Работаю в CV пять лет; со всей периферией он работает отлично, и с USART1 тоже.
Ищите ошибку в программе. Проверьте настройки проекта.

Я не говорил, что он кривой, а баги в нем есть, достаточно историю версий посмотреть.
Go to the top of the page
 
+Quote Post
vet
сообщение Aug 25 2006, 06:04
Сообщение #47


Знающий
****

Группа: Свой
Сообщений: 550
Регистрация: 16-06-04
Из: Казань
Пользователь №: 32



Как и в любой программе.
За все время работы сталкивался с багами в CV один или два раза, оба проявились на нетипичных сишных конструкциях.
Повторюсь, никаких багов при работе из CV с периферией меги128 не замечал. Просто отладьте программу; компилятор - последнее, что стоит рассматривать, как причину её неработоспособности.


--------------------
Главная линия этого опуса ясна мне насквозь!
Go to the top of the page
 
+Quote Post
srg_co
сообщение Aug 25 2006, 08:09
Сообщение #48


Частый гость
**

Группа: Свой
Сообщений: 131
Регистрация: 22-03-05
Из: Краснодар
Пользователь №: 3 600



Цитата(vet @ Aug 25 2006, 10:04) *
Как и в любой программе.
За все время работы сталкивался с багами в CV один или два раза, оба проявились на нетипичных сишных конструкциях.
Повторюсь, никаких багов при работе из CV с периферией меги128 не замечал. Просто отладьте программу; компилятор - последнее, что стоит рассматривать, как причину её неработоспособности.

Вау, нашел в чем проблема ! Выключил прерывание Timer3 по переполнению и все заработало. Хотя прерывание от таймер работало исправно, идем дальше, по прерыванию таймер инициализировался значением: 0xFFFF, включаю таймер, ставлю значение: 0x1234, все продолжает работать blink.gif

Какие мысли у народа есть по этому поводу ?
Go to the top of the page
 
+Quote Post
vet
сообщение Aug 25 2006, 09:26
Сообщение #49


Знающий
****

Группа: Свой
Сообщений: 550
Регистрация: 16-06-04
Из: Казань
Пользователь №: 32



Разберитесь, с какой частотой возникало прерывание от таймера.
У меня подозрение, что м/к из него не вылезал, и до обработки прерывания от USART1 дело просто не доходило.

Подсказка: обсуждаемые прерывания по убыванию приоритета - USART0_RX > TIMER3_OVF > USART1_RX.


--------------------
Главная линия этого опуса ясна мне насквозь!
Go to the top of the page
 
+Quote Post
srg_co
сообщение Aug 25 2006, 14:02
Сообщение #50


Частый гость
**

Группа: Свой
Сообщений: 131
Регистрация: 22-03-05
Из: Краснодар
Пользователь №: 3 600



Цитата(vet @ Aug 25 2006, 13:26) *
Разберитесь, с какой частотой возникало прерывание от таймера.
У меня подозрение, что м/к из него не вылезал, и до обработки прерывания от USART1 дело просто не доходило.

Подсказка: обсуждаемые прерывания по убыванию приоритета - USART0_RX > TIMER3_OVF > USART1_RX.

У меня была мысль по этому поводу, таймер генерит примерно 16800Hz

В общем будем считать что проблема решена, всем огромное спасибо за помощь!
Go to the top of the page
 
+Quote Post
WHALE
сообщение Aug 25 2006, 15:29
Сообщение #51


Знающий
****

Группа: Свой
Сообщений: 902
Регистрация: 2-01-06
Из: Краснодар
Пользователь №: 12 768



Вообще-то такие проблемы решаются довольно быстро в симуляторе VMLAB,там есть такая фича-симуляцяция 2 процессоров.Очень неплохо позволяет отлавливать баги межпроцессорного обмена.
Правда,в вашем случае все было еще проще smile.gif


--------------------
"Hello, word!" - 17 errors 56 warnings
Go to the top of the page
 
+Quote Post

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

 


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


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