|
370 / 133 / 44
Регистрация: 05.02.2015
Сообщений: 901
|
||||||
Искажение массивов04.06.2020, 21:56. Показов 1491. Ответов 30
Метки нет (Все метки)
Здравствуйте. Раньше писал под пк, теперь есть проект, который нужно сопровождать на c под микроконтроллер, и в общих чертах столкнулся с проблемой искажением данных:
Когда я вывожу на экран первый массив, выводится все корректно. Второй массив почему-то искажается: в первой половине массива появляется какое-то значение 32, которое я не указывал. Вообще, массив портится именно значением 32. Что это за магическое число? Пробовал переставлять массивы местами, ситуация меняется: тот, который объявлен первым выводится без проблем, тот который вторым - искажается. Почему это может быть. Есть у кого идеи?
0
|
||||||
| 04.06.2020, 21:56 | |
|
Ответы с готовыми решениями:
30
Искажение дискретных сигналов Искажение формы сигнала Искажение данных из-за пульсо мера |
|
|
|
| 09.06.2020, 20:35 | |
|
Метод я выше показал. Верните как было и проверьте.
Такие нюансы надо досконально выяснять. А не "инициализацию поменял, всё заработало, и пофиг". Добавлено через 7 минут Потому что когда устройство разойдётся тысячами штук по стране и за её пределами, да вылезет баг, на который вы вот сейчас махнули рукой, будет слегка неудобно.
1
|
|
|
370 / 133 / 44
Регистрация: 05.02.2015
Сообщений: 901
|
|
| 09.06.2020, 21:03 [ТС] | |
|
Rius , так я же не спорю. Обязательно проверю, просто написал, как пока "заткнул" дырку, может кто и объяснил бы почему заработало. Спасибо за информацию.
0
|
|
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,874
|
||||
| 09.06.2020, 21:21 | ||||
0
|
||||
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,874
|
||||||||||
| 09.06.2020, 22:25 | ||||||||||
как бы я показал принцип выхода за пределы массивани один нормальный человек не будет этого делать воочию можно узреть организацию памяти ![]()
0
|
||||||||||
|
|
||
| 10.06.2020, 12:38 | ||
![]() Массив попал во флеш как о должен в таких случаях. ![]() Но даже если бы он туда не попал, все равно данные не затерлись бы (проверено). Buff попадет в секцию .bss, а value_1 в секцию .data и расположение рядом маловероятно.
0
|
||
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,874
|
||
| 10.06.2020, 12:55 | ||
|
я давно не работаю с AVR, но помню что для одного достаточно const, а другому подавай PROGMEM
0
|
||
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,874
|
|||
| 10.06.2020, 13:13 | |||
|
подождем автора, пускай скажет что за камень Добавлено через 2 минуты вот он оказывается уже отвечал
0
|
|||
|
370 / 133 / 44
Регистрация: 05.02.2015
Сообщений: 901
|
|
| 11.06.2020, 11:22 [ТС] | |
|
locm , вы были правы. К ошибке действительно приводило переполнение буфера вывода. Вопрос по сути исчерпался. Обидно, что компиляторы не проверяют такие вещи, и не подсказывают, что кладешь больше, чем можешь себе позволить.
0
|
|
|
|
|
| 11.06.2020, 11:31 | |
|
Это проблема не компилятора. Она возникает во время выполнения.
На переполнении буфера несчётное число багов и дыр построено..
0
|
|
| 11.06.2020, 11:31 | |
|
Помогаю со студенческими работами здесь
31
Искажение аудиосигнала при ресемплинге Ланцоша Что вызывает искажение нижних и верхних пиков сигнала? Даны пять массивов А(4,4),В(4,4),С(4,4),D(4,4)F(4,4).Найти произведение массивов. определение произведения двух массивов оформить в виде процедур искажение окон Искажение изображения Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
[golang] Угол между стрелками часов
alhaos 12.05.2026
По заданным значениям часа и минуты необходимо определить значение меньшего угла между стрелками аналогового циферблата часов.
import "math"
func angleClock(hour int, minutes int) float64 {
. . .
|
Debian 13: Установка Lazarus QT5
ВитГо 09.05.2026
Эта инструкция моя компиляция инструкций volvo
https:/ / www. cyberforum. ru/ blogs/ 203668/ 10753. html
и его же старой инструкции по установке Lazarus с gtk2. . .
|
Нейросеть на алгоритме "эстафета хвоста" как перспектива.
Hrethgir 06.05.2026
На десерт, когда запущу сервер.
Статья тут https:/ / habr. com/ ru/ articles/ 1030914/ . Автор я сам, нейросеть только помогает в вопросах которые мне не известны - не знаю людей которые знали-бы. . .
|
Асинхронный приём данных из COM-порта
Argus19 01.05.2026
Асинхронный приём данных из COM-порта
Купил на aliexpress термопринтер QR701. Он оказался странным. Поключил к Arduino Nano. Был очень удивлён. Наотрез отказывается печатать русские буквы. Чтобы. . .
|
|
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром.
возможно получится прикрутить интерпретатор питон для кастомизации игровой логики.
что есть на текущий момент:. . .
|
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2.
Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
|
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
|
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2.
Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
|