Например TDA7294

Форум РадиоКот • Просмотр темы - AVRISP mkII новый клон (поддерживает XMEGA)
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Сб июн 21, 2025 04:37:22

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 2041 ]     ... , , , , 103
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: AVRISP mkII новый клон (поддерживает XMEGA)
СообщениеДобавлено: Сб июн 07, 2025 20:50:27 
Первый раз сказал Мяу!
Аватар пользователя

Зарегистрирован: Пт мар 04, 2016 08:04:38
Сообщений: 24
Рейтинг сообщения: 0
Здравствуйте.
По книжке я научился настраивать таймер по совпадению при сравнении.
Ниже написан пример из книги. Он дергает пином PCO, это работает, значит таймер настроен верно.
Изучил все регистры таймеров, установил срабатывание прерывания по совпадению.
Сделал указатель вектора прерывания по совпадения на процедуру инвертирования пина в порту А. Но пин не переключается, значит прерывание либо не срабатывает, либо я с векторами напутал.

Пожалуйста помогите разобраться.

Код:
.include "ATxmega128A1def.inc"

#define F_CPU      32000000                           ;

.def temp    =R16


.DSEG

cnt:      .byte   1

.CSEG
.ORG 0
         rjmp   reset


.ORG TCC0_CCA_vect
         jmp     TCC0CCA                        ; вектор прервывания по совпадению таймера 0


.ORG 0xF6

reset:      LDI      temp,      LOW(RAMEND)            
         LDI      R17,         HIGH(RAMEND)         
         OUT      CPU_SPL,       temp               
         OUT      CPU_SPH,       R17
   

         ldi      temp,         0x01               ; configure PCO pin for output
         sts      PORTC_DIR,      temp
         ldi      temp,         0b00010001         ; configure CCA to operate in FRQ mode
         sts      TCC0_CTRLB,      temp
         ldi      temp,         low(399)            ; set up TOP value for channel A
         sts    TCC0_CCA,      temp
         ldi    temp,         high(399)
         sts      TCC0_CCA+1,      temp
         ldi    temp,         0                  ; disable capture and any event action
         sts      TCC0_CTRLD,      temp
         ldi      temp,         0b00000100            ; select clk_PER/4 as timer clock input
         sts      TCC0_CTRLA,      temp

         ldi    temp,         0b00000011            ; включить прерывание по совпадению таймера
         sts      TCC0_INTCTRLB,   temp
         ;ldi    temp,         0b00000111            ;
         ;sts      OSC_CTRL,      temp   


         ldi    temp,          0b00100000            ;set R17 to 11
          sts    PORTA_DIRSET,    temp                 ;set all the GPIO's in the four bit PORTA as outputs

         sei

LOOP:      nop           
         rjmp    LOOP     
         
         
TCC0CCA:   sts    PORTA_OUTTGL,   temp                  ;toggle the state of all the pins in PORTA 
         reti                        



Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 2041 ]     ... , , , , 103

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 20


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

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y