ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Вторник
25 марта
1504885 Топик полностью
Zikon (10.03.2025 10:14, просмотров: 147) ответил SciFi на Посмотрел я, какие особенности у CH32V003 с точки зрения компилятора. Я так понял, китайский GCC добавляет расширение xw (несколько компактных инструкций), масштаб эффекта от которого неясный и, скорее всего, скромный. Ну и __attribute((interrupt("WCH-Interrupt-fast"))) тоже со скромным эффектом, и там есть варианты обхода. Официальный GCC должен нормально подойти. Короче, горевать рано.
xw - расширение - неоднозначно, с одной стороны чтение и запись портов 8 или 16 бит упаковывается команда, с другой стороны - использование типов uint16_t и uint8_t приводит к дополнительным командам в коде по наложению маски! 

А "WCH-Interrupt-fast" - указание использовать достаточно быстрый аппаратный 2-х уровневый стек для сохранения 10 регистров
+ также есть 2 прерывания можно задать в спец. регистры и не будет считыване команды из таблицы, а сразу из спец. регистров переход по адресу!
но это всё надо настраивать в statrtup

В ARM - тоже что-то такое бывает !