Буфер данных Stm32f103c8

Кто любит RISC в жизни, заходим, не стесняемся.
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Re: Буфер данных Stm32f103c8

Сообщение dosikus »

Не устраивает что? Практически все Оси имеют системный таймер на 1mS . Если нужны интервалы меньше, вменяемо юзать аппаратные решения а не задержки процессорного времени.
Реклама
khch
Встал на лапы
Сообщения: 83
Зарегистрирован: Ср июл 18, 2018 11:51:59

Re: Буфер данных Stm32f103c8

Сообщение khch »

Разберусь - скажу что не устраивает.
Реклама
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Re: Буфер данных Stm32f103c8

Сообщение a5021 »

А кто-нибудь использует этот SysTick в мирных целях? Мне он всегда казался страшно неудобным, отчего я так его ни разу и не попользовал.
arkhnchul
Друг Кота
Сообщения: 3092
Зарегистрирован: Пн апр 06, 2015 11:01:53
Откуда: москва, уфа

Re: Буфер данных Stm32f103c8

Сообщение arkhnchul »

я использую для нетребовательных вещей флаги выставлять - динамическую индикацию переключать, пакеты modbus-а обрабатывать, антидребезг, такое вот все.
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18592
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Буфер данных Stm32f103c8

Сообщение ARV »

[uquote="dosikus",url="/forum/viewtopic.php?p=3435837#p3435837"]ау ARV[/uquote]ку-ку, досикус.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Реклама
khch
Встал на лапы
Сообщения: 83
Зарегистрирован: Ср июл 18, 2018 11:51:59

Re: Буфер данных Stm32f103c8

Сообщение khch »

[uquote="a5021",url="/forum/viewtopic.php?p=3436082#p3436082"]А кто-нибудь использует этот SysTick в мирных целях? Мне он всегда казался страшно неудобным, отчего я так его ни разу и не попользовал.[/uquote]

То есть тут я, похоже, не дурак. Это лыжи не едут.... Блин, ну хоть что-то хорошее...

Добавлено after 1 minute 2 seconds:
Я-то думаю, почему я его не могу подогнать под себя.

Добавлено after 1 minute 37 seconds:
[uquote="ARV",url="/forum/viewtopic.php?p=3436133#p3436133"][uquote="dosikus",url="/forum/viewtopic.php?p=3435837#p3435837"]ау ARV[/uquote] :facepalm:
ку-ку, досикус.[/uquote] :facepalm:
Реклама
Аватара пользователя
Myp3ik
Мучитель микросхем
Сообщения: 450
Зарегистрирован: Вс янв 09, 2011 23:05:37
Откуда: СССР

Re: Буфер данных Stm32f103c8

Сообщение Myp3ik »

khch, systick изначально задумывался как источник этих самых тиков для RTOS. Он является частью ядра контроллера, а не "периферии". А RTOS использует этот таймер "в тёмную" и многих мало интересует, что там происходит.
Иван Сусанин - первый полупроводник :solder:
arkhnchul
Друг Кота
Сообщения: 3092
Зарегистрирован: Пн апр 06, 2015 11:01:53
Откуда: москва, уфа

Re: Буфер данных Stm32f103c8

Сообщение arkhnchul »

[uquote="khch",url="/forum/viewtopic.php?p=3436155#p3436155"]Я-то думаю, почему я его не могу подогнать под себя[/uquote]
а что там "подгонять"? Это самый тупой из возможных таймеров. Единственное, что он умеет - выдавать прерывание раз в n-цать тактов.
khch
Встал на лапы
Сообщения: 83
Зарегистрирован: Ср июл 18, 2018 11:51:59

Re: Буфер данных Stm32f103c8

Сообщение khch »

Я посмотрел в HAL_Delay, там был этот систик. Може я что-то упустил - это характерно.
как я понимаю, мне надо изучать таймеры? Мне нужны микросекундные интервалы. Сейчас я этим и занят.
Аватара пользователя
Myp3ik
Мучитель микросхем
Сообщения: 450
Зарегистрирован: Вс янв 09, 2011 23:05:37
Откуда: СССР

Re: Буфер данных Stm32f103c8

Сообщение Myp3ik »

Да, таймеры. Их там несколько разновидностей (по количеству функционала). Самые продвинутые так и называются Advanced timers. В зависимости от контроллера их может быть до двух, это TIM1, TIM8. Ими можно и импульсы микросекундные захватывать и трехфазные моторы крутить, плюс аппаратно объединять их.
Иван Сусанин - первый полупроводник :solder:
khch
Встал на лапы
Сообщения: 83
Зарегистрирован: Ср июл 18, 2018 11:51:59

