MihaNN52

Members
  • Публикации

    101
  • Зарегистрирован

  • Посещение

Репутация

1 Обычный

О MihaNN52

  • Звание
    Осваивающийся

Информация

  • Город
    Нижний Новгород

Электроника

  • Стаж в электронике
    1-2 года
  • Сфера радиоэлектроники
    МК

Посетители профиля

330 просмотров профиля
  1. STM32 для чайника

    Я поражен вашей манерой общения и искрометным юмором. К сожалению, к теме это отношения не имеет, но если вы будите настаивать то я начну обсуждать вас, а не шину. Не далее как пару часов назад, я дал понять что с вами конкретно обсуждать мне нечего, но вы зачем то это удалили.
  2. STM32 для чайника

    шина отпущена
  3. STM32 для чайника

    Нет они не держат. Неисправность появляется если HAL ждет ответа, а его нет. Самое простое это отключить SCL во время работы и получите тоже самое - HAL_BUSY . Если отключать SDA то будет просто HAL_TIMEOUT. После повторного подключения работа продолжается. Но если выдало HAL_BUSY и шины линии висят в 1 т.е все как положено, МК считает что шина занята.
  4. STM32 для чайника

    Вы можете подключить любое i2c устройство с с вашим самым правильным кодом и во время работы отключить физически SCL и получите HAL_BUSY и попробуйте после этого вернуть шину в работу.
  5. STM32 для чайника

    Часы 3231 конечно. Ни кто в реальные проекты всякое говно не покупает. Неисправность по часам появлялась и ранее во время разработки устройства, а это было почти 8 месяцев. И микросхемы часов стояли минимум три разных. Читал там есть пример как перезапустить шину регистрами но у меня так и не получилось это сделать на f103. Возможно из нас кто то делал подобное?
  6. STM32 для чайника

    Да пришлось отключить часы и использовать внутренний RTC контроллера. Сейчас проблема не появляется. Вопрос как вернуть шину в работу без перезагрузки МК.
  7. STM32 для чайника

    Не без часов, а без шины i2c которая лежит плашмя и на которой несколько устройств.
  8. STM32 для чайника

    У меня он тоже не часто появлялся. Но тут похоже микросхема часов дает сбой. Перезапуск чтения не помогает. Линия SDA висит а нуле. Перезагрузка так же не помогает, но с этим вроде как разобрался. А как продолжить чтение нет. Понятно что в идеале все должно работать без сбоев. Но наверное не правильно чтоб устройство вставало без реализованных попыток работать дальше.
  9. STM32 для чайника

    HAL_I2C_Master_Read и HAL_I2C_Mem_Read В любом случае если подчиненный не дает ответ приходит BUSSY и че дальше с ним делать не понимаю. Как его сбросить? Командой или по таймауту?
  10. STM32 для чайника

    Привет всем. Ни как не могу побороть HAL BUSY На F103; Может есть у кого решение? Происходит в случае не получения ответа от слейва и все встает колом. С меня что угодно, я чет уже замучился совсем.
  11. STM32 для чайника

    в обработчике ни каких задержек не надо, быстро сделали и дальше
  12. STM32 для чайника

    @Darth_Vader я дописал выше свой вариант.
  13. STM32 для чайника

    @Darth_Vader мая так и сделал. Но есть же захват. Мы ведь учимся. Суть в том что если я в обработчике ставлю запуск таймера у меня на этом этапе программа падает. Как не странно но таймер 1 запускается таким образом но он считает другое. А так приходится крутить таймер без дела. Что то тут не так) void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) // обработчик внешних прерываний { if (GPIO_Pin == ECHO_Pin) {// если это пин echo:) if(!attachecho){ // Если Rising count = __HAL_TIM_GET_COUNTER(&htim4);// чтение таймер4 значения attachecho = true; //переключаем для второго захода } else { count = __HAL_TIM_GET_COUNTER(&htim4) - count;// чтение таймер4 значения printf("%d\n",count); attachecho = false; //переключаем для повтора } } }
  14. STM32 для чайника

    @MasterElectric я же сказал что регистры для меня темное пятно)) да f103
  15. STM32 для чайника

    Друзья так ка же замерить время с перехода с 0-1 и потом с 1-0. С функцией захвата разобрался она мне не поможет она ловит или от поднятия до поднятия или от падения до падения. А мне надо от поднятия до падения.