-
- Спасибо всем. И референс был не там, и копилот подсказал про SAMS,
хотя в моем случае вроде не важно. Но главное - таймер был
выключен. - Ig_B(26.07.2025 18:54)
- Вооот. Поэтому и нужно ловить результат в прерывании АЦП, а
таймером лишь запускать преобразование, причем АППАРАТНО. Нет
прерываний - нет преобразования. Вы дебагом пользоваться умеете? - my504(26.07.2025 21:05)
- Бесит меня необходимость переключать пиккит из программатора в
дебаггер... - Ig_B(27.07.2025 08:09)
- А нехер модные МПЛАБы ставить! В старых всё работает по-людски. - Kpoк(27.07.2025 11:35)
- Зачем? Разве кнопка записи прошивки не работает? - Nikolay_Po(27.07.2025 10:36)
- Она может быть и работает, но её нету. - Kpoк(28.07.2025 10:58)
- ? Nikolay_Po(46 знак., 28.07.2025 12:14, картинка)
- Кнопка выглядит не так! - Kpoк(28.07.2025 12:36)
- Зануда, кнопка находится под лицевой панелью и легко через неё нажимается. enc(1 знак., 28.07.2025 12:51, картинка)
- Ну так пользуйтесь не кнопкой. Жмёшь - и оно собирает релизный хекс
и шьёт. Не дебаг, а именно релиз. - Nikolay_Po(28.07.2025 12:39)
- Товарищ же объяснил: лишнее нажатие трёх кнопок. Кликбейт какой-то, прости господи. - Kpoк(28.07.2025 18:26)
- Кнопка выглядит не так! - Kpoк(28.07.2025 12:36)
- ? Nikolay_Po(46 знак., 28.07.2025 12:14, картинка)
- Она может быть и работает, но её нету. - Kpoк(28.07.2025 10:58)
- А зачем его постоянно переключать? Вы столкнулись с проблемой, которую можно решить дебагом. Почему им не воспользоваться? Я не понимаю такого подхода. - my504(27.07.2025 09:32)
- Бесит меня необходимость переключать пиккит из программатора в
дебаггер... - Ig_B(27.07.2025 08:09)
- Вооот. Поэтому и нужно ловить результат в прерывании АЦП, а
таймером лишь запускать преобразование, причем АППАРАТНО. Нет
прерываний - нет преобразования. Вы дебагом пользоваться умеете? - my504(26.07.2025 21:05)
- Впрочем, ошибку в вашем коде я могу и сейчас показать. Ошибка в первой строке. Vref подключается не к RA3, а к RB1. ))) У вас +Vref не подключен. Потому и нули. - my504(24.07.2025 22:48)
- Я всегда настраивал непрерывное преобразование - когда АЦП сам
начинает следующее преобразование после завершения предыдущего. И
вычитывал или из DMA, или из прерывания АЦП. Очень удобно. - Nikolay_Po(24.07.2025 18:01)
- Для извращенцев? Что можно намерить с таким подходом? Напряжение батарейки? - Kpoк(24.07.2025 23:58)
- Это действительно очень удобно, если частота преобразования АЦП не играет большую роль. Michael75(173 знак., 24.07.2025 23:46)
- 1. Причем тут прерывание таймера? 2. Уточните о каком конкретном
чипе идет речь. Могут быть варианты. - my504(24.07.2025 17:06)
- Чип dsPIC33EP32MC202. Про таймер, зачем запускать преобразование,
потом ждать, потом считывать результат? В четных прерываниях
таймера запускаем преобразование, в нечетных считываем результат. - Ig_B(24.07.2025 17:14)
- Шозабред, извините... my504(131 знак., 24.07.2025 18:28)
- Все в таймере, и запуск и считывание, но поочереди. В любой момент
в volatile переменной лежит последний результат. - Ig_B(24.07.2025 20:06)
- Если у вас переменная с неатомарным доступом меняется в прерывании, а обрабатывается в основном потоке, то её значение может быть искажено, даже если вы её объявили volatale. Michael75(440 знак., 28.07.2025 11:33)
- Прерывание от таймера вообще не требуется. Таймер выбирается как запускающий в настройках АЦП. А в прерывании от АЦП вы получаете "последний результат". my504(186 знак., 24.07.2025 21:21)
- Запустите сначала АЦП вручную, без прерываний, с обычными while(ожидание бита). Там видно будет. А то вдруг вы его перезапускаете слишком часто, так, что готовности преобразования просто не случается, вы слишком нетерпеливы... - Nikolay_Po(24.07.2025 21:20)
- Все в таймере, и запуск и считывание, но поочереди. В любой момент
в volatile переменной лежит последний результат. - Ig_B(24.07.2025 20:06)
- Шозабред, извините... my504(131 знак., 24.07.2025 18:28)
- Чип dsPIC33EP32MC202. Про таймер, зачем запускать преобразование,
потом ждать, потом считывать результат? В четных прерываниях
таймера запускаем преобразование, в нечетных считываем результат. - Ig_B(24.07.2025 17:14)
- Попробуйте использовать ИИ. Помогает найти ошибки. Nikolaev_Aleksey(31 знак., 24.07.2025 10:23, картинка)
- Да, похоже, придется пытать ИИ - Ig_B(24.07.2025 11:00)
- Думаю, что ИИ тут не нужен Michael75(278 знак., 24.07.2025 23:56)
- Это всего лишь один из инструментов для поиска ошибок. Nikolaev_Aleksey(431 знак., 25.07.2025 14:25)
- Это достаточно туповатый инструмент. Текущий случай показал, что с
помощью ИИ можно ничего не найти, хотя косвенно ответ имеется -
Vref не подключен. Ведь автор темы уверен, что он подключен. И даже
может показать строку кода. - my504(25.07.2025 15:36)
- коллега, вы меня разочаровываете. это только инструмент. один из
нескольких. - Nikolaev_Aleksey(26.07.2025 23:52)
- В поиске ошибок ни разу ии не помог, только дальше уводил,
поскольку когда мало данных, нго глючить начинает и по кругу
водить. Несложный скрипт, алгоритм, чем один вариант от другого
отличается... тут помогает хорошо. А даже почему комп ошибку
выдает, стековерфлоу полезнее. - Andreas(27.07.2025 08:52)
- у меня break в switch потерялся. неделю ошибку в железе искал
(совпало с новой платой). сейчас код постоянно прогоняю в ИИ с
просьбой указать ошибки. периодически удивляюсь своей рассеяностью
(и неграмотностью). - Nikolaev_Aleksey(28.07.2025 09:59)
- После недавнего обсуждения, добавляю в мейкфайлы
-Wimplicit-fallthrough=3 для ловли такого, заодно комменты
добавляю, где правильно пропущен break - Andreas(28.07.2025 12:47)
- Ну как вариант. Хотя я в особых проектах просто применяю нужный набор правил MISRA. Правда это увеличивает время разработки раз 10, как и стоимость. - Nikolaev_Aleksey(28.07.2025 13:14)
- Насчет ИИ... а как конкретно, прогоняете? Хочу тоже попробовать :) - Cкpипaч(28.07.2025 10:34)
- примерно так. далее диалогом. Nikolaev_Aleksey(1 знак., 28.07.2025 13:09, картинка)
- После недавнего обсуждения, добавляю в мейкфайлы
-Wimplicit-fallthrough=3 для ловли такого, заодно комменты
добавляю, где правильно пропущен break - Andreas(28.07.2025 12:47)
- у меня break в switch потерялся. неделю ошибку в железе искал
(совпало с новой платой). сейчас код постоянно прогоняю в ИИ с
просьбой указать ошибки. периодически удивляюсь своей рассеяностью
(и неграмотностью). - Nikolaev_Aleksey(28.07.2025 09:59)
- Инструменты бывают разного качества. Мой опыт подсказывает мне, что
нынешние ИИ - это низкопробный инструмент. - my504(27.07.2025 00:27)
- По мне вполне достаточный. Вот например в команду программистов приходит новый человек. каким образом оценить его работу и искать ошибки? Не читать же его 100500 строк кода. напишет где то на 10 уровне вложения макросов define TRUE FALSE чтобы это срабатывало при пересечении нулевого меридиана. и выстрелит все это лет через 5, когда он уже 3 места работы сменит. - Nikolaev_Aleksey(28.07.2025 13:23)
- Это очень хороший инструмент, но для других целей. Куда Нвидии свои платы девать прикажете? - Kpoк(27.07.2025 11:36)
- В поиске ошибок ни разу ии не помог, только дальше уводил,
поскольку когда мало данных, нго глючить начинает и по кругу
водить. Несложный скрипт, алгоритм, чем один вариант от другого
отличается... тут помогает хорошо. А даже почему комп ошибку
выдает, стековерфлоу полезнее. - Andreas(27.07.2025 08:52)
- коллега, вы меня разочаровываете. это только инструмент. один из
нескольких. - Nikolaev_Aleksey(26.07.2025 23:52)
- Это достаточно туповатый инструмент. Текущий случай показал, что с
помощью ИИ можно ничего не найти, хотя косвенно ответ имеется -
Vref не подключен. Ведь автор темы уверен, что он подключен. И даже
может показать строку кода. - my504(25.07.2025 15:36)
- Это всего лишь один из инструментов для поиска ошибок. Nikolaev_Aleksey(431 знак., 25.07.2025 14:25)
- Думаю, что ИИ тут не нужен Michael75(278 знак., 24.07.2025 23:56)
- Да, похоже, придется пытать ИИ - Ig_B(24.07.2025 11:00)
- CE420, CE421, CE422 (code example) положил в upload. Может поможет
чем. - alexem(24.07.2025 09:32)
- Спасибо, это смотрел на майкрочиповском гитхабе, но тут либо ДМА либо сканирование каналов - Ig_B(24.07.2025 10:56)
- Попытался вставить фрагмент кода, так он каменты по-китайски пишет. - Kpoк(24.07.2025 09:18)
- Спасибо всем. И референс был не там, и копилот подсказал про SAMS,
хотя в моем случае вроде не важно. Но главное - таймер был
выключен. - Ig_B(26.07.2025 18:54)