Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


 
Опции темы
Непрочитано 19.05.2015, 07:42  
picavr
Почётный гражданин KAZUS.RU
 
Аватар для picavr
 
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,816
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
picavr на пути к лучшему
По умолчанию Re: FAQ по STM8

Сообщение от eddy Посмотреть сообщение
Мужики, как этот чертов аппаратный I2C заводить на STM8S?
тут боролись http://hamlab.net/mcu/stm8/i2c.html
Сообщение от eddy Посмотреть сообщение
PB4 (SCL) сделал пуш-пульным выходом, а PB5 - opendrain'ым
эти обе ноги - НЕ ИМЕЮТ пуш-пуль, и нуно ОБЕ подтягивать резисторами даже в режимах простого выхода, а не только I2С. И в Даташите это УКАЗАНО.
Чем я и пользовался для управления MOSFET напрямую, подключая резистор на +12В
Подключал к MK 3V SPI FLASH M25P40 и 5V DS1307.. но I2с сделал софтверный.

In the open-drain output column, "T" defines a true open-drain I/O (P-buffer, weak pull-up, and protection diode to VDD are not implemented).

Сообщение от eddy Посмотреть сообщение
Черт, это, наверное, из-за того произошло, что я не установил в единицу ODR
Ну это как бы логично )))

Сообщение от eddy Посмотреть сообщение
для отправки сначала выполняется ожидание освобождения линии (т.е. должно быть 1).
А скорее всего какой нить флажок ошибки, сигнализирует о колизии на шине...
Миниатюры:
Нажмите на изображение для увеличения
Название: SDA SCL_.jpg
Просмотров: 18
Размер:	20.0 Кб
ID:	79483   Нажмите на изображение для увеличения
Название: SDA SCL.jpg
Просмотров: 16
Размер:	6.7 Кб
ID:	79484  
Реклама:
__________________
"picavr(ГАВ)мыло.ру" USB_Analyzer, Digital_Storage_Oscilloscope "picavr.kr1.ru" заказы в Китай компонентов/изготовление: плат/ЖКИ/мембраных клавиатур/имп трансформаторов

Последний раз редактировалось picavr; 19.05.2015 в 08:53.
picavr вне форума  
Непрочитано 19.05.2015, 09:46  
eddy
Почётный гражданин KAZUS.RU
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,627
Сказал спасибо: 115
Сказали Спасибо 813 раз(а) в 590 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: FAQ по STM8

Сообщение от omercury Посмотреть сообщение
Они обе opendrain...
Это если несколько мастеров на линии. А у меня напрямую со слейвом соединяется, т.е. только SDA надо подтягивать. Можно, конечно, обе ноги opendrain сделать.
Кстати, неудобно, что у STM8 не включаются внутренние подтяжки в режиме выхода.

Сообщение от picavr Посмотреть сообщение
тут боролись
Читал. Там вообще хрен знает как работает I2C: ноги сконфигурировали как плавающие входы, а в ODR таки единичку запихали =D
Сообщение от picavr Посмотреть сообщение
эти обе ноги - НЕ ИМЕЮТ пуш-пуль,
нет, обе умеют PP. См. даташит. Вот в 48-ногом исполнении, если бы я не на PB4/PB5, а на PE1/PE2 вешал I2C, пришлось бы действительно обе ноги подтягивать, т.к. они - true opendrain.
А вот, кстати, в migration guide четко написано про эту разницу между S105 (у которого ноги "нормальные") и S103 (у которого true opendrain).
В даташите же по поводу I2C эти сволочи вообще ни словом ни обмолвились, как ноги правильно настраивать. А еще я так и не понял, каким образом в STM8 ремаппинг выполняется: скажем, был бы у меня 48-ногий, а я захотел бы на PB4/PB5 I2C воткнуть, а не как по дефолту.
__________________
Союз Советских Социалистических Округов Северной Америки
eddy вне форума  
Непрочитано 19.05.2015, 10:48  
eddy
Почётный гражданин KAZUS.RU
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,627
Сказал спасибо: 115
Сказали Спасибо 813 раз(а) в 590 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: FAQ по STM8

На всякий случай обе ноги сделал opendrain, подтянул резисторами.
И - тишина. Висит в состоянии BUSY. Судя по даташиту, выйти из этого состояния он может только если получит внешний сигнал STOP. А откуда ему взяться? Пробовал "перезагружать" интерфейс:
Код:
I2C_CR2 |= 0x80; I2C_CR2 &= ~0x80;
- не помогает.
Уж не знаю, может и правда попробовать как в той заметке настроить ноги входами?
__________________
Союз Советских Социалистических Округов Северной Америки
eddy вне форума  
Непрочитано 19.05.2015, 11:00  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: FAQ по STM8

Да ладно, не мучайся.
Вложения:
Тип файла: rar i2c_stm8.rar (1.2 Кб, 41 просмотров)
Easyrider83 вне форума  
Непрочитано 19.05.2015, 11:52  
eddy
Почётный гражданин KAZUS.RU
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,627
Сказал спасибо: 115
Сказали Спасибо 813 раз(а) в 590 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: FAQ по STM8

