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

 
 
> Timer A, Непонятки с работой ТА0 и ТА1
megabuks
сообщение Sep 26 2012, 13:41
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 44
Регистрация: 26-01-10
Из: Санкт-Петербург
Пользователь №: 55 080



Здравствуйте
Помогите разобраться с таймерами. Контроллер 430G2353.
что должна делать программа - подсчитывать число импульсов поступивших на таймер за период, задаваемый watchdog oм.
если стоит TA0 - все работает как надо
если в этом же коде поменять ТА0 на ТА1 то 1.IAR выдает ошибку (см выделение в тексте) 2.если закоментировать эту строку (где выдается ошибка, то все-равно импульсы не копяться)
Я считал что ТА0 и ТА1 идентичны. где я ошибаюсь?
CODE

bis #TACLR,&TA0CTL
mov #0x0320,&TA0CTL ;TASSEL_3+MC_2;// TACLK, cont mode ;for TACLK + cont.mode need 0x0026 ;0x0320
mov #0xe100,&TA0CCTL2 ; 0e100
;-------------------
mov #0x5a1e,&WDTCTL;wdthold=0,wdtnmies=0,wdtnmi=0,wdttmsel=1(interval mode),wdtcntcl=1(wdtcnt=0000h),wdtssel=1=aclk, wdtisxx=01=/8192

bis #TACLR,&TA0CTL
wait_capt6:
bit #CCIFG,&TA0CCTL2
jz wait_capt6
mov TA0R,r8 тут IAR выдает ошибку
mov &TA0CCR2,r9
......

;-------------
;WDT Interrupt
;-------------
WDT_INT:
xor #CCIS0,&TA0CCTL2

mov #WDTPW+WDTHOLD,&WDTCTL ; Stop watchdog timer
reti;

Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
controller_m30
сообщение Sep 30 2012, 11:04
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 356
Регистрация: 24-02-09
Пользователь №: 45 309



А в "железе" - это в смысле просто автономная работа контроллера, или пошаговая отладка на плате?
Go to the top of the page
 
+Quote Post
megabuks
сообщение Sep 30 2012, 12:29
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 44
Регистрация: 26-01-10
Из: Санкт-Петербург
Пользователь №: 55 080



Цитата(controller_m30 @ Sep 30 2012, 14:04) *
А в "железе" - это в смысле просто автономная работа контроллера, или пошаговая отладка на плате?

Пошаговая отладка. Причем не важно, выполняется ли именно шаг за шагом, или ставиться точка останова за процедурой (тут соответственно останов не срабатывает т.к. до него дойти не получается), или просто программа запускается на выполнение и потом в некий момент я ее останавливаю результат одинаковый. при записи значения в ТА1ССR0 устанавливается (и больше не сбрасывается ни очисткой бита ни записью mov #0,&TA1CCTL0) флаг CCIFG и соответственно висит прерывание от T1CCR0.
Тот-же код использовался для генерации интервала от таймера ТА0 в нем все четко - ничего лишнего не возникает.
Уже весь мозг сломал - не могу понять в чем дело....
Где-то мельком попадалась информация что ланчпады обновлялись и стали комплектоваться новыми контроллерами - может с этим как-то связано - но где я это видел найти не могу.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 22nd August 2025 - 14:19
Рейтинг@Mail.ru


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