Например TDA7294

Форум РадиоКот • Просмотр темы - Помогите разобраться с директивой BCF
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Пт май 16, 2025 02:37:11

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 54 ]    , 2,  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Помогите разобраться с директивой BCF
СообщениеДобавлено: Пн дек 14, 2015 10:37:45 
Нашел транзистор. Понюхал.
Аватар пользователя

Карма: 3
Рейтинг сообщений: 21
Зарегистрирован: Чт ноя 26, 2015 23:22:35
Сообщений: 157
Откуда: не с Уфы
Рейтинг сообщения: 0
Shk_Alex писал(а):

Почему, если я прописываю оба выхода сразу командой MOVWF, светятся оба, а если по одному - только последний?
Судя по мануалу команда не должна влиять на другие биты!


Когда ты делаешь второй bsf, идёт считывание с ножек всего порта и там где ты предыдущим bsf поставил "1" считывается ноль, поскольку за пару мкс. через твои 180 ом высокий уровень на той ноге просто не успел проявиться, в итоге так как считался ноль, то ноль и будет записан в защёлку. Что ж тут непонятного, именно об этом тебе ребята выше и написали.
Даже если ты несколько bsf сделаешь в одном порту, сработает только последний и даже 10 нопов паузы тут не помогут, увеличь номинал сопротивления, убери ёмкость с ноги, если вдруг она там стоит и ты забыл об этом упомянуть итд.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Помогите разобраться с директивой BCF
СообщениеДобавлено: Пн дек 14, 2015 10:43:13 
Друг Кота
Аватар пользователя

Карма: 139
Рейтинг сообщений: 2916
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 23681
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
Родэрик писал(а):
просто не успел проявиться

Причем тут "не успел"? :facepalm: Он там НИКОГДА НЕ УСПЕЕТ. Нет никакой емкости в нагрузке. Светодиод - чисто активный импеданс.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Помогите разобраться с директивой BCF
СообщениеДобавлено: Пн дек 14, 2015 10:47:58 
Вымогатель припоя
Аватар пользователя

Карма: -2
Рейтинг сообщений: -32
Зарегистрирован: Вс ноя 01, 2015 13:13:49
Сообщений: 616
Рейтинг сообщения: 0
А чего спорить? Увеличить резисторы до 1-2 кОм и всё сразу станет ясно.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Помогите разобраться с директивой BCF
СообщениеДобавлено: Пн дек 14, 2015 10:49:43 
Друг Кота
Аватар пользователя

Карма: 139
Рейтинг сообщений: 2916
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 23681
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
Положим, это ясно и сейчас. Просто кто-то (не будем указывать пальцами) не умеет читать даташит... :wink:
Из приведенного графика (выше) легко посчитать, что сопротивление канала Р-канального мосфета у МК равно примерно 0,6В/5мА=120 Ом. На котором при 20 мА упадет 0,120 кОм*20 мА=2,4 Вольта. То есть как раз в районе порога переключения...


Вернуться наверх
 
Открыт интернет-магазин MEAN WELL.Market – весь ассортимент MEAN WELL, выгодные цены

Открыта удобная площадка с выгодными ценами, поставляющая весь ассортимент продукции, производимой компанией MEAN WELL – от завоевавших популярность и известных на рынке изделий до новинок. MEAN WELL.Market предоставляет гарантийную и сервисную поддержку, удобный подбор продукции, оперативную доставку по России. На сайте интернет-магазина посетители смогут найти обзоры, интересные статьи о применении, максимальный объем технических сведений.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Помогите разобраться с директивой BCF
СообщениеДобавлено: Пн дек 14, 2015 13:21:08 
Друг Кота
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1859
Зарегистрирован: Чт сен 12, 2013 00:54:12
Сообщений: 4119
Откуда: ЗаМКАДье. Там, где ЦУП
Рейтинг сообщения: 0
Медали: 5
Получил миской по аватаре (5)
КРАМ писал(а):
....А он ее и настроил. Отсутствие корректной конфигурации никак не влияет на самопроизвольный сброс отдельных разрядов. Неверно настроенный пин просто не будет работать.
Автор все настроил правильно...

