- stm32 и exti - не сразу начинает реагировать на фронты, пропускает
первые сигналы от внешнего источника (секунды не реагирует!)... POV(219 знак., 19.07.2023 15:09, ARM, полностью)
- Вопрос, как изнутри программно вызвать перезагрузку всего
микроконтроллера CortexM ? - sav6622(07.07.2023 09:28, ARM, полностью)
- Норот! Кто пишет под MounRiverStudio, что там за ебанутая система?
Подключаю в проект "*.h" файл с переменными и из других инклуденных
"*.с" эти переменные не вижу. Подключаю в эти "*.с" "*.h" файл с
определением переменных, студия начинает ругаться на множэственное
определение. Шо за ебала? - mse homjak(17.07.2023 11:31, ARM, полностью)
- Кароч, промблемма рассосалось, всем спасибо за участие. - mse homjak(17.07.2023 17:25)
- Где-то в одном месте в сишнике есть определение глобальной
переменной и без extern, NAUT(171 знак., 17.07.2023 15:35)
- а зачем у вас переменные в *.h? - RED_DRAGON(17.07.2023 15:23)
- Покажи краткий пример. VVB(107 знак., 17.07.2023 11:57)
- примерно так: mse homjak(342 знак., 17.07.2023 12:41)
- То есть вот так не умеет парсить? Неудивительно. Место для
переменной data выделяется и в модуле main и в модуле fun. Надо
где-то в одном месте выделить. VVB(209 знак., 17.07.2023 12:44)
- Должно быть вот так (тест на внимательность) Cкpипaч(237 знак., 17.07.2023 13:10)
- Нет, походу, не умеет. Ругается, как обычно. - mse homjak(17.07.2023 12:50)
- Надо убрать int data = 0; или int data = 1; в одном из модулей и
оставить только в одном. Я специально разные значения присвоил,
чтобы подчеркнуть, что компилятор не умеет за человека думать и
присваивать "правильное" значение (он не знает, какое: 0 или 1).
Переменная data примет нужное значение до запуска main() в "c
runtime". - VVB(17.07.2023 12:54)
- переменной не присваивается значение при определении. Переменная
принимает участие в вычислениях и к ней можэт быть доступ из разных
Ц-файлов. Что там присвоит ей компилятор до майн, значения не
имеет. mse homjak(24 знак., 17.07.2023 13:04)
- Тут вы не правы. Переменной всегда присваивается значение при
"определении". Если значение явно не присвоено, то присваивается
"0". VVB(441 знак., 17.07.2023 13:23, ссылка)
- Это я понимаю, упоролся ужэ. Я объявляю переменную в Н-файле и подключаю его в майн. По идее, этого должно
быть достаточно. Но МРС требует, чтобы этот Н-файл был подключён в
Ц-файле, где используется переменная, иначе, ругается, что она не
объявлена. А при подключении, ругается, что она переопределена. У
меня щас возникло нехорошее предчувствие, посмотрел внимательно на
заготовку проекта МРС-студии, а там такое: mse homjak(244 знак., 17.07.2023 13:48)
- Дык эта... Китайцы ни при чём. Это пророки Керниган и Ричи при чём.
И они ни в чём не уиноуаты, ибо пророки. А вы учите их священное
писание, и буде вам щастя. - SciFi(17.07.2023 14:06 - 14:32)
- Дык, ладно бы я, сирый и убогий. Тут местный гуру был необычайно
озадачен. Вот, ради прикола, совсем пустой проект: И сообщение, что
всё совсем плохо: mse homjak(316 знак., 17.07.2023 14:24, ссылка, ссылка)
- Переменная должна быть И объявлена (extern), И создана. Причем
создана ТОЛЬКО в одном месте. В вашем примере, или в addon.c, или в
main.c нужно добавить: Cкpипaч(64 знак., 17.07.2023 16:00)
- Всё правильно компилятор говорит. Всё-таки обратитесь к священным
текстам. Там вам разъяснят, что такое объявление, что такое
определение, в каких местах и в каком числе это всё должно
присутствовать. В этой ветке об этом уже говорилось, но вы успешно
проигнорировали. - SciFi(17.07.2023 14:30)
- Баним в майне addon() и всё, никто ни на что не ругается. Особенно,
на то, что в майне есть ундефинед референсе. - mse homjak(17.07.2023 14:29)
- Я извиняюсь за глупый вопрос, а #ifndef в *.h файлах имеется? - reZident(17.07.2023 11:41)
- Это нормально. ctl+f по всем файлам. Смотришь, где ещё вглубь это
всё. - Бapбoc(17.07.2023 11:39)
- А что "цтрл-ф"ить? В одном случае он не находит переменную, в
другом, говорит, что несколько раз переопределена. всё работает,
если всё писать в майн.ц. Это, бля, чо за дичь? - mse homjak(17.07.2023 11:44)
- При сборке консоль что выводит? Ругается на сборку или сам
индексатор? Что во всплывающей подсказке при наведении на ошибку? - Dingo(17.07.2023 12:21)
- похоже, что месье таки забыл, что выделить место (и, если нужно,
при этом задать значение) можно один раз в пределах области
видимости. а extern указывает, что место выделено где-то, потому в
хедере переменные без extern хоть и допустимо описывать (выделять
место), но только при включении хедера не более одного раза. - Vit(17.07.2023 12:10)
- Попробуй пересоздать проект, и снова туда добавить файлы, как-то
эта хрень очень похожа на новый Crosscore от андевиц... он на базе
эклипса... эта скотина иногда путается в своих же файлах, где-то
видит, где-то не видит (точнее та часть что добавляет, она видит
что файлы уже учтены в проекте... а та часть что собирает - говорит
нет и всё тут...и никакие условные @make clean не помогают)... и
всё, помогает только пересоздание проекта с импортом-вставкой всех
файлов... - sav6622(17.07.2023 11:50)
- Там, где-нибудь, в конце определений надо поменять 0 на 1. Или
наоборот. - Бapбoc(17.07.2023 11:48)
- Подскажите, как правильно использовать systick в risc-v для
формирования точного интервала? Peter_M(550 знак., 12.07.2023 17:14, ARM, полностью)
- Подниму еще разок тему. Приобрел в Чип-Дип "до-кучи" пяток
CH32V203F8P6 (еще не ведал о "токсичности"). Так и не понял как
заставить этих выкидышей от WCH отлаживаться в MRS. Отладка в
студии виснет после заливки. В DS есть картнка "BOOT0=GND". Т.е.
ожидается, что чип сразу переходит в загрузчик после сброса. Но и
загрузчик тоже не подает признаков жизни - ни usb, ни uart.
Cтереть/залить прошивку с помощью WCH-LinkUtility получается. И оно
работает. Куда еще копать? - Гyдвин(27.06.2023 14:20, ARM, полностью)
- Risc-V, CH32V203RBT6, MounRiver Studio IDE, Си. Отладчик WCH-Link. petrd(377 знак., 22.03.2023 12:26, ARM, полностью)
- GD32F103, DWT->CYCCNT перестает работать при отключенном
GD-LINK. При старте взвожу DWT_CTRL_CYCCNTENA. Куда еще посмотреть
можно? Bинни Пox(303 знак., 10.07.2023 16:41, ARM, полностью)
- Есть плата на каком-то Атмеловском SAM9X с самопальной сборкой
Linux. Из системы нужно добыть несколько исполняемых файлов. Пароль
для входа в Linux утерян, но есть доступ к U-Boot. Я правильно
понимаю, что можно слить образ через U-Boot, смонтировать в
десктопном Linux'е и дальше делать с файлами все, что хочется? - AlexG(03.07.2023 22:44, ARM, полностью)
- В каком документе описаны встроенные в IAR математические функции?
Нужен целочисленный квадратный корень. sqrt для float. А у меня
STM32F107 и использовать float совсем не хочется. - Sl(04.07.2023 14:57, ARM, полностью)
- СH32V203F8P6 - 96МГц. SPI - 12MГц, ENC28J60. Ping + UDP ping-pong
50 байт + UDP "спам" 1500 пак/сек. Вот такую вот картинку вижу...
На 144МГц вылетает в hard fault - проседает питанеие. Не тянет
питальник WCH-LinkE жручий ENC28... Гyдвин(1 знак., 03.07.2023 10:04, ARM, картинка, полностью)
- Вопрос по SPI. В stm32 такое же блядство, как встретилось в
китайском коде для СH32V ? Гyдвин(669 знак., 30.06.2023 11:59, ARM, полностью)
- GD32F303CCU6 - купил в Чип-дипе и запаял вместо STM32F103C8 на
bluepill, не видится ни загрузчиком, ни j-link-ом ни st-link-ом,
ориентация чипа верная, питание не в КЗ, может брак или фьюзы
какие-то предустановлены неверно? - NAUT(29.06.2023 02:18, ARM, полностью)
- Всем привет. Подскажите, пожалуйста. Стоял в изделии STM32F103C8T6.
Поменял на GD32F103C8T6. Залил прошивку - все работает. Не работает
USB CDC. Пишет USB устройство не распознано. Знаю. что проблем с
цепями нет. Т.к. заливаю массторадж юсб загрузчик - с ним все без
проблем. На что бы обратить внимание? - vesago(29.06.2023 14:21, ARM, полностью)
- Вопрос. У Cortex-M приоритет численно разделяется между
прерываниями и исключениями? StdEng(3320 знак., 27.06.2023 20:57, , ARM, полностью)
- Думаю, что, всё же, нет, не разделяется. Даже процедура установки
приоритета едина, различие лишь том, куда пишется - в контроллер
прерываний или в системные обработчики: Nikolay_Po(452 знак., 28.06.2023 21:31)
- У исключений, вроде, приоритеты отрицательные, поэтому
пользовательскому коду назначить приоритет исключения и выше -
нельзя, доступна запись лишь положительных значений приоритета. Nikolay_Po(554 знак., 27.06.2023 22:20)
- ARM вводит отрицательные приоритеты для Reset: (-3), NMI: (-2),
Hardfault: (-1) но они заданы и их не установить.. Выше в коде
функции отрицательные на входе это индексы исключений (не числа приоритетов), сами числа приоритетов все
положительные. Это видно по коду функции выше и по комменту: or negative to specify a processor exception. Интересует все же вопрос совместного разделения приоритета
NVIC.IPR и SHPR1-SHPR3 который умалчивает документация ARM/STM. - StdEng(27.06.2023 23:32, )
- Да, не нашёл, где было бы явно указано, но припоминаю, когда только
начал погружаться в архитектуру STM32 (ARM), где-то прочёл, что
NVIC - это дополнительный контроллер-расширитель ядра, который
дёргает линии различных приоритетов прерываний самого ядра. А
системные обработчики дёргают эти линии как бы напрямую, мимо NVIC.
Но, в итоге, дёргаются одни и те же линии. Nikolay_Po(101 знак., 28.06.2023 13:54)
- Исключения как индексы вектора прерывания играют роль при
одинаковом приоритере. Если приоритет прерываний одинаков, то при
одновременном запросе на прерывание произойдет то, которое имеет
вектор с меньшим индексом, те которое выше в таблице прерываний==
ближе к вектору ресета. - shan(28.06.2023 11:55)
- А кто-нибудь с RISC-V наигрался с демо-платками ? могу забрать =)))
зы, посоветуйте кого взять, кто уже брал... - sav6622(19.06.2023 20:52, ARM, полностью)Гyдвин
- Микрочиповские валяются с ПИК32, не зашли, хотя, устарели уже.
Марку завтра сказать могу. - Visitor(20.06.2023 21:19)
- Делаеца за полчаса - час. mse homjak(1 знак., 19.06.2023 22:52, картинка)
- вот никогда ЛУТом не занимался, да и не хочется... =)) - sav6622(20.06.2023 13:02)
- Ну, ждите месяц демки с Али. - mse homjak(20.06.2023 14:27)
- ви таки не повэрите Ralex(1 знак., 20.06.2023 14:42, ссылка)
- Ну, на цэнник можно забить. Но сроки, от недели. Не, я, собсно, за
колхоз не агитирую, оно мне каг-то таво. Просто за час я получил
макет в боевом составе и ужэ всё что нужно, в базе, отладил. За
неделю с лишним. А так, только сёдня бы получил демку, чтобы
надёргать ношкой "%ло ворд!" - mse homjak(20.06.2023 14:49)
- Когда как: ко мне эта посылочка ровно через 2 недели после заказа
пришла. - Eddy_Em(20.06.2023 14:41)
- Ну... 2 недели и час, разница есть? Причом, сразу с нужной
периферией. - mse homjak(20.06.2023 14:44)
- Ну так мне не к спеху же. Если срочно прототип нужен, либо какая
железка в единственном экземпляре (но двухслойки 0.2/0.2 за глаза),
я тоже сам делаю - фоторезистом. Eddy_Em(302 знак., 20.06.2023 16:04)
- Чойто лень стало лазерноутюжить... Год назад помогал дочке с
дипломом - сваял станочек для лазерной гравировки логотипов на
пластике. Из CD приводов. Фиолетовый лазер от DVD достаточно
мощный. Видеел, что тонкий слой краски с пластика испаряет. Дочка
занималась математикой - векторная графика, преобразование,
коммуникации, связь с БД и пр. Рабочее поле 36*36 мм, 960х960
шагов. Вот думаю - а не попробовать ли приспособить ли ваяния
мелких платок? - Гyдвин(20.06.2023 15:02)
- А софт какой, чтобы управлять станочком? Eddy_Em(519 знак., 20.06.2023 16:07)
- gcode прекрасно обрабатывают прошивки для 3dprinter см. Marlin RxTx(1 знак., 21.06.2023 13:23, ссылка)
- Там адово рукожопие, еще и калокуб. Eddy_Em(246 знак., 21.06.2023 13:40)
- Эдик, не продолжай! По сравнению с большинством проектов, Марлин
вполне приличный, работает почти что в реальном времени. Для
сборной солянки разных архитектур, разных разработчиков, считаю
этот проект очень успешным. Они выжимают десяток килоимпульсов в
секунду для кривых по G-коду с плавающей точкой на Mega2560. Nikolay_Po(911 знак., 21.06.2023 13:53, ссылка)
- При беглом анализе сложилось впечатление что состояние пинов Marlin
генерирует программно, получая прерывание от таймера. Более высокую
частоту чем таймер получает просто в программном цикле внутри
прерывания, несколько раз программно дрюкая ножку. И похоже что
система не работает в мультитаске, на генерирование STEP скорее
всего тратится 100% времени, прерываясь на задачи опроса в тот
момент когда один из движков доезжает до конца. Прерываний
несколько, но они все RxTx(42 знак., 23.06.2023 16:20, ссылка)
- Ну, я в его коде ковырялся: думал, может себе что-нибудь ценное
выдерну. Eddy_Em(1355 знак., 21.06.2023 14:01, ссылка)
- "Я код на калокубе даже длинной палкой тыкать не буду, чтобы не
заляпаться!" А где ты там STM32Cube узрел? Файлы и функции называются HAL? так
это еще не Cube, это просто Hardware Access Layer, их собственный
код, к HAL от ST отношения не имеет. Но и там HAL/LL/CMSIS можно
использовать как библиотеку без собственно кодогенератора
STM32Cube. - RxTx(23.06.2023 22:30)
- "Жаль, правда, не хватило таймеров" Конечно, не хватило, раз ты на
8 движков зачем-то задействовал 8 аппаратных таймеров STM32.
Аппаратный таймер считает и перегружает значение за 0 тактов,
бесплатно. Зато обнуление/совпадение таймера приводит к вызову ISR
= 12t+10t. Но если считать счетчики программно в ISR срабатывающем
с высокой частотой, то это +4 добавочных такта на каждый таймер
(decrement счетчика, и условный переход если-не-0): LDR reg; SUBS
1; STR reg; CBNZ. А RxTx(132 знак., 23.06.2023 22:26)
- Умеет флоаты, Марлин умудрился, программно. В G-коде практически
всё параметры в плавающей точке. А UART для управления драйверами
софтовый - в чём проблема, нужно редко, чтобы настроить и изредка
вычитывать ошибки. Для широты номенклатуры поддерживаемых
контроллеров, программный интерфейс - преимущество и нормальное
решение. Это не рукожопие, а нормальный инженерный подход, решающий
задачу. Nikolay_Po(252 знак., 21.06.2023 14:08)
- Нужна была возможность автономной работы. Посему поставил 4 Мб
флеш. Дочерь всю математику на компе вырисовывала, разбивала
перемещения на короткие кусочки (дискретность в проге можно
задавать) и заливала в станок по ethernet файл с этим массивом. В
станке только короткие перемещения кареток из массива с
брезенхемом. - Гyдвин(20.06.2023 16:35)
- f133 только получил недавно, руки не доходят все - RED_DRAGON(19.06.2023 22:41)
- 3 дня в процессе :) 20-лапые разных серий имет абсолютно разную
разводку. 48-лапые CH32V203C8T6 совпадают по выводам с STM32FC8T6 -
можно впаять в blue pill. Посему можно начать с них. Для V003 нужен
новый однопроводный отладчик. Вот здесь выгоднее всего взять
комплект-> Гyдвин(1 знак., 19.06.2023 21:33 - 22:19, ссылка)