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

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

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

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

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

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


 
Опции темы
Непрочитано 08.08.2015, 16:45  
Jazz777_
Частый гость
 
Регистрация: 21.07.2015
Сообщений: 18
Сказал спасибо: 5
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Jazz777_ на пути к лучшему
По умолчанию Как управлять ногами B4 и B5?

У меня stm8s103f3p6. Все свободные ноги уже занял. Нужно управлять ещё двумя светодиодами. И есть ноги B4 и B5, которые не слушаются стандартной инициализации и притягивания вверх/вниз. В даташите http://www.st.com/web/en/resource/te...CD00226640.pdf (стр 2 написано Port B4 I2C clock и Port B5 I2C data. Можно ли их как-то переделать на стандартные команды или может, если у них своё назначение, как-то управлять их питанием программно, чтобы получать там 0 и 3,3 тогда, когда мне нужно?
Реклама:
Jazz777_ вне форума  
Непрочитано 08.08.2015, 16:49  
STM32F0
Заблокирован
 
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
STM32F0 на пути к лучшему
По умолчанию Re: Как управлять ногами B4 и B5?

Ну так если они True Type Open Drain, то нужна подтяжка к +Пит.
Цитата:
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).

Последний раз редактировалось STM32F0; 08.08.2015 в 16:52.
STM32F0 вне форума  
Непрочитано 08.08.2015, 17:19  
AR_Favorit
Почётный гражданин KAZUS.RU
 
Регистрация: 13.03.2010
Сообщений: 2,897
Сказал спасибо: 498
Сказали Спасибо 3,061 раз(а) в 1,425 сообщении(ях)
AR_Favorit на пути к лучшему
По умолчанию Re: Как управлять ногами B4 и B5?

А что за светодиоды? Если обычные с током порядка 3-5 мА, можно просто подключить их (последовательно с токоограничивающим резистором, разумеется) анодом к + питания проца, катодом к порту. Запись 0 в порт зажигает светодиод, запись 1 гасит. Порты PB4 и PB5 как обычно настраиваете выходами, и все. Если не инициализировать I2C, они работают как обычные порты, но тянут только "вниз".
AR_Favorit вне форума  
Сказали "Спасибо" AR_Favorit
Jazz777_ (08.08.2015)
Непрочитано 08.08.2015, 18:06  
Jazz777_
Частый гость
 
Регистрация: 21.07.2015
Сообщений: 18
Сказал спасибо: 5
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Jazz777_ на пути к лучшему
По умолчанию Re: Как управлять ногами B4 и B5?

Видимо в ответе содержится истина, но пока что я её не понимаю. Вот мои вопросы по пунктам:
1. Реально ли их (оба или по одиночке) просто программно переключить в стандартный режим?
2. Сейчас я их инициализирую так:
GPIO_Init(GPIOB, GPIO_PIN_4|GPIO_PIN_5, GPIO_MODE_OUT_PP_LOW_FAST);
И меняю состояние так:
GPIO_WriteReverse(GPIOB, GPIO_PIN_4);
GPIO_WriteReverse(GPIOB, GPIO_PIN_5);
При этом на вольтметре на B4 как был 0, так и остается, а на ИB5 меняется с 0 до 1,75в. Так и должно быть или я делаю что-то не так?
3. Правильно ли я понял про продтягивание?
4. И тогда, соответственно, что делать с B4, на котором всегда 0?
Миниатюры:
Нажмите на изображение для увеличения
Название: Открытый коллектор.jpg
Просмотров: 106
Размер:	75.0 Кб
ID:	82191  
Jazz777_ вне форума  
Непрочитано 08.08.2015, 18:13  
Jazz777_
Частый гость
 
Регистрация: 21.07.2015
Сообщений: 18
Сказал спасибо: 5
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Jazz777_ на пути к лучшему
По умолчанию Re: Как управлять ногами B4 и B5?

Сообщение от AR_Favorit Посмотреть сообщение
А что за светодиоды? Если обычные с током порядка 3-5 мА, можно просто подключить их (последовательно с токоограничивающим резистором, разумеется) анодом к + питания проца, катодом к порту. Запись 0 в порт зажигает светодиод, запись 1 гасит. Порты PB4 и PB5 как обычно настраиваете выходами, и все. Если не инициализировать I2C, они работают как обычные порты, но тянут только "вниз".
Светодиоды обычные. Команды я написал выше, эффект тоже. Сейчас подключаю через резистор 220 ом к земле. Ничего не горит. Переключить на + могу, но чет мне кажется вольтметр бы показал переключение с 0 на 3,3 и в B4 и в B5. I2C в программе вроде не инициализирую..
Jazz777_ вне форума  
Непрочитано 08.08.2015, 18:15  
Alex9797
Почётный гражданин KAZUS.RU
 
Аватар для Alex9797
 
Регистрация: 20.08.2010
Адрес: Днепр
Сообщений: 8,565
Сказал спасибо: 5,041
Сказали Спасибо 10,612 раз(а) в 3,604 сообщении(ях)
Alex9797 на пути к лучшему
По умолчанию

1. Нереально.
2. Так и должно быть.
3. Правильно. Если просто светодиод, то через сопротивление на +пит.
4. Что В4, что В5 - никакой разницы.

Сообщение от Jazz777_ Посмотреть сообщение
Сейчас подключаю через резистор 220 ом к земле. Ничего не горит.
И не должно. Только через резистор на +пит.

