Страница 1 из 2
Лишний код при компиляции
Добавлено: 16 июн 2018, 14:28
jonik22sm
Когда код записываю в контроллер в arduino ID выскакивает ошибка
[spoiler]
Arduino: 1.8.1 (Windows 7), Плата:"Arduino Pro or Pro Mini, ATmega328P (5V, 16 MHz)"
C:\Users\Мастерская\AppData\Local\Temp\flprog\pr116\pr116.ino: In function 'void _SCT2positiveCoutFunction()':
pr116:105: error: '_SCT2_DLOSN' was not declared in this scope
pr116:105: error: '_SCT2_DLIDM' was not declared in this scope
pr116:105: error: '_SCT2_DLST' was not declared in this scope
In file included from C:\Users\Мастерская\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.21\cores\arduino/Arduino.h:30:0,
from sketch\pr116.ino.cpp:1:
C:\Users\Мастерская\AppData\Local\Temp\flprog\pr116\pr116.ino: In function 'void __vector_9()':
pr116:107: error: redefinition of 'void __vector_9()'
C:\Users\Мастерская\AppData\Local\Temp\flprog\pr116\pr116.ino

5: note: 'void __vector_9()' previously defined here
pr116:108: error: '_SCT2_DLIDM' was not declared in this scope
pr116:108: error: '_SCT2_DLOSN' was not declared in this scope
pr116:108: error: '_SCT2_DLST' was not declared in this scope
pr116:108: error: '_SCT2_DLST' was not declared in this scope
pr116:108: error: '_SCT2_DLDIV' was not declared in this scope
exit status 1
'_SCT2_DLOSN' was not declared in this scope
Этот отчёт будет иметь больше информации с
включенной опцией Файл -> Настройки ->
"Показать подробный вывод во время компиляции"
[/spoiler]
Я даже отключил Все платы а эта строчка всё ровно остаётся
[spoiler]
ISR (TIMER2_OVF_vect)
{ if((_SCT2_DLIDM)){if(_SCT2_DLIDM){ if (_SCT2_DLOSN){if((_SCT2_DLST+0)<micros()){_SCT2_DLST = micros(); _SCT2_DLOSN=0; digitalWrite(3, 0);_SCT2_DLIDM=0;}} else{if((_SCT2_DLST+_SCT2_DLDIV)<micros()){_SCT2_DLST = micros(); _SCT2_DLOSN=1; digitalWrite(3, 1);;}}}}
[/spoiler]
Лишний код при компиляции
Добавлено: 16 июн 2018, 14:49
Sancho
Это остатки от скоростного счётчика, на мой взгляд. Но это "таймер на прерываниях" - прошу прощения "за мой английский".
Смотри свои предыдущие версии( надеюсь, ты делаешь периодическое сохранение под разными именами/версиями

) - как вычистить я не знаю....
Лишний код при компиляции
Добавлено: 16 июн 2018, 14:50
Anydy
Раздел называется "Пользовательские блоки".
Даже красным выделены правила по размещению блоков.
Сейчас модеры придут и влепят вам предупреждение...
Лишний код при компиляции
Добавлено: 16 июн 2018, 15:03
jonik22sm
Незнаю я тему открывал общее другое А не пользовательские блоки.
Лишний код при компиляции
Добавлено: 16 июн 2018, 15:03
Serg_Grn
На 11-ой плате скоростной счётчик - "функция линии задержки", ошибка где-то там.
Лишний код при компиляции
Добавлено: 16 июн 2018, 15:06
jonik22sm
Так я же отключил все платы от компиляции и всё ровно в IDE оно присутствует
Как тогда очистить код
Блин опять переписывать это опять вечер насмарку
Лишний код при компиляции
Добавлено: 16 июн 2018, 15:13
Serg_Grn
jonik22sm писал(а): 16 июн 2018, 15:06Блин опять переписывать это опять вечер насмарку
Зачем? Когда убираешь галку с функции линии задержки, ошибка уходит. Уберите счетчик, замените на что-то другое... Сильно не вникал в Ваш проект, но имхо, скоростной счётчик там не особо нужен, так как он используется...
Лишний код при компиляции
Добавлено: 16 июн 2018, 16:07
Sancho
jonik22sm писал(а): 16 июн 2018, 15:06Блин опять переписывать это опять вечер насмарку
Поставьте другой фазорез. И всё Ок!!!
[spoiler]
2018-06-16_16-10-35.png
[/spoiler]
Лишний код при компиляции
Добавлено: 16 июн 2018, 18:00
jonik22sm
А как мне тогда управлять нагрузкой?
Лишний код при компиляции
Добавлено: 16 июн 2018, 18:06
Sancho
jonik22sm писал(а): 16 июн 2018, 18:00А как мне тогда управлять нагрузкой?
Sancho писал(а): 16 июн 2018, 16:07Поставьте другой фазорез.
Или медленный шим.
Лишний код при компиляции
Добавлено: 16 июн 2018, 18:11
jonik22sm
Подскажите как мне сделать другой фазорез или медленный шим
Лишний код при компиляции
Добавлено: 16 июн 2018, 18:45
Sancho
[ref]jonik22sm[/ref],
jonik22sm писал(а): 16 июн 2018, 18:11Подскажите как мне сделать другой фазорез или медленный шим
Медленный шим есть в ПБ.
Думаю, фазорез в данном случае излишен - процессы не быстрые.
На будущее - не ленитесь, создавая проект, создавать промежуточные состояния/проекты - всегда будет шанс безболезненно откатится назад. Я для этого помечаю, дополнительно к названию, например _v1_1, _v1_2...., а когда существенные изменения, _v2_1 и т.д.
[spoiler]
2018-06-16_18-49-28.png
2018-06-16_18-47-52.png
[/spoiler]
Отправлено спустя 2 минуты 2 секунды:
Можно дописывать дату и время, например.
Лишний код при компиляции
Добавлено: 16 июн 2018, 20:15
jonik22sm
Так я заметил
Добавляю скоростной счётчик и происходит вот такая мотня
Убираю всё нормально. Как мне использовать задержку? Поставить просто таймер на задержку включения?
Отправлено спустя 1 минуту 19 секунд:
В нагрузке будет инфракрасная лампочка
Отправлено спустя 36 секунд:
Нужно что бы она плавно регулировалась
Лишний код при компиляции
Добавлено: 16 июн 2018, 20:19
Sancho
[ref]jonik22sm[/ref],
Удали в коде вот это:
Код: Выделить всё
ISR(TIMER2_OVF_vect)
{ TCNT2=100;
if(_PWDC >= 1000){asm volatile ("jmp 0x0000");}else{_PWDC = _PWDC+1;};
}
Отправлено спустя 54 секунды:
Просто предположение, наверно осталось от неправильных настроек раньше...
Отправлено спустя 2 минуты 27 секунд:
А так-же настрой шкалу перед счётчиком, правильно, и сам счётчик.
[spoiler]
2018-06-16_20-26-52.png
2018-06-16_20-25-03.png
[/spoiler]
Лишний код при компиляции
Добавлено: 16 июн 2018, 22:57
jonik22sm
Приеду домой проверю
Отправлено спустя 1 час 39 минут 48 секунд:
А если вот так сделать будет работать линия задержки?
Снимок555.PNG
Отправлено спустя 1 минуту 29 секунд:
С любой настройкой SpeedCountr идёт такая шняга в коде
Лишний код при компиляции
Добавлено: 17 июн 2018, 00:34
Serg_Grn
А зачем нужен счётчик на прерываниях для такой простейшей функции? Почему просто таймер не поставить?
Лишний код при компиляции
Добавлено: 17 июн 2018, 01:23
jonik22sm
Вы про какой счётчик говорите?
Мне нужна задержка для управления МЫ лампой плавное регулирование
Лишний код при компиляции
Добавлено: 17 июн 2018, 08:10
Sancho
Serg_Grn писал(а): 17 июн 2018, 00:34А зачем нужен счётчик на прерываниях для такой простейшей функции? Почему просто таймер не поставить?
Это фазорез.
jonik22sm писал(а): 16 июн 2018, 22:57Приеду домой проверю
И? какие результаты?
Это надо найти в коде, ближе к концу, и удалить:
ISR(TIMER2_OVF_vect)
{ TCNT2=100;
if(_PWDC >= 1000){asm volatile ("jmp 0x0000");}else{_PWDC = _PWDC+1;};
Лишний код при компиляции
Добавлено: 17 июн 2018, 10:17
Serg_Grn
Sancho писал(а): 17 июн 2018, 08:10Это фазорез.
Простите мою безграмотность, какой физический смысл этого фазореза? Для управления нагрузкой есть ШИМ, в чём необходимость скоростного счётчика?
Лишний код при компиляции
Добавлено: 17 июн 2018, 11:29
Sancho
Serg_Grn писал(а): 17 июн 2018, 10:17Простите мою безграмотность, какой физический смысл этого фазореза? Для управления нагрузкой есть ШИМ, в чём необходимость скоростного счётчика?
PDM & PWM
Необходимость метода определяет пользователь исходя из своих задач.