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

 
 
> Передача глобальной переменной в функцию.
Jenya7
сообщение Nov 8 2016, 14:04
Сообщение #1


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

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



Есть переменная которая инкрементируется кажую милисекунду.
Код
globalSysTime++;

Вопрос как лучше.
Так
Код
static inline Delay_ms(Uint32 * start_val, Uint32 del_us)
{

    Uint32 del = *start_val + del_us;  
    do{
           asm("  NOP");
    }while(del > *start_val);
}

или так
Код
static inline Delay_ms(Uint32 del_us)
{

    Uint32 del = globalSysTime + del_us;  
    do{
           asm("  NOP");
    }while(del > globalSysTime);
}
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Den64
сообщение Nov 8 2016, 14:11
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 584
Регистрация: 22-11-07
Из: Курская область
Пользователь №: 32 571



В первом варианте код красивее. И функция более универсальна, мало ли.
Без операционной системы пишите? Если с операционкой то в цикле вызывайте osTaskYield() или TaskYield() или по другому от ОС зависит
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 11th August 2025 - 21:51
Рейтинг@Mail.ru


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