Где по тексту программы?
Может быть, всё-таки, документацию посмотрите...
В частности, стр.63 http://ww1.microchip.com/downloads/en/DeviceDoc/41202F-print.pdf
Изображение
стр.34
Изображение
------
P.S.
Ради интереса, сейчас "поиздевался" над PIC16F876 в плане нагрузки на выходы и выполнения команд bcf PORTB,x и bsf PORTB,x.
"Плевать он хотел" на нагрузку. Всё работает.
------
P.P.S.
Для любителей RMW:
При выполнении команд bcf PORTx,x и bsf PORTx,x не производится чтение состояния выхода (именно об этом и спрашивал ТС).
Не путайте эти команды с, к примеру, btfsc PORTx,x или xorwf PORTx,F


Вернуться наверх
 
LED-драйверы MOSO - надежные решения для индустриальных приложений

Продукция MOSO предназначена в основном для индустриальных приложений, использует инновационные решения на основе более 200 собственных патентов для силовой электроники и соответствует международным стандартам. LED-драйверы MOSO применяются в системах наружного освещения разных отраслей, включая промышленность, сельское хозяйство, транспорт и железную дорогу. В ряде серий реализована возможность дистанционного контроля и программирования работы по заданному сценарию. Разберем решения MOSO подробнее>>
Не в сети
 Заголовок сообщения: Re: Помогите разобраться с директивой BCF
СообщениеДобавлено: Пн дек 14, 2015 15:39:09 
Открыл глаза

Зарегистрирован: Ср сен 24, 2014 11:14:53
Сообщений: 50
Откуда: Москва
Рейтинг сообщения: 0
Какая-то ерунда.
Для работы компаратора и аналогового входа нужно, что бы пин работал на вход а у меня в trisc настроен выход!!!

Об этом же написано, например, в примечании стр 34, которую вы привели.

Далее:

КРАМ писал(а):
Shk_Alex писал(а):
Возник соответственно вопрос, получается я не смогу в процессе исполнения программы менять направление пина? Если это так, то я очень расстроен, я очень надеялся, что это возможно....

Естественно, что это возможно. Конфигурационное слово не настраивает направление пинов.


Albert_V писал(а):
Необходимо сразу после старта программы указать какие выводы у вас должны быть выходами, .......... и, только после этого, можете приступать к "нормальной работе".


Ааааааааааа :shock:


Вернуться наверх
 
Распродажа паяльного оборудования ATTEN!
Паяльные станции, паяльники и аксессуары по самой выгодной цене.

По промокоду radiokot скидка 10%
Не в сети
 Заголовок сообщения: Re: Помогите разобраться с директивой BCF
СообщениеДобавлено: Пн дек 14, 2015 15:42:18 
Друг Кота
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1859
Зарегистрирован: Чт сен 12, 2013 00:54:12
Сообщений: 4119
Откуда: ЗаМКАДье. Там, где ЦУП
Рейтинг сообщения: 0
Медали: 5
Получил миской по аватаре (5)
Как правило, высший приоритет настройки выводов имеет "периферия", а не значение в TRISх.
Всё это указано в разделе I/O PORTS BLOCK DIAGRAM документации на контроллер.
----
P.S.
Так же, настоятельно рекомендую читать SUMMARY OF REGISTERS ASSOCIATED WITH ххххххх.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Помогите разобраться с директивой BCF
СообщениеДобавлено: Пн дек 14, 2015 16:15:58 
Друг Кота
Аватар пользователя

Карма: 139
Рейтинг сообщений: 2916
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 23681
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
Albert_V писал(а):
P.S.
Ради интереса, сейчас "поиздевался" над PIC16F876 в плане нагрузки на выходы и выполнения команд bcf PORTB,x и bsf PORTB,x.
"Плевать он хотел" на нагрузку. Всё работает.
------
P.P.S.
Для любителей RMW:
При выполнении команд bcf PORTx,x и bsf PORTx,x не производится чтение состояния выхода (именно об этом и спрашивал ТС).
Не путайте эти команды с, к примеру, btfsc PORTx,x или xorwf PORTx,F

Даже и не знаю как Вам объяснять....
ВСЕ БИТОВЫЕ КОМАНДЫ исполняются через RMW. Абсолютно все и во всех ныне известных архитектурах всех производителей.
Иначе получить адресацию бита невозмлжно даже теоретически.
Если в контроллере есть LAT, бага не будет, даже если выводить в PORT, потому что вывести в этих контроллерах в PORT невозможно...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Помогите разобраться с директивой BCF
СообщениеДобавлено: Пн дек 14, 2015 16:35:19 
Друг Кота
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1859
Зарегистрирован: Чт сен 12, 2013 00:54:12
Сообщений: 4119
Откуда: ЗаМКАДье. Там, где ЦУП
Рейтинг сообщения: 0
Медали: 5
Получил миской по аватаре (5)
КРАМ писал(а):
...Даже и не знаю как Вам объяснять.....

