Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > C/C++/С#


Ответ
 
Опции темы Опции просмотра
Старый 28.05.2016, 21:37   #1 (permalink)
Пашука
Member
 
Аватар для Пашука
 
Регистрация: 22.05.2016
Сообщений: 195
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 2221
По умолчанию Поясните запись строки программы на С

Откуда взялись i и j ? Как работает этот цикл?

//Функция временной задержки
void delay(void)
{
unsigned int i, j;
for(i = 0; i < 6500; i++)
for(j = 0; j < 1000; j++);
}
Что означает 0х08 или 0х04 даже в интернете нигде не поясняется.
Расшифруйте пожалуйста и эту строку тоже.

// функция вывода числа на индикацию
void set_led(unsigned char N)
{
// Управление светодиодным индикатором D4
P12 = (N & 0x01) ? P12 & ~0x08 : P12 | 0x08;
Пашука вне форума   Ответить с цитированием

Старый 28.05.2016, 21:37
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

На форуме встречается много похожего, вот то, что схоже с вашим запросом

Поясните кто может. Вопрос по Видеокарте и памяти в ней.
Помогите найти схему или поясните как это должно выглядеть
Поясните новичку, расскажите что да как
Строки С++
Строки/файлы: описать запись с именем ORDER, содержащую следующие поля...

Старый 28.05.2016, 21:50   #2 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Пашука Посмотреть сообщение
Откуда взялись i и j ? Как работает этот цикл? //Функция временной задержки
void delay(void)
{
unsigned int i, j;
for(i = 0; i < 6500; i++)
for(j = 0; j < 1000; j++);
}
Насколько я могу судить (хотя на СИ, увы, не пишу) это есть ни что иное, как прогон пустого оператора 6500000 раз. Даже если тело цикла пустое, всё равно обращение к переменным i и j занимает какое-то время. Так формируется задержка длительностью в нужное количество наносекунд.
Vladimir_S вне форума   Ответить с цитированием
Старый 28.05.2016, 21:56   #3 (permalink)
Пашука
Member
 
Аватар для Пашука
 
Регистрация: 22.05.2016
Сообщений: 195
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 2221
По умолчанию

Спасиб,хоть что-то прояснилось.
Может кто-нибудь ещё что-то дополнит.
Пашука вне форума   Ответить с цитированием
Старый 28.05.2016, 22:37   #4 (permalink)
Михаилъ
Member
 
Аватар для Михаилъ
 
Регистрация: 28.05.2016
Адрес: Нижний Новгород
Сообщений: 399
Сказал(а) спасибо: 43
Поблагодарили 33 раз(а) в 6 сообщениях
Репутация: 13978
По умолчанию

Цитата:
Сообщение от Пашука Посмотреть сообщение
0х08 или 0х04
Ox - признак шестнадцатиричного числа
Михаилъ вне форума   Ответить с цитированием
Старый 28.05.2016, 22:39   #5 (permalink)
Николай_С
Радиоинженер
 
Аватар для Николай_С
 
Регистрация: 25.09.2012
Адрес: г.Дзержинск Нижегородской обл.
Сообщений: 25,298
Записей в дневнике: 7
Сказал(а) спасибо: 292
Поблагодарили 219 раз(а) в 70 сообщениях
Репутация: 110185
По умолчанию

кАнЭшнА!
Формат записи числа 0x"число" воспринимается компилятором как шестнадцатеричное число (hex). Есть еще 0d - десятичное (по умолчанию), 0o - восьмеричное, 0b - двоичное.
И еще, старайтесь не пользоваться самоделками, прокручивающими пустые циклы. Длительность задержки будет зависеть от быстродействия компа, на котором запущена программа. В библиотеке С есть стандартная функция Delay(int), работающая по таймеру.
Николай_С вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 29.05.2016, 00:49   #6 (permalink)
Пашука
Member
 
Аватар для Пашука
 
Регистрация: 22.05.2016
Сообщений: 195
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 2221
По умолчанию

Спасиб,кругозор расширяется. (Это кусок программы для микроконтроллера.)
Пашука вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 08:10.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.