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

 
 
Jenya7
сообщение Jun 11 2018, 04:27
Сообщение #1


Профессионал
*****

Группа: Участник
Сообщений: 1 778
Регистрация: 29-03-12
Пользователь №: 71 075



Есть програма для Kinetis K10.
В ней есть глобальный счетчик милисекунд который инкрементируется каждую милисекунду в прерывании.
Код
void TI1_OnInterrupt(LDD_TUserData *UserDataPtr)
{
   globalSysTimer++;
}
И на основе этой переменной строятся таймауты и периодические циклы.
Это очень удобно и работать с переменной просто но мне не нравиться парадигма прерывания програмы каждую милисекунду.
У Kinetis есть аппаратный таймер (FlexTimer Module (FTM)) 16 бит - это дает нам 65536 милисекунд до переполнения что конечно очень мало для нормальной работы.
Что поинтересней можно придумать для Cortex-M4?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
adnega
сообщение Jun 18 2018, 06:40
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



А почему SysTick не используете?
Go to the top of the page
 
+Quote Post
Jenya7
сообщение Jun 21 2018, 05:12
Сообщение #3


Профессионал
*****

Группа: Участник
Сообщений: 1 778
Регистрация: 29-03-12
Пользователь №: 71 075



Цитата(adnega @ Jun 18 2018, 11:40) *
А почему SysTick не используете?

объяснил это в первом посте.

Цитата(juvf @ Jun 20 2018, 09:42) *
Этого мало? Это позволяет делать/контролировать задержки до 65 секунд без какого либо контроля переполнения, в лоб, без бубнов и танцев. Если нужно делать задержки измеряемые в секундах (например 1000 секунд, или 10000000 секунд), то можно отдельный таймер аппаратный завести с тактом 1 мс и переполнением после 1000 мс, в прерывании ++globalSec . Или вообще использовать RTC.


у него нет пределителя - я не могу создать тик с периодом и 1 миллисекунду.



Цитата(Obam @ Jun 20 2018, 23:54) *
В K10 4-канальный 32-битный PIT (программируемый интервальный таймер) есть - делай счётчики интервалов какие хошь


то же самое - у него нет пределителя - я не могу создать тик с периодом и 1 миллисекунду.

Цитата(Obam @ Jun 20 2018, 23:54) *
Впрочем, ТС сознался, что был не прав.

долгие годы игры в покер научили меня вовремя скидывать слабую руку.


Сообщение отредактировал Jenya7 - Jun 21 2018, 05:14
Go to the top of the page
 
+Quote Post
adnega
сообщение Jun 21 2018, 05:15
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(Jenya7 @ Jun 21 2018, 08:12) *
у него нет пределителя

Вы опять за старое.
У него есть период, и за счет периода вы создадите 1 мс.
С периодом 1 мс у вас будет шагать не таймер, а вызываться обработчик прерывания, в котором будет to_1ms++.
Для этого подойдет любой таймер, но есть же специальный SysTick. Почему его не используют некоторые?
Go to the top of the page
 
+Quote Post
Jenya7
сообщение Jun 21 2018, 05:44
Сообщение #5


Профессионал
*****

Группа: Участник
Сообщений: 1 778
Регистрация: 29-03-12
Пользователь №: 71 075



Цитата(adnega @ Jun 21 2018, 10:15) *
Вы опять за старое.
У него есть период, и за счет периода вы создадите 1 мс.
С периодом 1 мс у вас будет шагать не таймер, а вызываться обработчик прерывания, в котором будет to_1ms++.
Для этого подойдет любой таймер, но есть же специальный SysTick. Почему его не используют некоторые?


вы вообще читали тему? первый мой пост? ради чего была создана тема?

Я НЕ ХОЧУ ГЕНЕРИРОВАТЬ ПРЕРЫВАНИЯ КАЖДУЮ МИЛЛИСЕКУНДУ.

все. эту руку я сбрасываю.