Я уже начинаю сомневаться, что вы правильно понимаете что такое RMW.
Я симуляторами, принципиально, не пользуюсь. Пишу программы на asm под конкретное "железо".
Отладку делаю на реальном "железе" по "кускам программ".
Очень редко пользуюсь внутрисхемным debugger-ом.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Помогите разобраться с директивой BCF
СообщениеДобавлено: Пн дек 14, 2015 16:57:07 
Вымогатель припоя
Аватар пользователя

Карма: -2
Рейтинг сообщений: -32
Зарегистрирован: Вс ноя 01, 2015 13:13:49
Сообщений: 616
Рейтинг сообщения: 0
Shk_Alex писал(а):
Какая-то ерунда.
Для работы компаратора и аналогового входа нужно, что бы пин работал на вход а у меня в trisc настроен выход!!!

В случае RMW это не имеет значения. Тонкость в том что RMW это чтение-модификация-запись. А при чтении порта всегда считывается реальное состояние пинов. Независимо как они настроены на вход или выход. Это есть в даташите.
Вот что первое под руку попалось.
http://www.cornerstonerobotics.org/curr ... roblem.pdf


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Помогите разобраться с директивой BCF
СообщениеДобавлено: Пн дек 14, 2015 17:00:10 
Вымогатель припоя
Аватар пользователя

Карма: -2
Рейтинг сообщений: -32
Зарегистрирован: Вс ноя 01, 2015 13:13:49
Сообщений: 616
Рейтинг сообщения: 0
КРАМ писал(а):
Даже и не знаю как Вам объяснять....
ВСЕ БИТОВЫЕ КОМАНДЫ исполняются через RMW. Абсолютно все и во всех ныне известных архитектурах всех производителей.
Иначе получить адресацию бита невозмлжно даже теоретически.
Если в контроллере есть LAT, бага не будет, даже если выводить в PORT, потому что вывести в этих контроллерах в PORT невозможно...

Тогда может стоить упомянуть вывод через фантомный регистр в особо тяжёлых случаях для искоренения влияния RMW?


Последний раз редактировалось scorpi_0n Пн дек 14, 2015 17:03:25, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Помогите разобраться с директивой BCF
СообщениеДобавлено: Пн дек 14, 2015 17:00:55 
Друг Кота
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1859
Зарегистрирован: Чт сен 12, 2013 00:54:12
Сообщений: 4119
Откуда: ЗаМКАДье. Там, где ЦУП
Рейтинг сообщения: 0
Медали: 5
Получил миской по аватаре (5)
Да причём тут чтение?!!!!!!
ТС, в первом посте, спрашивал про ВЫХОДЫ а не входы!!!
ИМХО: Если мы сейчас "нагрузим" ТС "по-полной", он может вообще отказаться от программирования.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Помогите разобраться с директивой BCF
СообщениеДобавлено: Пн дек 14, 2015 17:06:23 
Вымогатель припоя
Аватар пользователя

Карма: -2
Рейтинг сообщений: -32
Зарегистрирован: Вс ноя 01, 2015 13:13:49
Сообщений: 616
Рейтинг сообщения: 0
Albert_V писал(а):
Да причём тут чтение?!!!!!!

Как причём? Битовые операции это всегда чтение-модификация- запись.
Уж пусть лучше сразу и навсегда разберётся.
Хотя в данном случае я больше склоняюсь к неотключенной периферии.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Помогите разобраться с директивой BCF
СообщениеДобавлено: Пн дек 14, 2015 17:13:51 
Друг Кота
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1859
Зарегистрирован: Чт сен 12, 2013 00:54:12
Сообщений: 4119
Откуда: ЗаМКАДье. Там, где ЦУП
Рейтинг сообщения: 0
Медали: 5
Получил миской по аватаре (5)
scorpi_0n писал(а):
...Битовые операции это всегда чтение-модификация- запись....

Т.е., вы хотите сказать, что при выполнение команды, к примеру, bsf PORTC,1 вначале происходит чтение порта?
Да, отвлекитесь вы уже от PIC16C5x и их "ровестников".


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Помогите разобраться с директивой BCF
СообщениеДобавлено: Пн дек 14, 2015 17:35:11 
Вымогатель припоя
Аватар пользователя