Вот это:
Код:
  if ((I2C-›SR3&0x02)==1) return I2c_ERROR_BUS_BUSY;
  I2C_busy();
работать не будет.

А зачем вот это:
Код:
CLK_PeripheralClockConfig(CLK_PERIPHERAL_I2C, ENABLE);
? По умолчанию же вся периферия включена.
И не вижу настройки ног: неужто без них все работает?

Я посмотрел пример от STM, там они внутри цикла проверки BUSY еще постоянно STOP дергают.
Попробовал так же — все равно тишина. На ногах CLK и SDA как висела единица, так и висит; триггеры saleae не срабатывают.

Я несколько раз даташит пересмотрел, все равно не могу найти, где же у меня ошибка: почему возвращается BUSY.
__________________
Союз Советских Социалистических Округов Северной Америки
eddy вне форума  
Непрочитано 19.05.2015, 11:56  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: FAQ по STM8

Сообщение от eddy Посмотреть сообщение
Вот это:
Код:
  if ((I2C-›SR3&0x02)==1) return I2c_ERROR_BUS_BUSY;
  I2C_busy();
работать не будет.
Не будет. Странно, откуда это у меня?
GPIO отдельно настраиваются. Тактирование "на всякий случай". Иногда я отключаю тактирование для экономии энергии.
Easyrider83 вне форума  
Непрочитано 19.05.2015, 12:16  
Yurkin2014
Заблокирован
 
Регистрация: 21.01.2014
Сообщений: 589
Сказал спасибо: 7
Сказали Спасибо 267 раз(а) в 206 сообщении(ях)
Yurkin2014 на пути к лучшему
По умолчанию Re: FAQ по STM8

Сообщение от eddy Посмотреть сообщение
По умолчанию же вся периферия включена.
После сброса все клоки для периферии выключены.
Функция CLK_PeripheralClockConfig(CLK_PERIPHERAL_I2C, ENABLE) пишет единичку в I2C бит в регистр CLK_PCKENR1.

ЗЫ. Мал-мал попутал: это для STM8L всё выключено, а для STM8S как раз наоборот!
Миниатюры:
Нажмите на изображение для увеличения
Название: kazus_per_clock1.png
Просмотров: 19
Размер:	43.7 Кб
ID:	79491  

Последний раз редактировалось Yurkin2014; 19.05.2015 в 12:26.
Yurkin2014 вне форума  
Непрочитано 19.05.2015, 12:20  
eddy
Почётный гражданин KAZUS.RU
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,627
Сказал спасибо: 115
Сказали Спасибо 813 раз(а) в 590 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: FAQ по STM8

Кстати, глянул сейчас примеры из STM'овской SPL. Нигде не обнаружил настройки ног. Как оно у них вообще работало-то?

Ну, а насчет BUSY - я понятия не имею, почему, но у меня BUSY висит и не пропадает никуда. Хотя и SCL, и SDA в единице.

А в твоем случае нет смысла во втором while(), в который макрос I2C_busy() раскрывается: ведь если линия занята, то функция сразу же вернет I2c_ERROR_BUS_BUSY.

А вообще, этот аппаратный I2C у STM8 — какой-то ужас!
__________________
Союз Советских Социалистических Округов Северной Америки
eddy вне форума  
Непрочитано 19.05.2015, 12:21  
eddy
Почётный гражданин KAZUS.RU
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,627
Сказал спасибо: 115
Сказали Спасибо 813 раз(а) в 590 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: FAQ по STM8

Сообщение от Yurkin2014 Посмотреть сообщение
После сброса все клоки для периферии выключены.
У меня не STM8L, а STM8S. У него вся периферия включена по умолчанию (а вот у L-серии после сброса вся периферия выключена).
__________________
Союз Советских Социалистических Округов Северной Америки
eddy вне форума  
Непрочитано 19.05.2015, 12:22  
Yurkin2014
Заблокирован
 
Регистрация: 21.01.2014
Сообщений: 589
Сказал спасибо: 7
Сказали Спасибо 267 раз(а) в 206 сообщении(ях)
Yurkin2014 на пути к лучшему
По умолчанию Re: FAQ по STM8

А, точно, Ваша правда
Yurkin2014 вне форума  
 

Закладки

Метки
arm, cortex, stm32, stm8
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Импульсная зарядка для авто-аккумуляторов (новодел) Falconist Источники питания и свет 1915 14.03.2024 19:56
FAQ (ЧаВО) по PROTEUS для начинающих и не только dosikus Proteus 221 07.03.2024 22:45
STM8(S/L), первые впечатления kison STM8 1423 19.05.2018 19:23
Вопросы и замечания по топику - FAQ по PROTEUS avr123-nm-ru Proteus 291 05.06.2015 20:49
FAQ Импульсный трансформатор alberio Источники питания и свет 87 13.11.2012 18:07


Часовой пояс GMT +4, время: 01:00.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot