Бзыки ардуино.
- Войдите на сайт для отправки комментариев
void loop() { dataFill(); zero = 0; for(int i = 0; i < n; i++){ zero = zero + data[i]; } zero = zero/n; dataIn(); findAnB(hc); dataOut(); }
Все работает нормально. Если переношу кусок кода в функцию и вызываю ее в loop, симуляция крашется. Вот так.
void loop() { dataFill(); findZero(); dataIn(); findAnB(hc); dataOut(); }
Все переменные из этого куска кода объявлены в самом начале, с видимостью проблем нет, к тому же эти же переменные используются во всех остальных функциях. Что это вообще может быть? Я уже несколько часов пытаюсь понять.
Крашится симуляция в методе findAnB(hc), который использует переменую zero и обычно работает отлично. Прикол в том, что если поместить этот кусок кода в эту функцию, симуляция все равно крашится. Объясняется все тем, что кусок кода проклят, и может быть помещен только в великую функцию loop(). Вот только в проклятья я не верю. Помогите пожалуйста, люди добрые. I'm done...
без полного кода (который рушится), помочь проблематично.
Давайте полный код. Вернее два, который работает и который - нет. А то хрен Вас знает что Вы там куда перенесли.
Наменди тут одному помогали ADC читать и только посту к 30-му выснилось, что он его с пина Ресет читает. там потом ещё долго доказывал, что это можно и всех гондонами называл.
а у этого, я думаю, n к нулю прилетает.
Второй тип выкидонов. Симуляция не крашится, но после захода в фунцкию поиска коэфициентов Фурье ардуинка как будто резетиться.
закоментил //findZero(), заскоментил кусок кода к loop обратно и все как часы.
с n все нормально.

Т.е. Вас не смущает что в 88 строке (может и еще где-то) цикл от 1 до 20, но при этом массив всего 20 элементов, т.е. от 0 до 19...
Такие вот "Бзыки и закидоны" у ардуино
Я затупил, a[0] - нулевой коэффициент считается по другому и чтобы использовать тот же массив я решил считать все остальные коэффициенты и записывать их начиная с 1, а к 20му просто прибавить 1. Ахахахахах, ну я и идиот). Как оно работало то раньше? я не понимаю. Спасибо тебе добры человек! Проклятие с кода снято, а тебе хвала и почет. Прошу прощения у ардуины за клевету, щас попробую переименовать тему.