Страница 1 из 2
Задержка в 0,1мкс
Добавлено: Ср июн 16, 2021 11:46:02
Михаил_avr
Спойлер
Код: Выделить всё
. #define F_CPU 16000000UL //частота 16 мегагерц
#include <avr/io.h> // Подключим файл io.h
#include <util/delay.h> // Подключим файл delay
int i;
int main(void)
{
DDRB|=(1<<PD5);
TCCR0A|=(1<<WGM01);//сброс при совпадении
TCCR0B|=(1<<CS00); //предделитель на 1
OCR0A=160;
TIMSK0|=(1<<OCIE0A);
i=10000;
sei();
while (1)
{
i=10000;
while(i)
{
}
PORTB=1<<5 ;
i=10000;
while(i)
{
}
PORTB=0<<5;
}
}
ISR (TIMER0_COMPA_vect)
{
i--;
}
Здравствуйте,все,я хотел сделать задержку в 0,1 МКС,а чтобы проверить написал программу для мигания светодиодом,но так не работает ,если же запись в порт поместить в цикл то все работает ,но это не годиться,а хотелось бы делать вот так
но только не знаю как это исправить
Re: Задержка в 0,1мкс
Добавлено: Ср июн 16, 2021 15:20:10
Аlex
Михаил_avr писал(а):задержку в 0,1 МКС
Михаил_avr писал(а):для мигания светодиодом
Куда мир катится

Re: Задержка в 0,1мкс
Добавлено: Ср июн 16, 2021 15:37:08
dgrett
Какие нахрен циклы? На указанной частоте 2 такта уже 0,125 мкС!
Re: Задержка в 0,1мкс
Добавлено: Сб июн 19, 2021 18:11:22
Dimon456
Неужели нельзя просто сказать человеку, по чему его код не работает?
Re: Задержка в 0,1мкс
Добавлено: Сб июн 19, 2021 19:39:57
Аlex
Знать почему, и что значит "не работает" - сказали бы

Re: Задержка в 0,1мкс
Добавлено: Сб июн 19, 2021 19:43:13
Starichok51
Dimon456 писал(а):Неужели нельзя просто сказать человеку, по чему его код не работает?
ну так скажи. или обязательно кто-то другой это должен сказать, а не ты?
Re: Задержка в 0,1мкс
Добавлено: Сб июн 19, 2021 19:55:43
Dimon456
Пропущен квалификатор volatile
Re: Задержка в 0,1мкс
Добавлено: Сб июн 19, 2021 20:36:25
КРАМ
[uquote="Dimon456",url="/forum/viewtopic.php?p=4049934#p4049934"]Пропущен квалификатор[/uquote]
Это вы серьезно?
То есть если волатайл вставить, то можно при машинном цикле в 62,5 нс
дергать ногой создавать задержку с разрешением в 100 нс?

Re: Задержка в 0,1мкс
Добавлено: Сб июн 19, 2021 22:04:58
Dimon456
КРАМ писал(а):Это вы серьезно?
Да, серезно
Михаил_avr писал(а):чтобы проверить написал программу для мигания светодиодом
учитывая настройку таймера прерывание отрабатывает со скоростью 10мкс.
Этот кусок кода
отработает через 10мкс*10000 = 0,1с.
Стоило бы догадаться о чем речь идет.
Если отключить оптимизацию, можете без квалификатора volatile обойтись, в противном случае его i=10000; и что там далее просто компилятром будет пропущено.
А вопрос был
Михаил_avr писал(а):но так не работает
а хотелки
Михаил_avr писал(а):хотелось бы делать вот так
Михаил_avr писал(а):но только не знаю как это исправить
Re: Задержка в 0,1мкс
Добавлено: Сб июн 19, 2021 22:11:23
КРАМ
[uquote="Dimon456",url="/forum/viewtopic.php?p=4050038#p4050038"]Стоило бы догадаться о чем речь идет.[/uquote]
ТС дважды, в заголовке и сообщении (причем в сообщении капсом), повторил свои притязания на 100 нс. С чего бы мне догадаться, что речь идет о 100 мс? Может о 100 мкс? Или вообще о 0,1 мин?
Re: Задержка в 0,1мкс
Добавлено: Пн июн 21, 2021 12:40:26
slav0n
шо он там хочет контролировать такой задержкой
Re: Задержка в 0,1мкс
Добавлено: Пн июн 21, 2021 14:03:07
Рязанцев Владислав
А чего-нибудь побыстрее не вариант? ESP32 например.
Re: Задержка в 0,1мкс
Добавлено: Вс июн 27, 2021 16:47:19
Михаил_avr
Dimon456 писал(а):Пропущен квалификатор volatile
спасибо большое реально заработало!
slav0n писал(а):шо он там хочет контролировать такой задержкой
по vga что нибудь простое вывести
Добавлено after 17 minutes 34 seconds:
Всем остальным тоже спасибо
Re: Задержка в 0,1мкс
Добавлено: Вс июн 27, 2021 21:23:32
Dimon456
Михаил_avr писал(а):по vga что нибудь простое вывести
а за чем вам в vga задержка в 0,1мкс?
Для нормального разрешения 0,1мкс мало, вот, к примеру, на стандартной частоте кварца 16МГц
Спойлер

Исходники тут
Re: Задержка в 0,1мкс
Добавлено: Пн июн 28, 2021 03:29:54
Михаил_avr
Ну там разрешение 640 на 480, а вот для 800 на 600 хватает
Добавлено after 14 minutes 52 seconds:

Re: Задержка в 0,1мкс
Добавлено: Пн июн 28, 2021 12:24:07
Dimon456
Михаил_avr писал(а):а вот для 800 на 600 хватает
Чего хватает? На четыре квадрата? Вы какой нибудь текст выведите сначала.
Тем более у вас нарушена синхронизация.
Re: Задержка в 0,1мкс
Добавлено: Пн июн 28, 2021 13:28:16
Михаил_avr
Dimon456 писал(а):1)Чего хватает ? 2) Вы какой нибудь текст выведите сначала.
3)Тем более у вас нарушена синхронизация.
1)задержки
2)хорошо попробую
3)где?
Re: Задержка в 0,1мкс
Добавлено: Ср июн 30, 2021 09:53:18
Михаил_avr
https://img.radiokot.ru/files/143954/2k0ku92328.jpg
Ну вот такая буква П получилась (мне не очень понравилось её качества), попробую 640х480 ведь оно более медленное)
Re: Задержка в 0,1мкс
Добавлено: Ср июн 30, 2021 11:50:50
Starichok51
Михаил_avr, уменьшай картинку до разумных пределов или давай просто ссылку.
не помещай в текст такой огромный размер.
Re: Задержка в 0,1мкс
Добавлено: Ср июн 30, 2021 12:46:11
Михаил_avr
А как её уменьшать?