AVR Раздел по микроконтроллерам компании Atmel - AVR / ATtiny / ATmega / ATMega128 / ATxmega, вопросы по программированию в AVR studio и все, относящееся к AVR... |
11.08.2023, 07:42
|
|
Заблокирован
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,221 раз(а) в 1,319 сообщении(ях)
|
Re: Динамическая индикация на 4-разрядном индикаторе
В языке Си циклов всего два основных типа.
На основе диапазона счета одной переменной:
Код:
|
/* Переменная i в диапазоне от 0 до 9 увеличивается на 1
* В переводе: "Для i в диапазоне от 0 до 9 (меньше 10)
* с шагом +1 выполнять { ДЕЙСТВИЯ }"
*/
for(int i = 0; i ‹ 10; i++)
{
/* выполняемые в цикле операции */
array[i] = 0;
cout ‹‹ i ‹‹ endl;
}
/* Переменная i уменьшается на 1 в диапазоне от 9 до 0 */
for(int i = 9; i ›= 0; i--)
{
array[i] = i;
}
/* Переменная i увеличивается с шагом 5 в диапазоне от 0 до 99 */
for(int i = 0; i ‹ 100; )
{
cout ‹‹ i ‹‹ endl;
i += 5;
} |
Внутри for() могут быть и внешние переменные и более сложные условия завершения цикла. Переменная i внутри цикла является только внутренней переменной цикла и не выходит наружу, поэтому i недоступна вне цикла.
Цикл на основе while и цикл на основе do-while, это циклы по условиям сравнения:
Код:
|
/* Инкремент (увеличение на 1) переменной i до тех пор,
* пока i-тый элемент в массиве не равен 0
* или не достигнут конец массива.
* Сначала выполняется проверка условия whie(), затем
* производятся действия в скобках { }
* Фактически - поиск в массиве первого элемента,
* равного 0.
* В переводе: "Пока (УСЛОВИЕ ИСТИННО), выполнять { ДЕЙСТВИЯ }"
* */
int i = 0;
while((array[i] != 0) && (i ‹ 10))
{
i++;
}
/* То же самое, только наоборот - сначала выполняются
* действия в скобках { }, затем проверяется
* условие while.
* В переводе: "Выполнять { ДЕЙСТВИЯ }, пока (УСЛОВИЕ ИСТИННО)"
*/
i = 0;
do{
i++;
}while((array[i] != 0) && (i ‹ 10)); |
Касательно программатора. Да почти все на АВРах делают сейчас на Ардуине. Я не работаю ни с Ардуиной, ни с АВР, поэтому подсказать не могу. Но посмотрите в сторону Ардуины - это дешевле.
(Еще года 4 назад все дружно сказали бы "да бросай ты эти AVR/PIC, бери STM32!" ... Сейчас уже не факт, по политическим причинам. Хотя, Алиэкспрессу пофик на политику )
Кстати, чето мне так кажется, что фьюзы и частота/источник тактирования не имеют отношения к проблеме "мусора" на индикаторе.
|
|
|
|
11.08.2023, 07:59
|
|
Временная регистрация
Регистрация: 07.03.2019
Сообщений: 87
Сказал спасибо: 11
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Динамическая индикация на 4-разрядном индикаторе
NewWriter
Кстати, чето мне так кажется, что фьюзы и частота/источник тактирования не имеют отношения к проблеме "мусора" на индикаторе.[/QUOTE]
Ну есть while и do{}while и for и вложенные всякие..
Не на ардуино не хочу мне неинтересен язык из одних дефайнов, для меня вопрос не в цене)
Ну я не могу ничего предположить без осциллографа и мультиметра, просто я на вахту отладку забрал.
Последний раз редактировалось mike-y-k; 11.08.2023 в 10:38.
Причина: 7.15, очипятки?
|
|
|
|
11.08.2023, 08:15
|
|
Заблокирован
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,221 раз(а) в 1,319 сообщении(ях)
|
Re: Динамическая индикация на 4-разрядном индикаторе
Язык одинаковый, что там, что тут. В Ардуине - язык С/С++, то есть грубо говоря простое расширение языка Си. В Ардуине так же используется заголовочный файл микроконтроллера ("дефайны"), просто поверх дописаны функции, реализующие те или иные действия.
Самый дешевый логический 8-канальный анализатор Saleae Logic 8 на Алиэкспрессе стоит меньше тыщщи руб.
|
|
|
|
24.10.2023, 11:57
|
|
Временная регистрация
Регистрация: 07.03.2019
Сообщений: 87
Сказал спасибо: 11
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Динамическая индикация на 4-разрядном индикаторе
Сообщение от NewWriter
|
Самый дешевый логический 8-канальный анализатор Saleae Logic 8 на Алиэкспрессе стоит меньше тыщщи руб.
|
Касательно анализатора, вопрос не в цене, а там где я нахожусь. Сюда вертолеты только летают) и то редко_)
Я об этом и говорю что это задефайненный язык и мне он не интересен из за этого.
Но в целом я уже разобрался)
|
|
|
|
24.10.2023, 15:54
|
|
Супер-модератор
Регистрация: 08.09.2007
Адрес: Kyiv, Ukraine
Сообщений: 7,977
Сказал спасибо: 432
Сказали Спасибо 3,952 раз(а) в 1,695 сообщении(ях)
|
Re: Динамическая индикация на 4-разрядном индикаторе
Devil Byte, для понимания, что такой "фьюз". Переводится, как "предохранитель". Источник - однократно программируемые ПЗУ (типа К155РЕ3), в которых пережигались перемычки из плавкой проволоки. Поэтому для них исходным состоянием является ЕДИНИЦА, а не ноль.
__________________
Выслушай и противную сторону, даже если она тебе и противна!..
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 15:34.
|
|