Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.10.2016, 15:52   #11
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

1) lony322, в видео фигурировало "_delay_ms(100)". Узнай, опытным путём (т.е. поэкспериментируй - 200, 300...), что это такое?
Время отключенного состояния или включенного, или что?

2) И поэкспериментируй с:

1.jpg

Что будет меняться со свечением, если например поставить "/100" , а "/10".

Последний раз редактировалось ura_111; 26.10.2016 в 15:58.
ura_111 вне форума Ответить с цитированием
Старый 26.10.2016, 15:58   #12
lony322
Новичок
Джуниор
 
Регистрация: 26.10.2016
Сообщений: 7
По умолчанию

Цитата:
Сообщение от ura_111 Посмотреть сообщение
lony322, в видео фигурировало "_delay_ms(100)". Узнай, опытным путём (т.е. поэкспериментируй - 200, 300...), что это такое?
Время отключенного состояния или включенного, или что?
Мне необходимо сделать именно без _delay_ms. С это командой я уже знаком
lony322 вне форума Ответить с цитированием
Старый 26.10.2016, 16:00   #13
lony322
Новичок
Джуниор
 
Регистрация: 26.10.2016
Сообщений: 7
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Делай это задержка. Включили, задержка, выключили, задержка, повторить - это и есть мигание.

ТС, же нужен PWM (т.е. ШИМ), который сам устроит мигание. Тут случай простой: если таймер поддерживает аппаратно генерацию шима, то просто настраиваему нужные параметры и пусть молотит. Если нет, то надо организовывать прерывание и в нем менять состояние ноги.
Через прерывание решал эту задачу - получилось.
Теперь необходимо сделать тоже самое не используя прерывание и задержки.
lony322 вне форума Ответить с цитированием
Старый 26.10.2016, 16:01   #14
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Удали её нахрен. Включи светодиод - что поменялось?

И поэкспериментировать с:

2.jpg

не забудь (поставить не "/100" , а "/10". Что поменялось?)
ura_111 вне форума Ответить с цитированием
Старый 26.10.2016, 16:03   #15
lony322
Новичок
Джуниор
 
Регистрация: 26.10.2016
Сообщений: 7
По умолчанию

Цитата:
Сообщение от ura_111 Посмотреть сообщение
Удали её нахрен. Включи светодиод - что поменялось?

И поэкспериментировать с:

Вложение 84118

не забудь (поставить не "/100" , а "/10". Что поменялось?)
В коде, который пишут на видео используется прерывание, а по условию лабы мигание необходимо выполнить БЕЗ задержек и прерывания.
lony322 вне форума Ответить с цитированием
Старый 26.10.2016, 16:18   #16
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Рассказывай: "что такое прерывание и как его можно увидеть в коде".

p.s.: до этого момента я думал, что тебе надо организовать ШИМ... А в этом случае, манипулируя скважностью - меняется действующее значение на нагрузке (от 0-ля до МАХ), что и меняет яркость светодиода... Дальше нужно подобрать (рассчитать) время включенного и отключенного состояния - это определяется внешнем видом (и параметрами) функцией "наращивания" и "спада" (дело в том, что я заметил что светодиод в видео "горит как бы шагами").

И я подумал, что деля на не "/100" , а на "/10" можно удлинить момент включения светодиода (или отключенного)...


А в такой постановке вопроса - тебе подойдёт любой ШИМ (надо только отрегулировать параметры). Кстате, ты видел что в видео мелькнуло "Fast PWM"... Но оказалось, что это не тот ШИМ (или не тот "Fast PWM") что надо,- вот у меня и вопрос: "Чем они отличаются?"

Последний раз редактировалось ura_111; 26.10.2016 в 16:26.
ura_111 вне форума Ответить с цитированием
Старый 26.10.2016, 16:28   #17
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

ura_111, прочитайте мой пост и не плодите бессодержательные. Делай просто задержка выполнения в мс.

lony322, сейчас даташит гляну.

P.S. Похоже на правду.
P.P.S.
Цитата:
В протеусе диод просто загорается и все, никаких переодических свечений с заданным интервалом нет.
Если частота большая, то так оно и будет. Сколько у вас основное тактирование?

Последний раз редактировалось p51x; 26.10.2016 в 16:46.
p51x вне форума Ответить с цитированием
Старый 26.10.2016, 18:23   #18
zvygin1964
Старожил
 
Аватар для zvygin1964
 
Регистрация: 19.06.2013
Сообщений: 2,463
По умолчанию

Код:
;FastPWM Init
	SETB	DDRD,4,R16	; DDRD.4 = 1 Порты на выход
	SETB	DDRD,5,R16	; DDRD.5 = 1
 
; Выставляем для обоих каналов ШИМ режим вывода ОС** сброс при совпадении. 
; COM1A = 10 и COM1B = 10
; Также ставим режим FAST PWM 8bit (таймер 16ти разрядный и допускает
; большую разрядность ШИМ сигнала. Вплоть до 10 бит.  WGM = 0101
; Осталось только запустить таймер на частоте МК CS = 001
 
	OUTI 	TCCR1A,2<<COM1A0|2<<COM1B0|0<<WGM11|1<<WGM10	 
	OUTI	TCCR1B,0<<WGM13|1<<WGM12|1<<CS10
http://easyelectronics.ru/avr-uchebn...anie-shim.html
Код:
CLI
	OUTI	OCR1AH,0
	OUTI	OCR1AL,85
 
	OUTI	OCR1BH,0
	OUTI	OCR1BL,128
	SEI
Репутация: полный "0"
zvygin1964 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Assembler (AVR) PHC Помощь студентам 0 29.06.2014 19:26
avr/c++ 25-й кадр Общие вопросы C/C++ 24 14.05.2014 15:16
avr atmega16 Defunate Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 23.09.2011 14:46
прошивка AVR wanes101 Компьютерное железо 0 22.01.2011 20:28
AVR Sparky Микроконтроллеры, робототехника, схемотехника, 3D принтеры 6 31.12.2009 16:53