Карма: -2
Рейтинг сообщений: -32
Зарегистрирован: Вс ноя 01, 2015 13:13:49
Сообщений: 616
Рейтинг сообщения: 0
А 684 от них далеко не ушёл.
Цитата:
Reading the PORTA register (Register 4-1) reads the
status of the pins, whereas writing to it will write to the
PORT latch. All write operations are read-modify-write
operations. Therefore, a write to a port implies that the
port pins are read, this value is modified and then
written to the PORT data latch.


Цитата:
The ANSEL register is used to configure the Input
mode of an I/O pin to analog. Setting the appropriate
ANSEL bit high will cause all digital reads on the pin to
be read as ‘0’ and allow analog functions on the pin to
operate correctly.
The state of the ANSEL bits has no affect on digital
output functions. A pin with TRIS clear and ANSEL set
will still operate as a digital output, but the Input mode
will be analog. This can cause unexpected behavior
when executing read-modify-write instructions on the
affected port.

А вообще это всё легко проверяется. Настраиваем пин на вывод замыкаем его на землю чем либо выполняем bsf убираем замыкание и проверяем уровень на пине.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Помогите разобраться с директивой BCF
СообщениеДобавлено: Пн дек 14, 2015 17:38:23 
Друг Кота
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1859
Зарегистрирован: Чт сен 12, 2013 00:54:12
Сообщений: 4119
Откуда: ЗаМКАДье. Там, где ЦУП
Рейтинг сообщения: 0
Медали: 5
Получил миской по аватаре (5)
scorpi_0n писал(а):
...А вообще это всё легко проверяется...

Про проверку с PIC16F876 я говорил выше.
:tea:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Помогите разобраться с директивой BCF
СообщениеДобавлено: Пн дек 14, 2015 17:38:33 
Встал на лапы
Аватар пользователя

Карма: 8
Рейтинг сообщений: 2
Зарегистрирован: Чт янв 05, 2012 23:47:20
Сообщений: 130
Откуда: BY
Рейтинг сообщения: 0
Как-то странно спорить с тем, что RMW эффект есть и описан на том же микрочипе в разных вариантах и исполнениях Изображение

_________________
Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Помогите разобраться с директивой BCF
СообщениеДобавлено: Пн дек 14, 2015 17:46:22 
Друг Кота
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1859
Зарегистрирован: Чт сен 12, 2013 00:54:12
Сообщений: 4119
Откуда: ЗаМКАДье. Там, где ЦУП
Рейтинг сообщения: 0
Медали: 5
Получил миской по аватаре (5)
Да и не надо спорить.
Просто, тут путают команды контроллера и всё превращается в "кашу".
Но! ТС спрашивал только про выполнение команды bsf PORTx,x.
У PIC16F684 эта команда выполняется без RMW.
-----
P.S.
Может быть, у кого-то проблема с симулятором? :dont_know:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Помогите разобраться с директивой BCF
СообщениеДобавлено: Пн дек 14, 2015 19:46:37 
Модератор
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1337
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4558
Откуда: Планета Земля
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Albert_V писал(а):
У PIC16F684 эта команда выполняется без RMW.
Стр. по PIC16F684. Внизу в документации ищем I/O Ports. Открываем стр. №2 и видим там такую запись :
Цитата:
All write operations (such as BSF and BCF instructions) are read-modify-write operations.
:dont_know:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Помогите разобраться с директивой BCF
СообщениеДобавлено: Пн дек 14, 2015 19:54:08 
Друг Кота
Аватар пользователя

Карма: 139
Рейтинг сообщений: 2916
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 23681
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
Albert_V писал(а):
У PIC16F684 эта команда выполняется без RMW.

Это ложное утверждение.
Еще раз.
НИКАКАЯ битовая команда не может быть выполнена без RMW. Это элементарно объясняется тем, что память имеет байтовую организацию и никакой бит не может быть записан отдельно. Ни в каком контроллере. Ни в 4-х, ни в 8-ми, ни в 128-ми разрядном. Ни у какого производителя.
У контроллеров Микрочипа, содержащих защелку с буфером (регистр LAT) принципиально невозможно выполнить запись в порт минуя эту защелку. Формальная запись в PORT на самом деле выполняется как запись в LAT, просто потому, что никаких других регистров там нет.
Albert_V писал(а):
Я уже начинаю сомневаться, что вы правильно понимаете что такое RMW.

Боюсь что это Вы не понимаете, увы... :dont_know:
Вы не найдете способ изменить бит в ОЗУ иначе,чем прочитав весь байт, изменив бит и записав назад результат.
Если Вы знаете такой способ - ознакомьте нас с ним.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 54 ]    , 2,  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9


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

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y