Size: a a a

2019 December 25

КБ

Константин Буланов in STM32
denis sosnikov
В ардуинке есть функции милес микрос, у стм32 нет ничего похожего? Нужно на таймере городить?
источник

ds

denis sosnikov in STM32
Оо круто, спасибо
источник

КБ

Константин Буланов in STM32
Да незачто, это админу группы спасибо, он разжевал как это можно все реализовать.
источник

IK

Ivan Kruzenshtern in STM32
источник

s

stD in STM32
Это не то, о чём спрашивал Денис. Ему нужна не задержка, а ардуиновская конструкция ...

if((millis() - timekpa) > 1199)
   {  
     timekpa = millis();
источник

s

stD in STM32
Она делается с помощью SysTick.
источник

s

stD in STM32
uint32_t timedel = 0;

while (1)
{
 if((HAL_GetTick() - timedel) > 1000)
 {
   timedel = HAL_GetTick();
   HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_14);
 }
}
источник

s

stD in STM32
Лампочка будет мигать раз в секунду.
источник

s

stD in STM32
Ещё вариант, что избежать коллизии через ~50 дней...

#define MAXMILLIS 4294967295

uint32_t timeobnv = 0;
uint32_t timelapsed = 0;

while (1)
{
 uint32_t currtime = HAL_GetTick();

 if(currtime > timeobnv) timelapsed = (currtime - timeobnv);

 else timelapsed = (MAXMILLIS - timeobnv + currtime);

 if(timelapsed > 1000)
 {
   timeobnv = currtime;
   HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_14);
 }
}
источник

ds

denis sosnikov in STM32
HAL_GetTik() там лежит время  в миллисекундах?
Кстати в той библиотеке тоже есть что мне подходит.
__STATIC_INLINE uint32_t micros(void){ return DWT->CYCCNT / (SystemCoreClock / 1000000U);}
источник

s

stD in STM32
Я не понял, вам нужны микросекундные задержки или ...

if((millis() - timekpa) > 1199) 

...это?
источник

ds

denis sosnikov in STM32
Мне вообще задержка не нужна,
Я хочу переделать немного библиотеку ПИД для ардуинки,(нужен пид регулятор для двигателя), а там нужно время, оно там считается как millis() вот я и думаю что можно туда подставить
источник

s

stD in STM32
millis() - возвращает время прошедшее со старта программы в миллисекундах. То же самое делает HAL_GetTick().
источник

ds

denis sosnikov in STM32
Ага понял, HAL_GetTik это халовский функция в которой лежит количество тиков процессора с самого запуска. Так?
источник

s

stD in STM32
denis sosnikov
Ага понял, HAL_GetTik это халовский функция в которой лежит количество тиков процессора с самого запуска. Так?
Количество миллисекунд (по умолчанию).
источник

ds

denis sosnikov in STM32
Спасибо
источник

s

stD in STM32
Ок
источник

A

ASSembler in STM32
F0 реально отправлять по i²c больше 255байт без стопа?
источник

A

ASSembler in STM32
cmsis
источник
2019 December 26

G[

GamIet [UA, Odessa] in STM32
Mister Zumim
Вам нужно только подкоректировать временный интервал для высокого импульса и низкого
Менял интервалы, на анализаторе всё согласно даташиту. и 3.3v давал на ленту управляющий и 5v - все равно какая-то фигня получается(
источник