всем добрый день. ситуация следующая. имеется плата stm32f4discovery и датчик давления bmp085. при попытке считать данные с него, не устанавливается старт_бит. потому что стоит флаг busy, то есть шина занята, причем на SCL высокий уровень, а на SDA низкий. как я понимаю, шину занимает Slave, пытаясь передать данные, не принятые с прошлого включения. причем, если при этом подключен цифровой анализатор, то в 80% случаях, прием стартует нормально, без него в 90% шина занята. все это происходит при отладке. флаг busy сбрасывал, не помогает. куда еще можно покопать? как при перегрузке контроллера, объяснить slave, что передача больше не требуется? а то при подаче питания, похоже он прижимает SDA, и не дает выставить SB
|