Сообщение отредактировал Jenya7 - Jun 21 2018, 05:47
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Jenya7   Глобальный счетчик милисекунд.   Jun 11 2018, 04:27
- - adnega   Цитата(Jenya7 @ Jun 11 2018, 07:27) Это о...   Jun 11 2018, 07:34
|- - Jenya7   Цитата(adnega @ Jun 11 2018, 13:34) Ничег...   Jun 11 2018, 08:35
- - Serge V Iz   В мире "больших" вычислительных систем д...   Jun 11 2018, 14:52
- - Jenya7   а как я устанавливаю период тика в SysTick? я что ...   Jun 12 2018, 08:37
|- - adnega   Цитата(Jenya7 @ Jun 12 2018, 11:37) а как...   Jun 12 2018, 09:14
|- - Jenya7   Цитата(adnega @ Jun 12 2018, 14:14) Может...   Jun 12 2018, 09:24
|- - adnega   Цитата(Jenya7 @ Jun 12 2018, 12:24) покаж...   Jun 12 2018, 11:14
|- - Jenya7   Цитата(adnega @ Jun 12 2018, 17:14) Перев...   Jun 12 2018, 11:47
|- - adnega   Цитата(Jenya7 @ Jun 12 2018, 14:47) мне н...   Jun 12 2018, 13:17
|- - jcxz   Цитата(adnega @ Jun 12 2018, 16:17) или м...   Jun 13 2018, 05:57
- - ViKo   милли-   Jun 12 2018, 13:19
|- - adnega   Цитата(ViKo @ Jun 12 2018, 16:19) милли- ...   Jun 12 2018, 13:25
- - Jenya7   все так грустно? только мне на планете Земля нужны...   Jun 13 2018, 05:39
- - AlexandrY   Цитата(Jenya7 @ Jun 11 2018, 07:27) Это о...   Jun 13 2018, 06:02
|- - Jenya7   Цитата(AlexandrY @ Jun 13 2018, 12:02) У ...   Jun 13 2018, 06:41
|- - jcxz   Цитата(Jenya7 @ Jun 13 2018, 09:41) PIT н...   Jun 13 2018, 06:48
||- - AlexandrY   Цитата(jcxz @ Jun 13 2018, 09:48) 2 Alexa...   Jun 13 2018, 08:55
|- - Сергей Борщ   QUOTE (Jenya7 @ Jun 13 2018, 09:41) PIT н...   Jun 13 2018, 08:03
- - ViKo   Цитата(Jenya7 @ Jun 11 2018, 07:27) Это о...   Jun 13 2018, 08:25
|- - Jenya7   Цитата(ViKo @ Jun 13 2018, 14:25) Допусти...   Jun 13 2018, 09:00
|- - ViKo   Цитата(Jenya7 @ Jun 13 2018, 12:00) я не ...   Jun 13 2018, 09:05
||- - Jenya7   Цитата(ViKo @ Jun 13 2018, 15:05) Как мож...   Jun 13 2018, 09:25
||- - ViKo   Цитата(Jenya7 @ Jun 13 2018, 12:25) у мен...   Jun 13 2018, 09:36
||- - adnega   Цитата(Jenya7 @ Jun 13 2018, 12:25) можно...   Jun 13 2018, 09:38
|- - adnega   Jenya7, вы по все видимости начинающий разработчик...   Jun 13 2018, 09:35
|- - jcxz   Цитата(Jenya7 @ Jun 13 2018, 12:00) это т...   Jun 13 2018, 09:52
- - Jenya7   adnega так что вы предлагаете? я честно говоря так...   Jun 13 2018, 09:41
|- - adnega   Цитата(Jenya7 @ Jun 13 2018, 12:41) по мо...   Jun 13 2018, 10:15
|- - Jenya7   Цитата(adnega @ Jun 13 2018, 16:15) Дык, ...   Jun 13 2018, 10:17
- - pokk   Раньше, тоже делал счет миллисекунд из прерывания,...   Jun 17 2018, 03:37
|- - Jenya7   Цитата(pokk @ Jun 17 2018, 08:37) Раньше,...   Jun 18 2018, 05:02
||- - juvf   Цитата(adnega @ Jun 21 2018, 10:15) Вы оп...   Jun 21 2018, 05:24
||- - adnega   Цитата(Jenya7 @ Jun 21 2018, 08:44) Я НЕ ...   Jun 21 2018, 06:02
||- - juvf   Цитата(adnega @ Jun 21 2018, 11:02) Вы мо...   Jun 21 2018, 06:23
||- - adnega   Цитата(juvf @ Jun 21 2018, 09:23) У меня ...   Jun 21 2018, 06:32
||- - juvf   Цитата(adnega @ Jun 21 2018, 11:32) А есл...   Jun 21 2018, 06:37
||- - adnega   Цитата(juvf @ Jun 21 2018, 09:37) А они м...   Jun 21 2018, 07:05
||- - jcxz   Цитата(adnega @ Jun 21 2018, 10:05) И мне...   Jun 21 2018, 07:12
||- - juvf   Цитата(adnega @ Jun 21 2018, 12:05) Допус...   Jun 21 2018, 07:26
||- - adnega   Цитата(juvf @ Jun 21 2018, 10:26) зачем в...   Jun 21 2018, 09:12
|- - Obam   Цитатадолгие годы игры в покер научили меня воврем...   Jun 21 2018, 16:08
- - juvf   Цитата(Jenya7 @ Jun 11 2018, 09:27) У Kin...   Jun 20 2018, 04:42
- - Obam   В K10 4-канальный 32-битный PIT (программируемый и...   Jun 20 2018, 18:54
- - ViKo   ТС не умеет задавать такое значение в SysTick тайм...   Jun 21 2018, 05:44
- - ViKo   То есть, мои аргументы, что вы теряете 0.03% произ...   Jun 21 2018, 05:51
|- - Jenya7   Цитата(ViKo @ Jun 21 2018, 10:51) То есть...   Jun 21 2018, 05:59
- - ViKo   А через каждые 10 мс прерываться рискнете? Тоже но...   Jun 21 2018, 06:28


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

 


RSS Текстовая версия Сейчас: 27th June 2025 - 01:46
Рейтинг@Mail.ru


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