ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Вторник
26 ноября
971538 Топик полностью
Nikolay_Po (18.01.2020 23:20, просмотров: 319) ответил SciFi на Отладку отключаем и смотрим. Лампочка перестала мигать - всё плохо.
С этого места можно по-подробнее. Что-то не получается. Собираю "Релиз", вручную прошиваю OpenOCD файл *.elf, пробовал прошивать *.hex - шьётся, проверка ОК. Но не работает. Причём, если собираю релиз, выключив полностью оптимизацию, то прошивки Релиза и Отладки совпадают, verify_image OpenOCD подтверждает идентичность. Но в железе не работает, ни одного импульса, хотя в режиме отладки, до падения, сигнал до вылета в HardFault (или ещё куда) есть. Код в main такой: //Setup PB12 as push-pull output, speed 2MHz RCC->APB2ENR |= RCC_APB2ENR_IOPBEN; //Enable GPIOB clock RCC->APB2ENR; //A pause GPIOB->CRH &= ~(GPIO_CRH_CNF12 | GPIO_CRH_MODE12); GPIOB->CRH |= GPIO_CRH_MODE12_1; while (1) { if (HAL_GetTick() & (1u << 6)) { GPIOB->BSRR = GPIO_BSRR_BS12; } else { GPIOB->BSRR = GPIO_BSRR_BR12; } }