Портал для радиолюбителей и разработчиков электроники · с 2003 годаРеклама на сайте
Найти компонент, схему или даташит

Даташиты, справочник отечественных приборов, схемы с разбором и живой форум

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы

Вопросик по RTC в LPC23xx

Непрочитано 24.05.2011, 09:39  
serb-radio
Гражданин KAZUS.RUN
 
Регистрация: 01.01.2007
Адрес: Таганрог
Сообщений: 571
Сказал спасибо: 26
Сказали Спасибо 213 раз(а) в 91 сообщении(ях)
serb-radio на пути к лучшему
Вопрос Вопросик по RTC в LPC23xx

Доброго времени суток! Ваяю устройство, где надо раз в секунду обновлять показания. Решил сделать по прерыванию от RTC по инкриментированию секундного регистра (использую внешний часовой кварц). При этом получаются стабильные подвисания программы. Уважаемые знатоки, можете ткнуть носом, где ошибка. Код программы:
конфиг RTC:


RTC_CCR = 0x00000000; //Clear the clock control register
RTC_CIIR = 0x00000001; //Enable seconds counter interrupt
RTC_AMR = 0x000000FE; //Enable seconds Alarm
RTC_CCR |= 0x1 | 0x1‹‹4; //Start the RTC


обработчик прерывания:

void RTC_isr (void) __irq
{
sec++;

FIO1SET|= _BV(15);
pause(10);
FIO1CLR|=_BV(15);
pause(10);
TFT_wr_3dig (15,250, sec);

RTC_ILR = 0x01; //Clear the interrupt register

VICVectAddr = 0;
return;
}
В проге поотключал уже другие все прерывания, оставил токо от RTC
Реклама:
__________________
То, что нас не убивает - делает нас сильнее
serb-radio вне форума  
Непрочитано 24.05.2011, 11:12  
Ivan Panov
Частый гость
 
Регистрация: 02.02.2010
Адрес: Одесская обл.
Сообщений: 32
Сказал спасибо: 0
Сказали Спасибо 24 раз(а) в 12 сообщении(ях)
Ivan Panov на пути к лучшему
По умолчанию Re: вопросик по RTC в LPC23xx

Сообщение от serb-radio Посмотреть сообщение
обработчик прерывания:

void RTC_isr (void) __irq
{
sec++;

FIO1SET|= _BV(15);
pause(10);
FIO1CLR|=_BV(15);
pause(10);
TFT_wr_3dig (15,250, sec);

RTC_ILR = 0x01; //Clear the interrupt register

VICVectAddr = 0;
return;
}
Возможно из-за пауз в теле прерывания, я имею ввиду не только функции pause() но и TFT_wr_3dig(). Вынесите их из тела прерывания
Ivan Panov вне форума  
Непрочитано 24.05.2011, 11:20  
serb-radio
Гражданин KAZUS.RUN
 
Регистрация: 01.01.2007
Адрес: Таганрог
Сообщений: 571
Сказал спасибо: 26
Сказали Спасибо 213 раз(а) в 91 сообщении(ях)
serb-radio на пути к лучшему
По умолчанию Re: вопросик по RTC в LPC23xx

а тогда как мне сделать вывод по интеррупту? зачем он нужен если я не могу в его теле сделать вызов нужной мне функции или я чего то не так понял
__________________
То, что нас не убивает - делает нас сильнее
serb-radio вне форума  
Непрочитано 24.05.2011, 11:24  
serb-radio
Гражданин KAZUS.RUN
 
Регистрация: 01.01.2007
Адрес: Таганрог
Сообщений: 571
Сказал спасибо: 26
Сказали Спасибо 213 раз(а) в 91 сообщении(ях)
serb-radio на пути к лучшему
По умолчанию Re: вопросик по RTC в LPC23xx

И еще интересная штука получается. В век-ре прерывания по РТС я дергаю пином, ели я запитываю плату от программатора, то частота дерганья пином 1 Гц, если же я запитываю плату от БП частота дерганья пином около 2кГц!!! что это может быть?
__________________
То, что нас не убивает - делает нас сильнее
serb-radio вне форума  
Непрочитано 24.05.2011, 11:27  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,821
Сказал спасибо: 919
Сказали Спасибо 4,289 раз(а) в 2,570 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: вопросик по RTC в LPC23xx

