|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
26.10.2016, 14:46 | #1 |
Новичок
Джуниор
Регистрация: 26.10.2016
Сообщений: 7
|
AVR ATmega64 C++
Задача: Мигать светодиодом. Вкл. состояние 200 мс, выкл. 700 мс. Для реализации использовать таймер и режим Fast PWM.
Код, который смог написать: Код:
В протеусе диод просто загорается и все, никаких переодических свечений с заданным интервалом нет. Последний раз редактировалось Пепел Феникса; 26.10.2016 в 15:29. |
26.10.2016, 15:11 | #2 |
Участник клуба
Регистрация: 14.05.2016
Сообщений: 1,793
|
Я не знаком с программирование микроконтроллеров, но готов сообщить своё предположение. Вот нашёл в интернете пример мигания, но правда на С++. Но с другой стороны: синтаксис может отличаться, а логика работы - остаётся одной и той же.
11.jpg Обрати внимание: мигание надо задавать в бесконечном цикле; ключевое слово "_delay(500)" - это задержка на 500 мс... А теперь посмотри на свой пример - цикл пустой... Я советую тебе сначала написать на С++ (просто списать с видеолекции), удостоверится что всё ОК, разобраться как алгоритм работает (он небольшой), - и только после этого переходить на ШАРП. Вот видео-урок: https://www.youtube.com/watch?v=dqAe7g1pgbo Последний раз редактировалось ura_111; 26.10.2016 в 15:17. |
26.10.2016, 15:18 | #3 | |
Новичок
Джуниор
Регистрация: 26.10.2016
Сообщений: 7
|
Цитата:
|
|
26.10.2016, 15:29 | #4 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
ТС, не надо # ставить, C# это иной язык. я не вижу у вас ни таймера, ничего. где обработчик таймера? Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
26.10.2016, 15:29 | #5 |
Участник клуба
Регистрация: 14.05.2016
Сообщений: 1,793
|
|
26.10.2016, 15:29 | #6 |
Новичок
Джуниор
Регистрация: 26.10.2016
Сообщений: 7
|
В названии опечатка, не на Шарпе необходимо решить задачу, а на С
|
26.10.2016, 15:34 | #7 |
Участник клуба
Регистрация: 14.05.2016
Сообщений: 1,793
|
|
26.10.2016, 15:36 | #8 | |
Новичок
Джуниор
Регистрация: 26.10.2016
Сообщений: 7
|
Цитата:
|
|
26.10.2016, 15:40 | #9 |
Участник клуба
Регистрация: 14.05.2016
Сообщений: 1,793
|
lony322, в видео фигурировало "_delay_ms(100)". Узнай, опытным путём (т.е. поэкспериментируй - 200, 300...), что это такое?
Время отключенного состояния или включенного, или что? Последний раз редактировалось ura_111; 26.10.2016 в 15:44. |
26.10.2016, 15:49 | #10 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,708
|
Делай это задержка. Включили, задержка, выключили, задержка, повторить - это и есть мигание.
ТС, же нужен PWM (т.е. ШИМ), который сам устроит мигание. Тут случай простой: если таймер поддерживает аппаратно генерацию шима, то просто настраиваему нужные параметры и пусть молотит. Если нет, то надо организовывать прерывание и в нем менять состояние ноги. Последний раз редактировалось p51x; 26.10.2016 в 15:52. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
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 |