|
Глобальный счетчик милисекунд. |
|
|
|
Jun 11 2018, 04:27
|
Профессионал
    
Группа: Участник
Сообщений: 1 778
Регистрация: 29-03-12
Пользователь №: 71 075

|
Есть програма для Kinetis K10. В ней есть глобальный счетчик милисекунд который инкрементируется каждую милисекунду в прерывании. Код void TI1_OnInterrupt(LDD_TUserData *UserDataPtr) { globalSysTimer++; } И на основе этой переменной строятся таймауты и периодические циклы. Это очень удобно и работать с переменной просто но мне не нравиться парадигма прерывания програмы каждую милисекунду. У Kinetis есть аппаратный таймер (FlexTimer Module (FTM)) 16 бит - это дает нам 65536 милисекунд до переполнения что конечно очень мало для нормальной работы. Что поинтересней можно придумать для Cortex-M4?
|
|
|
|
|
 |
Ответов
|
Jun 12 2018, 11:14
|
Гуру
     
Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702

|
Цитата(Jenya7 @ Jun 12 2018, 12:24)  покажите где тут делитель Цитата The processor has a 24-bit system timer, SysTick, that counts down from the reload value to zero, reloads, that is wraps to, the value in the SYST_RVR register on the next clock edge, then counts down on subsequent clocks. Перевожу: есть 24-битный вычитающий таймер. Когда он досчитает до нуля, то перегружается значением из SYST_RVR. Таким образом можно получить периодические прерывания, а в них уже работать с софтовыми интервалами. Обращаю внимание на бит CLKSOURCE регистра SYST_CSR. Он выбирает источник тактирования. У STM32, например, можно тактировать от HCLK или HCLK / 8 за счет этого бита. Цитата The RCC feeds the Cortex System Timer (SysTick) external clock with the AHB clock (HCLK) divided by 8. The SysTick can work either with this clock or with the Cortex clock (HCLK), configurable in the SysTick Control and Status Register.
|
|
|
|
Сообщений в этой теме
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 Цитата(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 adnega А почему SysTick не используете? Jun 18 2018, 06:40 Jenya7 Цитата(adnega @ Jun 18 2018, 11:40) А поч... Jun 21 2018, 05:12  adnega Цитата(Jenya7 @ Jun 21 2018, 08:12) у нег... Jun 21 2018, 05:15   juvf Цитата(adnega @ Jun 21 2018, 10:15) Вы оп... Jun 21 2018, 05:24   Jenya7 Цитата(adnega @ Jun 21 2018, 10:15) Вы оп... Jun 21 2018, 05:44    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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|