Systick прерывания отключены?

сахмих
Ср 25 января 2017 г., 17:39
Привет.
Как я могу отключить (или более низкий приоритет) прерывать таймер системы Systick?
Спасибо.

victor_pv
Ср 25 января 2017 г., 19:27
Sashmich написал:Привет.
Как я могу отключить (или более низкий приоритет) прерывать таймер системы Systick?
Спасибо.

сахмих
Ср 25 января 2017 г., 19:43
Да, прикреплять Internaterrapt () и micros () я использую для измерения частоты. Но есть случайные ошибки. Думаю, это потому, что Систик.

Rogerclark
Ср 25 января 2017 г., 8:35 вечера
Я думаю, что вам также нужно также отключить USB -прерывание

victor_pv
Ср 25 января 2017 г., 21:23
Sashmich написал:Да, прикреплять Internaterrapt () и micros () я использую для измерения частоты. Но есть случайные ошибки. Думаю, это потому, что Систик.

сахмих
Чт 26 января 2017 г. 10:08
Rogerclark написал:Я думаю, что вам также нужно также отключить USB -прерывание

сахмих
Чт 26 января 2017 г. 10:18 утра
victor_pv написал:Sashmich написал:Да, прикреплять Internaterrapt () и micros () я использую для измерения частоты. Но есть случайные ошибки. Думаю, это потому, что Систик.

Беннебой
Чт 26 января 2017 г. 14:05
Проверьте код в этом -> https: // github.com/bennehboy/arduinospeedocorrection

Он использует аппаратное прерывание для измерения «высокого» периода квадратного волнового сигнала, довольно легко добраться до частоты от этого.

Очевидно, что если ваш сигнал выглядит по -разному, вам нужно скорректировать то, что вы ищете, но тот же принципал применяется.

victor_pv
Чт 26 января 2017 г., 17:28
Sashmich написал:victor_pv написал:Sashmich написал:Да, прикреплять Internaterrapt () и micros () я использую для измерения частоты. Но есть случайные ошибки. Думаю, это потому, что Систик.

сахмих
Чт 26 января 2017 г. 18:05
Bennehboy ​​написал:Проверьте код в этом -> https: // github.com/bennehboy/arduinospeedocorrection

Он использует аппаратное прерывание для измерения «высокого» периода квадратного волнового сигнала, довольно легко добраться до частоты от этого.

Очевидно, что если ваш сигнал выглядит по -разному, вам нужно скорректировать то, что вы ищете, но тот же принципал применяется.

сахмих
Чт 26 января 2017 г., 19:15
Где я могу найти документацию для этой команды?
(Таймер1->регс).генерал->CR1 = 0x00; Это пример.

сахмих
Чт 26 января 2017 г., 19:54
Rogerclark написал:Я думаю, что вам также нужно также отключить USB -прерывание

victor_pv
Чт 26 января 2017 г. 20:47
Sashmich написал:Bennehboy ​​написал:Проверьте код в этом -> https: // github.com/bennehboy/arduinospeedocorrection

Он использует аппаратное прерывание для измерения «высокого» периода квадратного волнового сигнала, довольно легко добраться до частоты от этого.

Очевидно, что если ваш сигнал выглядит по -разному, вам нужно скорректировать то, что вы ищете, но тот же принципал применяется.

сахмих
Пт 27 января 2017 г., 17:58
victor_pv написал:Sashmich написал:Bennehboy ​​написал:Проверьте код в этом -> https: // github.com/bennehboy/arduinospeedocorrection

Он использует аппаратное прерывание для измерения «высокого» периода квадратного волнового сигнала, довольно легко добраться до частоты от этого.

Очевидно, что если ваш сигнал выглядит по -разному, вам нужно скорректировать то, что вы ищете, но тот же принципал применяется.

victor_pv
Пт 27 января 2017 г. 18:45
Sashmich написал:victor_pv написал:
Дело в том, что вам не нужно использовать Micro. Если вы установите таймер в режиме захвата ШИМ, таймер запустится и остановится с входным сигналом, а затем сгенерируйте прерывание, но количество уже остановилось, поэтому задержки другими прерываниями не повлияют на счет. Вам не понадобится Micros () или что -то подобное, просто прочитайте 2 -й встречные регистры, и это покажет, сколько системных тактовых циклов потребуется за период сигнального и рабочего цикла. Таким образом, любое обслуживание прерываний не повлияет, поскольку это аппаратный таймер, который начинается и останавливается само по себе. Единственное, что вы делаете в ISR, - это прочитать значения, но не начинать и не останавливаться.

сахмих
Солнце 29 января 2017 г. 9:29
victor_pv написал:Sashmich написал:victor_pv написал:
Дело в том, что вам не нужно использовать Micro. Если вы установите таймер в режиме захвата ШИМ, таймер запустится и остановится с входным сигналом, а затем сгенерируйте прерывание, но количество уже остановилось, поэтому задержки другими прерываниями не повлияют на счет. Вам не понадобится Micros () или что -то подобное, просто прочитайте 2 -й встречные регистры, и это покажет, сколько системных тактовых циклов потребуется за период сигнального и рабочего цикла. Таким образом, любое обслуживание прерываний не повлияет, поскольку это аппаратный таймер, который начинается и останавливается само по себе. Единственное, что вы делаете в ISR, - это прочитать значения, но не начинать и не останавливаться.

victor_pv
Солнце 29 января 2017 г., 19:39
Sashmich написал: Спасибо за объяснение. Но это еще не очистит значение строки »(Timer1-> регс) .генерал-> CR1 = 0x00; «Таким образом, вы можете настроить таймеры?