Портал для радиолюбителей и разработчиков электроники · с 2003 годаРеклама на сайте
Найти компонент, схему или даташит

Даташиты, справочник отечественных приборов, схемы с разбором и живой форум


 
Опции темы

Как управлять ногами B4 и B5?

Непрочитано 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.RUN
 
Регистрация: 13.03.2010
Сообщений: 2,896
Сказал спасибо: 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.RUN
 
Аватар для Alex9797
 
Регистрация: 20.08.2010
Адрес: Днепр
Сообщений: 8,548
Сказал спасибо: 5,035
Сказали Спасибо 10,606 раз(а) в 3,594 сообщении(ях)
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, время: 12:41.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.