Перейти к содержанию
    

Задача интересует в самом общем виде. Но, видя вашу склонность к конкретизации :), предложу задачу моргания светодидом 1 раз в секунду (сигнализируя о работоспособности устройства) не прибегая к прерываниям! Очевидно, что "задержка до 2 МЦ" в этом деле несущественна.

 

Ну, а дальше-то что? Как мне теперь событие 7-го канала превратить во что-то реальное?

Есть у меня флаг

PORTCFG_EVOUT_PE7_gc, ///< Event Channel 7 Output on Port E pin 7

якобы способный вывести событие на пин PE7, но что для этого надо сделать? Куда этот флаг пихать?

Моя склонность к конкретизации вызвана только необходимостью сузить рамки материала для изучения ))

Судя по дейташиту, функциональность Ивент Систем весьма ограничена, на вывод (и обратно) можно отмапить только из Канала 0 Ивент Систем на ножку Порт 7. Раздел 15.1 предпоследняя строка.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Моя склонность к конкретизации вызвана только необходимостью сузить рамки материала для изучения ))

Судя по дейташиту, функциональность Ивент Систем весьма ограничена, на вывод (и обратно) можно отмапить только из Канала 0 Ивент Систем на ножку Порт 7. Раздел 15.1 предпоследняя строка.

 

Если вы понимаете, что там написано, то ... напишите строку кода! :) Мне уже совершенно наплевать, нулевой там номер или седьмой. Дайте хоть хоть одним глазком взглянуть на реализацию ЛЮБОГО варианта, где "Event System" дергает пином! И чтобы без всяких оговорок типа "знаю, как это делается, но вам не скажу, т.к. к вашему номеру пина это не подойдет".

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Xenia, найдите описание регистра CLKEVOUT . Думаю Вам это поможет... :)

PS. A1 уже не флагман. Флагман A1U...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Xenia, найдите описание регистра CLKEVOUT . Думаю Вам это поможет... :)

Это я видела, оно из другой оперы - к "Event System" отношения не имеет, а просто тактовую частоту (периферийную) на пин гонит. Это совершенно не то.

 

PS. A1 уже не флагман. Флагман A1U...

Флагманом я назвала его не потому, что он самый лучший, а потому, что самый первый, тогда как A1U - лишь его немного усовершенствованная копия.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Еще раз посмотрите!

13.15.4 CLKEVOUT - Clock and Event Out Register

• Bit 7:6 - Reserved

These bits are reserved and will always be read as one. For compatibility with future devices,

always write these bits to zero when this register is written.

• Bit 5:4 - EVOUT[1:0] - Event Output Port

These bits decide which port the Event Channel 0 from the Event System should be output to.

Pin 7 on the selected port is always used, and the CLKOUT bits must be set different from

EVOUT. The pin must be configured as an output pin for the Signaling Event to be available on

the pin.

Table 13-7 on page 145 shows the possible configurations.

• Bits 3:2 - Reserved

These bits are reserved and will always be read as one. For compatibility with future devices,

always write these bits to zero when this register is written.

• Bit 1:0 - CLKOUT[1:0] - Clock Output Port

These bits decide which port the Peripheral Clock should be output to. Pin 7 on the selected port

is always used. The Clock output setting, will override the Event output setting, thus if both are

enabled on the same port pin, the Peripheral Clock will be visible. The pin must be configured as

an output pin for the Clock to be available on the pin.

 

Это регистр отвечает и за вывод частоты и за событие.

Table 13-7. Event Channel 0 output configurations

EVOUT[1:0] Group Configuration Description

00 OFF Event out disabled

01 PC7 Event Channel 0 output on Port C pin 7

10 PD7 Event Channel 0 output on Port D pin 7

11 PE7 Event Channel 0 output on Port E pin 7

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У моих портов нет регистра CLKEVOUT :). Этот регистр из категории виртуальных портов, которые я еще не освоила (и что-то не тянет). А у простых портов типа PORTA, PORTB, PORTC, PORTD, PORTE и PORTF такого расширения нет.

 

