Страница 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:100: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
Необходимость метода определяет пользователь исходя из своих задач.