Спасибо, почитал. Раньше эта статья не попадалась, но над предложенным в ней способом задумывался. Конечно, если бы речь шла о больших массивах констант, или о картинках, как у автора статьи, то я бы так и сделал. А у меня несколько тысяч сообщений, длиной от 4 до 20 байт. То есть, сколько сообщений, столько и меток. Хорошо компилятору, он адреса этих меток вычислит за несколько секунд. А мне придется делать это практически вручную. Была мысль использовать для этого exel, или что-то подобное. Но тоже очень трудоемко.
Вторая проблема, возникающая при этом - это как внедрить в тело основной программы эти метки, и их значения, чтобы компилятор сделал все как надо.

Несмотря на эти проблемы, я уже морально готовлюсь к такому варианту. Другого выхода пока нет, и отступать тоже некуда. Нужен результат любой ценой.
Да, крутится в обойме еще вариант с использованием внешней памяти. Но там еще более громоздкая процедура доступа к нужному сообщению. Были бы они хотя бы одинаковой длины, было бы намного проще.

Сообщение от STM32F0 Посмотреть сообщение
Вы точно не путаете ИАР под АРМ с ИАРом под STM8?
Не путаю. IAR for STMicroelectronics STM8
Вот что кажет один из IARов, который при инсталляции создает папку C:\Program Files\IAR Systems\Embedded Workbench 6.0:

Цитата:
IAR CSpyBat
6.0.4.1697 (6.0.4.1697)
C:\Program Files\IAR Systems\Embedded Workbench 6.0\common\bin\CSpyBat.exe
12.10.2010 0:23:16, 728576 bytes

IAR Build Utility
6.0.4.1697 (6.0.4.1697)
C:\Program Files\IAR Systems\Embedded Workbench 6.0\common\bin\IarBuild.exe
12.10.2010 0:25:06, 94720 bytes

IAR Embedded Workbench IDE
6.0.4.1697 (6.0.4.1697)
C:\Program Files\IAR Systems\Embedded Workbench 6.0\common\bin\IarIdePm.exe
12.10.2010 0:25:22, 478208 bytes

IAR Assembler for STMicroelectronics STM8
1.20.1 (1.20.1.50031)
C:\Program Files\IAR Systems\Embedded Workbench 6.0\stm8\bin\iasmstm8.exe
26.10.2010 6:40:56, 4171776 bytes
.
Сообщение от STM32F0 Посмотреть сообщение
Хм! Прикольнее если получится!
И в чем именно прикол?

Последний раз редактировалось Falconist; 14.04.2016 в 11:52.
Alex9797 вне форума  
Непрочитано 08.08.2015, 18:34  
Jazz777_
Частый гость
 
Регистрация: 21.07.2015
Сообщений: 18
Сказал спасибо: 5
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Jazz777_ на пути к лучшему
По умолчанию Re: Как управлять ногами B4 и B5?

Хм.. подключил через резистор к плюс питанию. Оба мигают, причем яркость вроде одинаковая и друг с другом и с остальными. Спасибо огромное. Только не понял, почему вольтметр на B4 ноль всегда показывал, а на B5 1,75 и 0 (в зависимости от реверса)?
Jazz777_ вне форума  
Непрочитано 08.08.2015, 18:55  
STM32F0
Заблокирован
 
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
STM32F0 на пути к лучшему
По умолчанию Re: Как управлять ногами B4 и B5?

Мизерная утечка на плате или кристалле, а вход мультиметра достаточно высокоомный - можно и не париться по этому поводу, забейте.
STM32F0 вне форума  
Непрочитано 08.08.2015, 19:06  
Jazz777_
Частый гость
 
Регистрация: 21.07.2015
Сообщений: 18
Сказал спасибо: 5
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Jazz777_ на пути к лучшему
По умолчанию Re: Как управлять ногами B4 и B5?

Ок. Ещё глупый вопрос - это же штатное (с радиотехнической точки зрения) использование (ну понятно, что самое штатное - это I2C)? Т.е. из-за этого через пару месяцев не сдохнет Stm, не перегорят светодиоды, ну не знаю, не будет зависать программа из-за того, что какое-то напряжение где-то просаживается?
Jazz777_ вне форума  
Непрочитано 08.08.2015, 20:20  
STM32F0
Заблокирован
 
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
STM32F0 на пути к лучшему
По умолчанию Re: Как управлять ногами B4 и B5?

Сообщение от Jazz777_ Посмотреть сообщение
это же штатное (с радиотехнической точки зрения) использование (ну понятно, что самое штатное - это I2C)? Т.е. из-за этого через пару месяцев не сдохнет Stm, не перегорят светодиоды, ну не знаю, не будет зависать программа из-за того, что какое-то напряжение где-то просаживается?
Абсолютно штатное! В старых ПИКах РА4 был с Open Drain. Вас же не волнует псевдо Open Drain, который можно установить на других пинах?
STM32F0 вне форума  
 

Закладки
Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ностальжи по школе... Ar-Gen-Tum Отвлекитесь, эмбеддеры! 141 27.02.2015 16:10
Гравитационное замедление времени alder Отвлекитесь, эмбеддеры! 775 15.11.2013 16:45
Индикатор CV7Д9 нужен практический совет как управлять jon_m Источники питания и свет 13 29.04.2010 09:00
[Решено] Как управлять лучом лазера? Гость Делимся опытом 81 26.04.2005 18:53


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


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