Re: Буфер данных Stm32f103c8

Сообщение khch »

Если мой таймер сидит на шине с частотой 32,000,000, значит на одну микросекунду мне надо записать в регистр ARR число 32. Я правильно считаю??
Оставим в сторону точность работы кварца.
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: Буфер данных Stm32f103c8

Сообщение Мурик »

khch писал(а):Я-то думаю, почему я его не могу подогнать под себя.
Системный таймер самый простой. Про другие прочитайте. http://robocraft.ru/blog/ARM/722.html
http://robocraft.ru/blog/ARM/739.html
khch писал(а):мне надо изучать таймеры? Мне нужны микросекундные интервалы.
Для этого не обязательно использовать таймер.
По аналогии с кодом выше. https://radiokot.ru/forum/viewtopic.php ... 7#p3435257

Код: Выделить всё

void DWT_Delay_us(uint32_t us)
{
    uint32_t Count = DWT->CYCCNT;
    us = us * (SystemCoreClock / 1000000);
    while((DWT->CYCCNT - Count) < us);
}
khch писал(а):Если мой таймер сидит на шине с частотой 32,000,000, значит на одну микросекунду мне надо записать в регистр ARR число 32. Я правильно считаю??
32-1, т. е. 31.
Последний раз редактировалось Мурик Вс авг 12, 2018 15:57:10, всего редактировалось 8 раз.
Аватара пользователя
Myp3ik
Мучитель микросхем
Сообщения: 450
Зарегистрирован: Вс янв 09, 2011 23:05:37
Откуда: СССР

Re: Буфер данных Stm32f103c8

Сообщение Myp3ik »

32 - 1
Иван Сусанин - первый полупроводник :solder:
khch
Встал на лапы
Сообщения: 83
Зарегистрирован: Ср июл 18, 2018 11:51:59

Re: Буфер данных Stm32f103c8

Сообщение khch »

Системный таймер самый простой. Про другие прочитайте.
Да я уже с переменным успехом с утра .....

Добавлено after 1 minute 5 seconds:
void mcsDelay (uint32_t time_in_mcsec)
{
TIM_TypeDef * Timer;
uint16_t diviser = time_in_mcsec*(32-1);
Timer->ARR=diviser;

}
Как-то так....

Добавлено after 4 minutes 2 seconds:
[uquote="Myp3ik",url="/forum/viewtopic.php?p=3436179#p3436179"]32 - 1[/uquote]
Ну да... Он же и нуль считает.
Мне, почему-то, кажется, что 31,,,32 небольшая разница будет.
При погрешности кварца в десять миллионых номинала это уже 3.
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: Буфер данных Stm32f103c8

Сообщение Мурик »

На что указывает TIM_TypeDef * Timer;?
Прога в HardFault улетит.
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Re: Буфер данных Stm32f103c8

Сообщение a5021 »

Все таймеры уже определены глобально. Не надо их внутри функции переопределять. Берите и пользуйте.

TIM1->ARR = xxx;
khch
Встал на лапы
Сообщения: 83
Зарегистрирован: Ср июл 18, 2018 11:51:59

Re: Буфер данных Stm32f103c8

Сообщение khch »

[uquote="Мурик",url="/forum/viewtopic.php?p=3436183#p3436183"]На что указывает TIM_TypeDef * Timer;?
Прога в HardFault улетит.[/uquote]
Я не знаю что такое HardFault, но то, что я сделал - неправильно...

да!!! Это должен быть
#define TIM1 ((TIM_TypeDef *)TIM1_BASE)
Надо же.... я учусь :)
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Re: Буфер данных Stm32f103c8

Сообщение a5021 »

Почему вы не хотите подключить заголовочные файлы, где это уже определено?
khch
Встал на лапы
Сообщения: 83
Зарегистрирован: Ср июл 18, 2018 11:51:59

Re: Буфер данных Stm32f103c8

Сообщение khch »

Понимаю, выглядело глупо... Теперь сам понял.

Добавлено after 51 second:
[uquote="a5021",url="/forum/viewtopic.php?p=3436195#p3436195"]Почему вы не хотите подключить заголовочные файлы, где это уже определено?[/uquote]

Да все там подключено.
Просто я сделал по-своему, а вышло как обычно ;)
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: Буфер данных Stm32f103c8

Сообщение Мурик »

khch писал(а):Я не знаю что такое HardFault
http://infocenter.arm.com/help/index.js ... 12s01.html
Об одной из причин попадания программы в обработчик HardFault. http://purebasic.mybb.ru/viewtopic.php?id=564#p7599
Ответить

Вернуться в «ARM»