как настроить I2C принцып что нужно настраивать.И ещё один вопрос у меня есть пример как передать 1 байт и принять.А если у меня 2 байтовое слово как это сделать тоже по принципу?
Любая разработка начинается с чтения документации и изучения доступных средств разработки. Данный материал целиком посвящен средствам разработки, включая детальные инструкции по запуску вашего первого приложения на BlueNRG-LP. Описана работа с отладкой STEVAL-IDB011V1, набором инструментов и пакетом ПО позволяющим разработчику быстро войти в курс дела.
Что привлекает в SiC по сравнению с кремнием, и какие особенности делают компоненты SiC часто используемыми, несмотря на более высокую стоимость в сравнении с кремниевыми высоковольтными устройствами? – Объясняет специалист ведущего разработчика силовых приборов из карбида кремния, компании Infineon.
Они в большинстве своем переносятся на F1 безболезненно. Сам так и делаю. А вообще, конечно, STM32F103 — худшее, что только можно придумать использовать!..
А вообще, конечно, STM32F103 — худшее, что только можно придумать использовать!..
Отличный контроллер. Стоит копейки, производительности хоть попой кушай, информации по программированию в сети и того больше. Простой и надёжный как АК.
VladislavS, какой он, нафиг, простой и надежный, если там I2C через жопу настолько, что некоторые его ногодрыгом делают? Я уж не говорю о других косяках... Вот ты сможешь включить на нем подтяжку в режиме выхода? Ну и т.д.
Нет, если нужно что-то простое и недорогое, то самый лучший выбор - STM32F072. А если вдруг понадобится математика, а то и флоаты, то брать сразу F303 или F4xx...
У F103 есть только одна существенная проблема с I2C.
Цитата:
I2C analog filter may provide wrong value, locking BUSY flag and preventing master mode entry Description The I2C analog filters embedded in the I2C I/Os may be tied to low level, whereas SCL and SDA lines are kept at high level. This can occur after an MCU power-on reset, or during ESD stress. Consequently, the I2C BUSY flag is set, and the I2C cannot enter master mode (START condition cannot be sent). The I2C BUSY flag cannot be cleared by the SWRST control bit, nor by a peripheral or a system reset. BUSY bit is cleared under reset, but it is set high again as soon as the reset is released, because the analog filter output is still at low level. This issue occurs randomly. Note: Under the same conditions, the I2C analog filters may also provide a high level, whereas SCL and SDA lines are kept to low level. This should not create issues as the filters output will be correct after next SCL and SDA transition.
Возникает при сильных помехах на I2C (кто-то туда полез тыкать отверткой или пинцетом и куда попало коротить). Решается программно.
Цитата:
Workaround The SCL and SDA analog filter output is updated after a transition occurs on the SCL and SDA line respectively. The SCL and SDA transition can be forced by software configuring the I2C I/Os in output mode. Then, once the analog filters are unlocked and output the SCL and SDA lines level, the BUSY flag can be reset with a software reset, and the I2C can enter master mode. Therefore, the following sequence must be applied: 1. Disable the I2C peripheral by clearing the PE bit in I2Cx_CR1 register. 2. Configure the SCL and SDA I/Os as General Purpose Output Open-Drain, High level (Write 1 to GPIOx_ODR). 3. Check SCL and SDA High level in GPIOx_IDR. 4. Configure the SDA I/O as General Purpose Output Open-Drain, Low level (Write 0 to GPIOx_ODR). 5. Check SDA Low level in GPIOx_IDR. 6. Configure the SCL I/O as General Purpose Output Open-Drain, Low level (Write 0 to GPIOx_ODR). 7. Check SCL Low level in GPIOx_IDR. 8. Configure the SCL I/O as General Purpose Output Open-Drain, High level (Write 1 to GPIOx_ODR). 9. Check SCL High level in GPIOx_IDR. 10. Configure the SDA I/O as General Purpose Output Open-Drain , High level (Write 1 to GPIOx_ODR). 11. Check SDA High level in GPIOx_IDR. 12. Configure the SCL and SDA I/Os as Alternate function Open-Drain. 13. Set SWRST bit in I2Cx_CR1 register. 14. Clear SWRST bit in I2Cx_CR1 register. 15. Enable the I2C peripheral by setting the PE bit in I2Cx_CR1 register.
Я не считаю что из-за этого стоит отказываться от МК.
Уважаемые коты.И Дюдюка. Я знаю что i2c везде на stm32 одинаков.Меня принцип настройки шины интересует.В мануале я ничего не понял.Если по таймерам и АЦП всё понятно.То в гугле каждый пишет как настроить шину по разному.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения