stm32f1 cmsis настройка I2C
-
ivan dimir
- Мучитель микросхем
- Сообщения: 440
- Зарегистрирован: Вс дек 29, 2019 08:05:21
stm32f1 cmsis настройка I2C
как настроить I2C принцып что нужно настраивать.И ещё один вопрос у меня есть пример как передать 1 байт и принять.А если у меня 2 байтовое слово как это сделать тоже по принципу?
- Реклама
- VladislavS
- Собутыльник Кота
- Сообщения: 2562
- Зарегистрирован: Вт май 01, 2018 19:44:47
-
ivan dimir
- Мучитель микросхем
- Сообщения: 440
- Зарегистрирован: Вс дек 29, 2019 08:05:21
Re: stm32f1 cmsis настройка I2C
У меня яндекс не работает
-
ivan dimir
- Мучитель микросхем
- Сообщения: 440
- Зарегистрирован: Вс дек 29, 2019 08:05:21
Re: stm32f1 cmsis настройка I2C
Спасибо кот.Спасибо Дюдюка.Вы настоящие спецы.
- Реклама
Re: stm32f1 cmsis настройка I2C
Разработчик кроме выпрашивания кодов на форумах
должен уметь их находить,
иначе можно дойти до такого.
- Eddy_Em
- Собутыльник Кота
- Сообщения: 2516
- Зарегистрирован: Пт июл 12, 2019 22:52:01
- Контактная информация:
Re: stm32f1 cmsis настройка I2C
Я бы просто посоветовал сниппеты для F0 скачать, ими и пользоваться.
- VladislavS
- Собутыльник Кота
- Сообщения: 2562
- Зарегистрирован: Вт май 01, 2018 19:44:47
Re: stm32f1 cmsis настройка I2C
[uquote="Мурик",url="/forum/viewtopic.php?p=3877899#p3877899"]Разработчик кроме выпрашивания кодов на форумах
должен уметь их находить
[/uquote]Я по простоте душевной всегда считал, что писать должен уметь.
[uquote="Eddy_Em",url="/forum/viewtopic.php?p=3877957#p3877957"]Я бы просто посоветовал сниппеты для F0 скачать, ими и пользоваться.[/uquote]
Очень ценный совет для f1.
[uquote="Eddy_Em",url="/forum/viewtopic.php?p=3877957#p3877957"]Я бы просто посоветовал сниппеты для F0 скачать, ими и пользоваться.[/uquote]
Очень ценный совет для f1.
Re: stm32f1 cmsis настройка I2C
В идеале да, но не все способны на это. Максимум что могут - слепить кое-как работающий код из кусков выпрошенных на форумах...VladislavS писал(а):Я по простоте душевной всегда считал, что писать должен уметь.
- Eddy_Em
- Собутыльник Кота
- Сообщения: 2516
- Зарегистрирован: Пт июл 12, 2019 22:52:01
- Контактная информация:
Re: stm32f1 cmsis настройка I2C
Они в большинстве своем переносятся на F1 безболезненно. Сам так и делаю. А вообще, конечно, STM32F103 — худшее, что только можно придумать использовать!..Очень ценный совет для f1.
- VladislavS
- Собутыльник Кота
- Сообщения: 2562
- Зарегистрирован: Вт май 01, 2018 19:44:47
Re: stm32f1 cmsis настройка I2C
[uquote="Eddy_Em",url="/forum/viewtopic.php?p=3878019#p3878019"]Они в большинстве своем переносятся на F1 безболезненно.[/uquote]Брехня. Тема про I2C. Они у F0 и F1 совсем разные.
[uquote="Eddy_Em",url="/forum/viewtopic.php?p=3878019#p3878019"]А вообще, конечно, STM32F103 — худшее, что только можно придумать использовать!..[/uquote]Отличный контроллер. Стоит копейки, производительности хоть попой кушай, информации по программированию в сети и того больше. Простой и надёжный как АК.
[uquote="Eddy_Em",url="/forum/viewtopic.php?p=3878019#p3878019"]А вообще, конечно, STM32F103 — худшее, что только можно придумать использовать!..[/uquote]Отличный контроллер. Стоит копейки, производительности хоть попой кушай, информации по программированию в сети и того больше. Простой и надёжный как АК.
- Eddy_Em
- Собутыльник Кота
- Сообщения: 2516
- Зарегистрирован: Пт июл 12, 2019 22:52:01
- Контактная информация:
Re: stm32f1 cmsis настройка I2C
VladislavS, какой он, нафиг, простой и надежный, если там I2C через жопу настолько, что некоторые его ногодрыгом делают?
Я уж не говорю о других косяках...
Вот ты сможешь включить на нем подтяжку в режиме выхода? Ну и т.д.
Нет, если нужно что-то простое и недорогое, то самый лучший выбор - STM32F072. А если вдруг понадобится математика, а то и флоаты, то брать сразу F303 или F4xx...
Я уж не говорю о других косяках...
Вот ты сможешь включить на нем подтяжку в режиме выхода? Ну и т.д.
Нет, если нужно что-то простое и недорогое, то самый лучший выбор - STM32F072. А если вдруг понадобится математика, а то и флоаты, то брать сразу F303 или F4xx...
- VladislavS
- Собутыльник Кота
- Сообщения: 2562
- Зарегистрирован: Вт май 01, 2018 19:44:47
Re: stm32f1 cmsis настройка I2C
У меня I2C F103 на хотплуге висит и тарахтит себе без сбоев. Кто там чем ногодрыгает проблема не чипа.
Re: stm32f1 cmsis настройка I2C
У F103 есть только одна существенная проблема с I2C.
Возникает при сильных помехах на 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.
Я не считаю что из-за этого стоит отказываться от МК.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.
Re: stm32f1 cmsis настройка I2C
ivan dimir, i2c в F4 такой же - http://mcu.goodboard.ru/viewtopic.php?id=14
-
ivan dimir
- Мучитель микросхем
- Сообщения: 440
- Зарегистрирован: Вс дек 29, 2019 08:05:21
Re: stm32f1 cmsis настройка I2C
Уважаемые коты.И Дюдюка. Я знаю что i2c везде на stm32 одинаков.Меня принцип настройки шины интересует.В мануале я ничего не понял.Если по таймерам и АЦП всё понятно.То в гугле каждый пишет как настроить шину по разному.
- VladislavS
- Собутыльник Кота
- Сообщения: 2562
- Зарегистрирован: Вт май 01, 2018 19:44:47
Re: stm32f1 cmsis настройка I2C
[uquote="ivan dimir",url="/forum/viewtopic.php?p=3878779#p3878779"]Я знаю что i2c везде на stm32 одинаков.[/uquote]Это не так. Я вот два разных модуля I2C в микроконтролерах stm32 знаю.
[uquote="ivan dimir",url="/forum/viewtopic.php?p=3878779#p3878779"]Меня принцип настройки шины интересует.[/uquote]Настроить две ноги в AF, включить тактирование, записать штук 5 регистров правильными значениями по RM. Всё как обычно и с другими устройствами.
[uquote="ivan dimir",url="/forum/viewtopic.php?p=3878779#p3878779"]В мануале я ничего не понял.[/uquote]Что конкретно непонятно? Спрашивайте. А то создаётся впечатление, что вы не своим делом заняты.
[uquote="ivan dimir",url="/forum/viewtopic.php?p=3878779#p3878779"]Если по таймерам и АЦП всё понятно.[/uquote]Очень странно. Настройка таймеров и АЦП, кмк, посложней I2C будет.
[uquote="ivan dimir",url="/forum/viewtopic.php?p=3878779#p3878779"]То в гугле каждый пишет как настроить шину по разному.[/uquote]Ничего удивительного. Даже просто GPIO настроить есть куча разных подходов.
[uquote="ivan dimir",url="/forum/viewtopic.php?p=3878779#p3878779"]Меня принцип настройки шины интересует.[/uquote]Настроить две ноги в AF, включить тактирование, записать штук 5 регистров правильными значениями по RM. Всё как обычно и с другими устройствами.
[uquote="ivan dimir",url="/forum/viewtopic.php?p=3878779#p3878779"]В мануале я ничего не понял.[/uquote]Что конкретно непонятно? Спрашивайте. А то создаётся впечатление, что вы не своим делом заняты.
[uquote="ivan dimir",url="/forum/viewtopic.php?p=3878779#p3878779"]Если по таймерам и АЦП всё понятно.[/uquote]Очень странно. Настройка таймеров и АЦП, кмк, посложней I2C будет.
[uquote="ivan dimir",url="/forum/viewtopic.php?p=3878779#p3878779"]То в гугле каждый пишет как настроить шину по разному.[/uquote]Ничего удивительного. Даже просто GPIO настроить есть куча разных подходов.
-
ivan dimir
- Мучитель микросхем
- Сообщения: 440
- Зарегистрирован: Вс дек 29, 2019 08:05:21
Re: stm32f1 cmsis настройка I2C
Я вот два разных модуля I2C в микроконтролерах stm32 знаю.Как это разные модули I2C?.Меня интересуют этих 5 регистров?
Re: stm32f1 cmsis настройка I2C
RM на контроллер не интересует?ivan dimir писал(а):Меня интересуют этих 5 регистров?
В нем все есть.
-
ivan dimir
- Мучитель микросхем
- Сообщения: 440
- Зарегистрирован: Вс дек 29, 2019 08:05:21
Re: stm32f1 cmsis настройка I2C
Меня интересуют биты?


