К1921ВК01Т - вопросы по ТО и его доработка

32-разрядные микроконтроллеры разработки ОАО "НИИЭТ"

Модераторы: dav, bkolbov, pip, _sva_

Илья
Сообщения: 16
Зарегистрирован: 28 ноя 2018, 00:10
Предприятие: ЛЭМЗ

Re: К1921ВК01Т - вопросы по ТО и его доработка

Сообщение Илья » 17 янв 2019, 12:29

bkolbov писал(а):
17 янв 2019, 09:16
Добрый день!
Илья писал(а):
16 янв 2019, 13:34

Максим, а где можно подробнее прочитать про эти счетчики? У меня возник такой же вопрос по полю INTPRD?
Или прошу администраторов дать ответ на этот вопрос

Благодарю.
Подраздел 14.9 Триггер событий, описание регистра ETPS.

Вот именно между этим подразделом и описанием регистра предделителя триггера событий (табл А.12.21) и есть противоречие.
В подразделе говорится, что Если значение INTPRD = 00b,то счетчик отключен, а входные события игнорируются.
В описании регистра говорится:
INTPRD = 00b - прерывание по каждому событию
INTPRD = 01b - прерывание по первому событию
...

Чему верить? Что есть каждое и что есть первое событие?

Благодарю

bkolbov
Сообщения: 198
Зарегистрирован: 14 дек 2015, 11:37
Предприятие: АО НИИЭТ
Откуда: Воронеж

Re: К1921ВК01Т - вопросы по ТО и его доработка

Сообщение bkolbov » 17 янв 2019, 14:18

Если значение INTPRD = 00b,
то счетчик отключен, а входные события игнорируются.
Эта фраза неверна.

Про первое и каждое тоже не совсем корректно написано.
INTPRD = 00b - прерывание по каждому событию
INTPRD = 01b -прерывание каждые 2 события
INTPRD = 10b - прерывание каждые 3 события
INTPRD = 11b -прерывание каждые 4 события

Илья
Сообщения: 16
Зарегистрирован: 28 ноя 2018, 00:10
Предприятие: ЛЭМЗ

Re: К1921ВК01Т - вопросы по ТО и его доработка

Сообщение Илья » 17 янв 2019, 17:11

Про первое и каждое тоже не совсем корректно написано.
INTPRD = 00b - прерывание по каждому событию
INTPRD = 01b -прерывание каждые 2 события
INTPRD = 10b - прерывание каждые 3 события
INTPRD = 11b -прерывание каждые 4 события
скажите пожалуйста, а для полей SOCBPRD/SOCAPRD справедливо то, что написано в описании:
00 - выдача сигнала запрещена
01 - по первому событию ....
или для этих полей данного регистра также будет правильным Ваша поправка:
00 - сигнал по каждому событию
01 - сигнал по каждому 2 событию ...

Благодарю

Илья
Сообщения: 16
Зарегистрирован: 28 ноя 2018, 00:10
Предприятие: ЛЭМЗ

Re: К1921ВК01Т - вопросы по ТО и его доработка

Сообщение Илья » 28 янв 2019, 15:35

Ребят, а как же он может генерить прерывания на каждое четвертое событие, если счетчик считает только до 3?
Прошу дать правильную полную информацию по всем полям регистра ETPS.

благодарю

bkolbov
Сообщения: 198
Зарегистрирован: 14 дек 2015, 11:37
Предприятие: АО НИИЭТ
Откуда: Воронеж

Re: К1921ВК01Т - вопросы по ТО и его доработка

Сообщение bkolbov » 28 янв 2019, 16:50

Илья писал(а):
17 янв 2019, 17:11
скажите пожалуйста, а для полей SOCBPRD/SOCAPRD справедливо то, что написано в описании:
00 - выдача сигнала запрещена
01 - по первому событию ....
или для этих полей данного регистра также будет правильным Ваша поправка:
00 - сигнал по каждому событию
01 - сигнал по каждому 2 событию ...

Благодарю
SOCBPRD/SOCAPRD имеют точно такой же механизм функционирования как и INTPRD. Т.е. да, поправка актуальна и для них.
Илья писал(а):
28 янв 2019, 15:35
Ребят, а как же он может генерить прерывания на каждое четвертое событие, если счетчик считает только до 3?
Прошу дать правильную полную информацию по всем полям регистра ETPS.

благодарю
Информация выше корректна.
- счетчик=0, происходит событие 1, счетчик инкрементируется
- счетчик=1, происходит событие 2, счетчик инкрементируется
- счетчик=2, происходит событие 3, счетчик инкрементируется
- счетчик=3, происходит событие 4, счетчик инкрементируется, генериуется прерывание
- счетчик=0, происходит событие 1, ...

Александр
Сообщения: 24
Зарегистрирован: 03 июл 2017, 09:28
Предприятие: ЛЭМЗ

Re: К1921ВК01Т - вопросы по ТО и его доработка

Сообщение Александр » 29 янв 2019, 10:35

- счетчик=0, происходит событие 1, счетчик инкрементируется
А как может происходить событие, когда счетчик равен 0? В момент включения контроллера он всегда имеет нулевое значение

bkolbov
Сообщения: 198
Зарегистрирован: 14 дек 2015, 11:37
Предприятие: АО НИИЭТ
Откуда: Воронеж

Re: К1921ВК01Т - вопросы по ТО и его доработка

Сообщение bkolbov » 29 янв 2019, 10:54

Александр писал(а):
29 янв 2019, 10:35
- счетчик=0, происходит событие 1, счетчик инкрементируется
А как может происходить событие, когда счетчик равен 0? В момент включения контроллера он всегда имеет нулевое значение
Да, имеет - 0 это начальная точка отсчета. И это никак не мешает происходить событию.

Александр
Сообщения: 24
Зарегистрирован: 03 июл 2017, 09:28
Предприятие: ЛЭМЗ

Re: К1921ВК01Т - вопросы по ТО и его доработка

Сообщение Александр » 29 янв 2019, 11:06

INTPRD = 00b - прерывание по каждому событию
INTPRD = 01b -прерывание каждые 2 события
INTPRD = 10b - прерывание каждые 3 события
INTPRD = 11b -прерывание каждые 4 события
Происходит прерывание по каждому событию, когда в регистре задан 0. А каждое событие это не нулевое значение счетчика, а первый импульс. Значит все таки не по 0 значению счетчика происходит событие?

bkolbov
Сообщения: 198
Зарегистрирован: 14 дек 2015, 11:37
Предприятие: АО НИИЭТ
Откуда: Воронеж

Re: К1921ВК01Т - вопросы по ТО и его доработка

Сообщение bkolbov » 29 янв 2019, 11:57

Александр писал(а):
29 янв 2019, 11:06
INTPRD = 00b - прерывание по каждому событию
INTPRD = 01b -прерывание каждые 2 события
INTPRD = 10b - прерывание каждые 3 события
INTPRD = 11b -прерывание каждые 4 события
Происходит прерывание по каждому событию, когда в регистре задан 0. А каждое событие это не нулевое значение счетчика, а первый импульс. Значит все таки не по 0 значению счетчика происходит событие?
Одновременно с прерыванием счетчик сбрасывается. Поэтому в режиме генерации по каждому событию счетчик постоянно находится в нуле. Если каждые 2 события - считает от 0 до 1, каждые 3 - от 0 до 2, каждые 4 - от 0 до 3.

Александр
Сообщения: 24
Зарегистрирован: 03 июл 2017, 09:28
Предприятие: ЛЭМЗ

Re: К1921ВК01Т - вопросы по ТО и его доработка

Сообщение Александр » 29 янв 2019, 12:49

То есть включился МК и я сразу ухожу в обработку прерывания, хотя и событий не было? Тк счетчик равен 0?

Ответить

Вернуться в «32-разрядные микроконтроллеры на ядре ARM Cortex»

Кто сейчас на конференции

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