-
Постов
4 033 -
Зарегистрирован
-
Посещение
-
Победитель дней
3
Весь контент AHTOXA
-
LibreOffice 7
AHTOXA ответил ViKo тема в Документация
Написано же: "будет доступно". Когда - неизвестно :-) Я вроде бы читал, что тему убрали потому, что некому её поддерживать/сопровождать. (А без сопровождения она не полностью соответствует имеющимся кнопкам и пунктам). -
Там все биты помечены как "rc_w1". То есть, очищаются записью единички, а запись нуля не меняет состояние бита.
-
Ну, раз с вектором вроде разобрались, добавлю, что чистить прерывание нужно не так: EXTI->PR |= EXTI_PR_PR13; , а вот так: EXTI->PR = EXTI_PR_PR13;
-
Вектор не тот. У вас же не третье, а тринадцатое прерывание.
-
Инициализация объединений в С++
AHTOXA ответил Darth Vader тема в Программирование
Ага, понял. Это gcc-шное расширение: Полез искать информацию про это, обнаружил, что в c++20 designated initializers таки завезут, хотя и с некоторыми ограничениями. -
Инициализация объединений в С++
AHTOXA ответил Darth Vader тема в Программирование
Ух ты, круть. Я не знал про такое. Это только для объединений? (Для структур случайно не завезли? :-)) -
Инициализация объединений в С++
AHTOXA ответил Darth Vader тема в Программирование
Да, это почти единственная сишная фишка, которой мне не хватает в плюсах. Конкретно в этом случае можно выкрутиться, написав конструкторы для объединения: union MySuperPuperUnion { uint32_t Word; uint16_t HWord[2]; uint8_t Byte[4]; MySuperPuperUnion(uint32_t w) : Word(w){} MySuperPuperUnion(uint8_t b1, uint8_t b2, uint8_t b3, uint8_t b4){ Byte[0] = b1; Byte[1] = b2; Byte[2] = b3; Byte[3] = b4; } MySuperPuperUnion(uint16_t w1, uint16_t w2){ HWord[0] = w1; HWord[1] = w2; } }; const MySuperPuperUnion MyVal[3] = { MySuperPuperUnion(0x12,0x34, 0x56, 0x78), MySuperPuperUnion(0x1234,0x5678), MySuperPuperUnion(0x12345678), }; -
Я один это вижу ?
AHTOXA ответил muravei тема в Новости и обсуждения сайта и форума
Почему не вариант? Например, раздел "Математика и физика" не имеет расширенного описания. И ничего. Если название раздела не требует дополнительных пояснений, то зачем что-то придумывать? -
У CNC механика значительно массивнее. Для 3D-принтера она очень медленная будет. К тому же ход по Z обычно небольшой - тоже плохо для 3D-печати. Ну и подогрев стола непонятно как колхозить.
-
stm32F030C8 и стирание страницы флэша
AHTOXA ответил DpInRock тема в ARM, 32bit
Ну, если настроил (и сделал это правильно), то эта тема будет темой про необъяснимые явления в мире микроконтроллеров -
stm32F030C8 и стирание страницы флэша
AHTOXA ответил DpInRock тема в ARM, 32bit
Нужно настроить wait-states в регистре FLASH_ACR. Цитата из RM: -
SVD файлы STM32
AHTOXA ответил Mysteo тема в Программирование
Или можно взять с сайта ST. Идёте сюда: https://www.st.com/en/microcontrollers/stm32-32-bit-arm-cortex-mcus.html, выбираете семейство, потом контроллер, выбираете вкладку Resources, и там будет секция "HW Model, CAD Libraries & SVD". Вот например для F103: https://www.st.com/en/microcontrollers-microprocessors/stm32f103.html#resource --- Добавлю сюда вот этот репозиторий. Там не только STM-ки. -
Ну если вас устраивает такая (никакая) надёжность, то конечно, юзайте xor. А вообще я так и не понял, почему нельзя сразу сортировать эти числа.
-
Компиляторы IAR vs Keil, кто есть кто
AHTOXA ответил Darth Vader тема в ARM, 32bit
Причём тот, что 6 - на основе clang. Как и IAR новый (но это не точно). -
Говорят, что такие схемы имеют недостаток: при обрыве в цепи светодиода напряжение на электролитическом конденсаторе возрастает, и он может взорваться. Хотя для одиночного диода, запаянного в схему, это маловероятно. ЗЫ. На всякий случай: вариант с защитой от обрыва.
-
Можно сделать в два этапа: первый этап: просто сумма. Если сумма не совпала - массивы точно разные. Если сумма совпала, то делать доп. проверку: сортировать массив и считать crc.
-
А эти метки отсортировать сразу при сохранении нельзя? Не думаю, что это будет сильно накладно. ------- А, увидел ниже: Тогда отбой.
-
Какой таймер-то?
-
На диаграмме TIMx - это, возможно, общая для нескольких таймеров диаграмма.
-
Скорее всего, у этого таймера просто нет четырёх входов.
-
У, мне тоже попила кровушки эта панелька! :-) Да и до сих пор иногда попивает, когда я открываю старые воркспейсы.
-
Гальваническая развязка
AHTOXA ответил laker тема в Схемотехника
Если только электрики при очередном ремонте не поменяли ноль и фазу :-) -
Так там элементарно добавляется - в функции disk_read() добавить поиск сектора в списке сохранённых, а в disk_write() - сохранение в кэш. Я так делал, когда у меня fatfs читал карточку по UART :-) Типа: DRESULT disk_read(BYTE drv, BYTE *buf, DWORD sector, BYTE sectorCount) { if (!sectorCount) return RES_PARERR; if (disk_status(drv) & STA_NOINIT) return RES_NOTRDY; if (sectorCount!=1) // кэшируем только одиночные сектора return (sdioCore.ReadBuffer(buf, sector, sectorCount) == ERROR_NO_ERROR) ? RES_OK : RES_ERROR; if (cache.get(sector, buf)) // нашли в кэше? return RES_OK; if (sdioCore.ReadBuffer(buf, sector, sectorCount) == ERROR_NO_ERROR) { cache.put(sector, buf); return RES_OK; } return RES_ERROR; }
-
'volatile' или, все-таки, нет?
AHTOXA ответил Arlleex тема в Программирование
А, это как отмашка "старт!" от клиентского кода. Теперь понял. Насколько же удобнее (привычнее для меня) в плюсах: это можно сделать функцией-членом класса sI2CTSlot. И вместо slot->bsy = I2C_TSLOT_BUSY; клиентский код вызывал бы slot->start();