ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Среда
27 ноября
796991 Топик полностью
Dingo (24.11.2017 13:50 - 25.11.2017 12:29, просмотров: 581) ответил Vit на если printf в обработчике, то это жесткое турецкое порно. на крайняк какой-нибудь TxDMA_Post(). PUTCHAR где-то там же. все подслова SEND для пакетов читаю как нечто, ожидающее завершения отправки, потому дальше не понял
Оно же не срабатывает? Или всё одно тормозить может(каким образом тогда?!)? Вот поди ж ты - оно! Спасибо. Но почему - всё равно не понял. Внутри версия. PUTCHAR_PROTOTYPE { /* Place your implementation of fputc here */ /* e.g. write a character to the USART */ /* Loop until the end of previeous transmission */ while (USART_GetFlagStatus(EVAL_COM1, USART_FLAG_TC) == RESET) {} USART_SendData(EVAL_COM1, (uint8_t) ch); return ch; } printf(); не вызывался вообще за контролируемые интервал времени. PUTCHAR(); как видите - проверяет флаг, если есть место - запихивает(и тогда ничего не ждёт). А.. кажется есть правдоподобный вариант: печать отладочной информации завершалась по запихиванию последнего символа, на 57600 это 10 бит => 1/5760 = 173 мксек = ~30000 циклов на 168 МГц. Вот на хвост этого ожидания, пока освободится регистр я и нарывался. /*рукалицо*/