Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
20.05.2011, 10:43
|
|
Временная регистрация
Регистрация: 12.02.2010
Сообщений: 54
Сказал спасибо: 116
Сказали Спасибо 15 раз(а) в 9 сообщении(ях)
|
Re: Таймеры CY7C68013A
Мне кажется, поставьте простенький микроконтроллер и управляйте ипмульсами как хотите и сколько хотите.....
|
|
|
|
20.05.2011, 11:36
|
|
Частый гость
Регистрация: 21.03.2011
Сообщений: 12
Сказал спасибо: 7
Сказали Спасибо 7 раз(а) в 7 сообщении(ях)
|
Re: Таймеры CY7C68013A
Сообщение от tolikvoron
|
Мне кажется, поставьте простенький микроконтроллер и управляйте ипмульсами как хотите и сколько хотите.....
|
Такой вариант не подходит. Нужен именно этот микроконтроллер...
Мне бы пример программы под него...точней кусок программы, где обрабатывается прерывание, и переход в подпрограмму, и обратно...(в Keil uVision)
|
|
|
|
20.05.2011, 19:47
|
|
Частый гость
Регистрация: 21.03.2011
Сообщений: 12
Сказал спасибо: 7
Сказали Спасибо 7 раз(а) в 7 сообщении(ях)
|
Re: Таймеры CY7C68013A
Ещё вопрос.
Нашёл в мануале такой режим работы микроконтроллера:
Timer 2 — Baud Rate Generator Mode
Описание режима:
Setting either RCLK or TCLK to 1 configures Timer 2 to generate baud rates for Serial Port 0 in
serial mode 1 or 3. Figure 14-6 is the functional diagram for the Timer 2 baud rate generator mode.
In baud rate generator mode, Timer 2 functions in auto-reload mode. However, instead of setting
the TF2 flag, the counter overflow is used to generate a shift clock for the serial port function. As in
normal auto-reload mode, the overflow also causes the pre-loaded start value in the RCAP2L and
RCAP2H Registers to be reloaded into the TL2 and TH2 Registers.
When either TCLK = 1 or RCLK = 1, Timer 2 is forced into auto-reload operation, regardless of the
state of the CP/RL2 Bit. Timer 2 is used as the receive baud clock source when RCLK=1, and as
the transmit baud clock source when TCLK=1.
When operating as a baud rate generator, Timer 2 does not set the TF2 Bit. In this mode, a Timer
2 interrupt can only be generated by a high-to-low transition on the T2EX pin setting the EXF2 Bit,
and only if enabled by EXEN2 = 1.
The counter time base in baud rate generator mode is CLKOUT/2. To use an external clock
source, set C/T2 to 1 and apply the desired clock source to the T2 pin.
И диаграмма:
Насколько я понял - это как раз и есть переход в подпрограмму при переполнении? Или нет? Описание просто на англ., который мне в данном случае не очень понятен...
|
|
|
|
20.05.2011, 21:28
|
|
Почётный гражданин KAZUS.RU
Регистрация: 18.06.2006
Адрес: Литва
Сообщений: 2,206
Сказал спасибо: 1,448
Сказали Спасибо 2,001 раз(а) в 685 сообщении(ях)
|
Re: Таймеры CY7C68013A
Это режим работы таймера для задания скорости по последовательному порту.
Так написано в Вашей цитате.
|
|
|
Сказали "Спасибо" trampampusha
|
|
|
21.05.2011, 22:08
|
|
Частый гость
Регистрация: 21.03.2011
Сообщений: 12
Сказал спасибо: 7
Сказали Спасибо 7 раз(а) в 7 сообщении(ях)
|
Re: Таймеры CY7C68013A
Добрый всем вечер.
Возникла след. проблема с таймером этим...
Сейчас перед запуском таймера разрешаю все прерывания, выставив соотв. биты в единицы:
IE = 0xA0; (7 и 5-й биты) - глобальные прерывания, и для таймера 2.
НО, после этого таймер отказывается работать корректно...
Дело в том, что он работает у меня в режиме 16-bit timer/counter with auto-reload
По такой схеме:
When CP/RL2 = 0, Timer 2 is configured for the auto-reload mode illustrated in Figur e14-5. Control
of counter input is the same as for the other 16-bit counter modes. When the count increments
from 0xFFFF, Timer 2 sets the TF2 flag and the starting value is reloaded into TL2 and TH2. Software
must preload the starting value into the RCAP2L and RCAP2H registers.
When Timer 2 is in auto-reload mode, a reload can be forced by a high-to-low transition on the
T2EX pin, if enabled by EXEN2 = 1.
Регистры RCAP2L и RCAP2H я задаю самостоятельно через Cypress Console.
В зависимости от этих значений мы устанавливаем частоту. Но как только я разрешаю прерывания, как я выше писал, то таймер отказывается менять значения, т.е. игнорирует вводимые данные...
Может кто знает, в чём может быть проблема???
Последний раз редактировалось Ksardasss; 21.05.2011 в 22:11.
|
|
|
|
21.05.2011, 22:25
|
|
Частый гость
Регистрация: 21.03.2011
Сообщений: 12
Сказал спасибо: 7
Сказали Спасибо 7 раз(а) в 7 сообщении(ях)
|
Re: Таймеры CY7C68013A
Ещё один вопрос...
Подпрограмма прерывания определяется так же:
void timer2(void) interrupt 5
{
}
В разделе USB Interrupt Handlers в программе?
Просто добавляя такой обработчик, у меня при компиляции в Keil появляется Warning:
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
SEGMENT: ?PR?TIMER2?BULKLOOP_NEW1
BULKLOOP_NEW1 - название программы...
Т.е. эта подпрограмма вообще игнорится?
|
|
|
|
22.05.2011, 19:59
|
|
Частый гость
Регистрация: 21.03.2011
Сообщений: 12
Сказал спасибо: 7
Сказали Спасибо 7 раз(а) в 7 сообщении(ях)
|
Re: Таймеры CY7C68013A
Ну второй вопрос снят... Я подпрограмму не туда вставлял ![Улыбка](images/smilies/icon_smile.gif)
А вот с первым так и не понятно...
|
|
|
|
23.05.2011, 00:08
|
|
Почётный гражданин KAZUS.RU
Регистрация: 18.06.2006
Адрес: Литва
Сообщений: 2,206
Сказал спасибо: 1,448
Сказали Спасибо 2,001 раз(а) в 685 сообщении(ях)
|
Re: Таймеры CY7C68013A
Сообщение от Ksardasss
|
Регистры RCAP2L и RCAP2H я задаю самостоятельно через Cypress Console.
В зависимости от этих значений мы устанавливаем частоту. Но как только я разрешаю прерывания, как я выше писал, то таймер отказывается менять значения, т.е. игнорирует вводимые данные...
Может кто знает, в чём может быть проблема???
|
Читайте доку!!!
В одном из первых своих ответов я писАл, что сначала загружаете счетчик, а потом уже разрешаете прерывания.
При этом я об этом говорил не раз, но Вы проигнорировали эту рекомнендацию.
Сообщение от trampampusha
|
Ваша задача после загрузки значения в таймер (значения формирования интервала), следующей командой разрешить прерывание от таймера и сбросить этот флаг, а затем ждать, когда таймер переполнится.
|
Я всегда так работаю и проблем с подобными глюками не наблюдаю.
Это у меня как правило.
Последний раз редактировалось trampampusha; 23.05.2011 в 00:10.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 07:40.
|
|