Некоторые компиляторы вообще не позволяют писать в прерывание паузу. И некоторые функции тоже.
Easyrider83 вне форума  
Непрочитано 24.05.2011, 11:32  
serb-radio
Гражданин KAZUS.RUN
 
Регистрация: 01.01.2007
Адрес: Таганрог
Сообщений: 571
Сказал спасибо: 26
Сказали Спасибо 213 раз(а) в 91 сообщении(ях)
serb-radio на пути к лучшему
По умолчанию Re: вопросик по RTC в LPC23xx

Компилятор Keil. Так все же остальное работает и функции в других прерываниях работают. Сейчас же я все другие прерывания поотключал чтоб выяснить что же все таки слияет на РТС но увы пока ни какого эффекта
__________________
То, что нас не убивает - делает нас сильнее
serb-radio вне форума  
Непрочитано 24.05.2011, 11:34  
serb-radio
Гражданин KAZUS.RUN
 
Регистрация: 01.01.2007
Адрес: Таганрог
Сообщений: 571
Сказал спасибо: 26
Сказали Спасибо 213 раз(а) в 91 сообщении(ях)
serb-radio на пути к лучшему
По умолчанию Re: вопросик по RTC в LPC23xx

Пробовал запускать и на внешнем кварце и через предделители опорной частоты периферии - та же ботва
__________________
То, что нас не убивает - делает нас сильнее
serb-radio вне форума  
Непрочитано 24.05.2011, 12:01  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,821
Сказал спасибо: 919
Сказали Спасибо 4,289 раз(а) в 2,570 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: вопросик по RTC в LPC23xx

Вам надо сам принцип изменить. У вас камень уходит в прерывание и оттуда не возвращается. Так код писать нельзя даже в состоянии алкогольного опьянения.
В прерывании поднимаете флаг.
В теле флаг опрашиваете и выполняете процедуру, с ним связанную. Вот вам и малое подобие операционной системы.
Easyrider83 вне форума  
Непрочитано 24.05.2011, 14:29  
serb-radio
Гражданин KAZUS.RUN
 
Регистрация: 01.01.2007
Адрес: Таганрог
Сообщений: 571
Сказал спасибо: 26
Сказали Спасибо 213 раз(а) в 91 сообщении(ях)
serb-radio на пути к лучшему
По умолчанию Re: вопросик по RTC в LPC23xx

т.е. в прерывании нельзя ничего писать коме выстановки флага то что прерывание произошло?, а выполнять все операции в основном цикле?
__________________
То, что нас не убивает - делает нас сильнее
serb-radio вне форума  
Непрочитано 24.05.2011, 15:18  
urry
Почётный гражданин KAZUS.RUN
 
Аватар для urry
 
Регистрация: 06.02.2007
Сообщений: 1,340
Сказал спасибо: 3
Сказали Спасибо 107 раз(а) в 66 сообщении(ях)
urry на пути к лучшему
По умолчанию Re: вопросик по RTC в LPC23xx

ну как бы есть исключения...но в основном - именно так.
__________________
warez
urry вне форума  
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Установка RTC по UPD запросу к SNTP серверу ikorsa Автоматика и аппаратура связи 2 28.12.2010 07:15
Вопросик по Silabs C8051FXXX serb-radio Микроконтроллеры, АЦП, память и т.д 3 29.12.2009 13:19
FM3130 RTC модуль с памятью - вопросы ZhilDV Микроконтроллеры, АЦП, память и т.д 2 19.04.2009 12:37
USART один вопросик renatavr Микроконтроллеры, АЦП, память и т.д 1 16.02.2008 13:34
RTC ds1307.. не могу прочитать сразу нельсколько байтов godz320 Микроконтроллеры, АЦП, память и т.д 1 22.01.2008 12:13


Часовой пояс GMT +4, время: 18:03.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.