ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Среда
10 июля
344461 Топик полностью
User_ (03.08.2012 00:48 - 00:51, просмотров: 182) ответил Alex B. на Кто-нибудь I2C в STM32L151/F103 ковырял?
I2C в STM32F407 похожий результат, реализовал программный, вообще не виснет, но скорость была не нужна, поэтому I2C работает на 1 кГц. В stm32 какой-то заморочливый I2C и он требует мгновенной реакции на некоторые события на шине I2C, попытка отработать эти событие в прерывании приводит к зависаниям, причем они происходят не сразу, а через 2-5 минут, переинициализация шины с переинициализацией модуля I2C помогает, но достает это все. Библиотеки которые самописные (так и примеры с сайта STM) и авторы которых утверждают что побороли зависания, имеют при определенных событиях шины программные задержки, которые явно не описаны в описании на процессор, а часть событий шины они ожидают просто зависнув в цикле опроса флагов этих событий. Получается, надо все в программе остановить и ничем, кроме I2C не заниматься, чтобы он работал без зависаний.