Скажем, такие бывают:

PORTB.OUT

PORTE.DIR

PORTE.INTCTRL

PORTE.INT1MASK

PORTE.INTFLAGS

PORTE.INT0MASK

 

А вот такого не бывает:

PORTE.CLKEVOUT

 

Error[Pe136]: struct "PORT_struct" has no field "CLKEVOUT"

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А вот такого не бывает:

PORTE.CLKEVOUT

 

Error[Pe136]: struct "PORT_struct" has no field "CLKEVOUT"

Ксения, ну где-то есть этот CLKEVOUT. Нужно хидер прочитать, ты ж программист. И вообще, это уже становится частным вопросом, АртемКАД вот подключился. Может сперва сами порешаем, а потом решение сюда? А если кто из форумчан знает, сам отпишется.

А если у АртемКАД есть решение, то я попрошу его не говорить сразу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

хоть он и сидит рядом с виртуальными портами, но отношения к ним прямого не имеет, просто состоит вместе с ними в одной группе PORTCFG ...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

хоть он и сидит рядом с виртуальными портами, но отношения к ним прямого не имеет, просто состоит вместе с ними в одной группе PORTCFG ...

Не совсем вместе с ними. Просто в PORTCFG засунули в т.ч. и настройку виртуальных портов. Эдакая общая группа портов для того, что в специализированные группы не влезло, но к портам относится. Сами-же виртуальные порты отдельно в VPORTх . Хотя я так пока и не вкурил зачем они вообще нужны...

В общем PORTCFG.CLKEVOUT в помощь...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В общем PORTCFG.CLKEVOUT в помощь...

100%

 

И у меня вопрос (дабы не плодить тем).

Почему на xmega128A1U не выводится на пин clkPER4?

Т.е. clkPER и clkPER2 выводится а clkPER4 нет.

Пробывал при clkPER4=128MHz, clkPER2=64MHz, clkPER=32MHz.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

т.е. при выводе просто тишина? ради эксперимента попробуйте в целом уменьшить все частоты и попробовать так.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

т.е. при выводе просто тишина?

Да, ноль.

 

ради эксперимента попробуйте в целом уменьшить все частоты и попробовать так.

Необходимо было имеено 128MHz на пине получить.

Экспериментировать сейчас некогда, да и не актуально уже.

Просто думал сталкивался ли кто с этим

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Пробывал при clkPER4=128MHz, clkPER2=64MHz, clkPER=32MHz.

 

А что, разве на Xmega можно частоты выше, чем 32 МГц получать? Не знала... Точнее, видела, что множитель позволяет умножать аж до 31 раз, но думала, что это для медленных кварцев сделано, а верхнюю границу в 32 МГц нарушать нельзя. Или все-таки можно? И если да, то как? И какие возможности это дает? Таймеры быстрее заработают?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

К примеру clkPER4 можно использовать для увеличения точности PWM.

 

32МГц это верх для ядра. А к примеру на USB надо подать 48МГц.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А что, разве на Xmega можно частоты выше, чем 32 МГц получать? Не знала... Точнее, видела, что множитель позволяет умножать аж до 31 раз, но думала, что это для медленных кварцев сделано, а верхнюю границу в 32 МГц нарушать нельзя. Или все-таки можно? И если да, то как? И какие возможности это дает? Таймеры быстрее заработают?

Можно нарушать, только неизвестно, как долго проработает. У меня один опытный образец уже полтора года на 48МГц работает и полностью исправен. Работает от внешнего кварца на 8 МГц и PLL на 6. Выше поднимать удавалось, уже не помню до скольки, но потом засомневался и прекратил эксперименты, оставив на 48МГц. Нагреваний МК-ра замечено не было. Ну, а таймеры могут тактироваться вместе с CPU или через делитель, так что - да, таймеры заработают быстрее.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...