Помогите разобраться с директивой BCF

Поклонники продукции Microchip Technology Inc тусуются тут.
Аватара пользователя
Albert_V
Друг Кота
Сообщения: 4119
Зарегистрирован: Чт сен 12, 2013 00:54:12
Откуда: ЗаМКАДье. Там, где ЦУП

Re: Помогите разобраться с директивой BCF

Сообщение Albert_V »

Вы теоретики или практики?
Вам что, сложно взять реальный контроллер и проверить?
Холивара уже на две страницы развели...
Реклама
Shk_Alex
Открыл глаза
Сообщения: 50
Зарегистрирован: Ср сен 24, 2014 11:14:53
Откуда: Москва

Re: Помогите разобраться с директивой BCF

Сообщение Shk_Alex »

Ох... Жаркий спор, извините, что это затеял... :beer:

И так, про RMW понял, даже если это не тот случай, буду иметь ввиду.
Albert_V писал(а):ИМХО: Если мы сейчас "нагрузим" ТС "по-полной", он может вообще отказаться от программирования.
Не, не. То что вы пишите тут, вряд ли отвернет меня от программирования.
Отвернуть может только то, что для того что бы начать, надо будет прочитать и выучить пару самоучителей (в меньшей степени) и весь даташит на МК.
Не то что бы я не читаю по буржуйски, но вчитываться приходится, и тонкости могут ускользать даже при внимательном прочтении.

Так что благодарю за терпение и разъяснения, и тыкания в конкретные страницы.

По ходу спора возникают новые вопросы.
Albert_V писал(а):Как правило, высший приоритет настройки выводов имеет "периферия", а не значение в TRISх.
Но
Albert_V писал(а):The state of the ANSEL bits has no affect on digital output functions.
Не имеет влияния на цифровой выход. Дальше конечно идет уточнение:
Albert_V писал(а):A pin with TRIS clear and ANSEL setwill still operate as a digital output, but the Input modewill be analog. This can cause unexpected behavior
Но у меня TRIS не пустой, а конкретно заданный для нужных портов.
Не примите за недоверие, но непонимание этой вещи меня ставит в тупик при понимании возможностей МК, в том числе связано с вопросом, на который мне ни кто еще не ответил однозначно:

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

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

Albert_V писал(а):Необходимо сразу после старта программы указать какие выводы у вас должны быть выходами, .......... и, только после этого, можете приступать к "нормальной работе".
Так все же, могу я определять/переопределять направление портов в теле программы?
Последний раз редактировалось Shk_Alex Пн дек 14, 2015 20:17:55, всего редактировалось 1 раз.
Реклама
Аватара пользователя
Albert_V
Друг Кота
Сообщения: 4119
Зарегистрирован: Чт сен 12, 2013 00:54:12
Откуда: ЗаМКАДье. Там, где ЦУП

Re: Помогите разобраться с директивой BCF

Сообщение Albert_V »

Давайте так:
Выкладывайте схему (что к чему подключено) и я напишу вам простую тестовую программу.
Переопределять вход<>выход выводов по ходу выполнения программы можете.
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25261
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: Помогите разобраться с директивой BCF

Сообщение КРАМ »

Shk_Alex писал(а):
Так все же, могу я определять/переопределять направление портов в теле программы?
С помощью того самого регистра TRIS.
Вход на пине порта подключен ВСЕГДА. Его нет необходимости отключать иначе чем при настройке порта как аналогового.
Поэтому регистром TRIS отключают только ВЫХОДНОЙ БУФЕР пина.
При TRIS = 1 пин работает как вход.
При TRIS = 0 пин работает как выход, но может быть прочитан и как вход - противоречия тут нет. Просто будет прочитано состояние выходного буфера с учетом нагрузки.
Albert_V писал(а):Давайте так:
Уважаемый Альберт, а давайте я Вам просто сделаю принтскрин с папки Проекты (только по Микрочипу) своего рабочего компьютера... (если влезет в страницу форума, что вряд ли...)
Чесслово, уважаемый, - Вы заблуждаетесь. Поверьте мне... :roll:
Последний раз редактировалось КРАМ Пн дек 14, 2015 20:25:55, всего редактировалось 1 раз.
Реклама
Эиком - электронные компоненты и радиодетали
Shk_Alex
Открыл глаза
Сообщения: 50
Зарегистрирован: Ср сен 24, 2014 11:14:53
Откуда: Москва

Re: Помогите разобраться с директивой BCF

Сообщение Shk_Alex »

До ночи на работе, пока с планшета.
На данный момент схема простая, могу описать словами.

К МК подведено питание, и к выводам RC2 и RC3 последовательно сопротивление 180 ОМ и светодиод 30 мА от подсветки матрицы ноутбука, и далее на землю ( на минус, как проще)
ЭТО ВСЕ!....

задачи типа "HELLO WORD" планировались выполняться последовательно, для изучения всякого.
1) чтобы оба диода горели
2) один горел, второй моргал...

Только потом планировалось приступить к прерываниям и внешним воздействиям.

UPD СТОП СТОП!!! :-)
Не надо решать эти задачи, вполне достаточно будет сказать, какие регистры мне надо для них сконфигурить обязательно. Даже можно не говорить как :-)
А дело в настройках или в RMW я уже проверю сам :-) могу отписаться по результату. :-) Если МК от перезаписывания не сдохнет "как та корова" :-)
Реклама
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25261
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: Помогите разобраться с директивой BCF

Сообщение КРАМ »

Shk_Alex писал(а): 1) чтобы оба диода горели
2) один горел, второй моргал...
Создайте переменную - копию порта и выводите ее всю целиком.
Никаких проблем с RMW у Вас не будет.
Причем вывод переменной в порт можно выполнять независимо от модификации разрядов. Просто с определенным периодом (лучше всего в прерывании по таймеру). Тогда в суперлупе (основном цикле) Вы будете управлять разрядами переменной, а не разрядами порта.
Реклама
Аватара пользователя
Albert_V
Друг Кота
Сообщения: 4119
Зарегистрирован: Чт сен 12, 2013 00:54:12
Откуда: ЗаМКАДье. Там, где ЦУП

Re: Помогите разобраться с директивой BCF

Сообщение Albert_V »

КРАМ писал(а):...Уважаемый Альберт, а давайте я Вам просто сделаю принтскрин с папки Проекты (только по Микрочипу) своего рабочего компьютера... (если влезет в страницу форума, что вряд ли...)...
Будем "мерятся папками"? :)))
Выкладывайте.
В накладе на останусь.
Только, давайте не в этой теме.
Shk_Alex
Открыл глаза
Сообщения: 50
Зарегистрирован: Ср сен 24, 2014 11:14:53
Откуда: Москва

Re: Помогите разобраться с директивой BCF

Сообщение Shk_Alex »

КРАМ писал(а): Создайте переменную - копию порта и выводите ее всю целиком.
Такая мысль возникла почти сразу, после второго или третьего Вашего ответа, но про прерывания и таймер пока не думал.... Хотел попозже разбираться с этим...
otest
Друг Кота
Сообщения: 7853
Зарегистрирован: Ср фев 11, 2009 20:35:58

Re: Помогите разобраться с директивой BCF

Сообщение otest »

Господа!
Не ссорьтесь.
ТС отключи ANSEL CMCON0
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25261
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: Помогите разобраться с директивой BCF

Сообщение КРАМ »

Действительно, неотключенный ANSEL дает в RMW чтение нулей:
Изображение
Аватара пользователя
Albert_V
Друг Кота
Сообщения: 4119
Зарегистрирован: Чт сен 12, 2013 00:54:12
Откуда: ЗаМКАДье. Там, где ЦУП

Re: Помогите разобраться с директивой BCF

Сообщение Albert_V »

Shk_Alex, после всего выше сказанного, вы напишите INIT сами, или мне вам сделать "шаблон" (INIT) (как я предлагал)?
Shk_Alex
Открыл глаза
Сообщения: 50
Зарегистрирован: Ср сен 24, 2014 11:14:53
Откуда: Москва

Re: Помогите разобраться с директивой BCF

Сообщение Shk_Alex »

Надеюсь, напишу. Если вдруг не получится, мне будет очень стыдно, по этому напишу в личную. :-)
HHIMERA
Друг Кота
Сообщения: 4583
Зарегистрирован: Вс дек 05, 2010 06:10:34
Откуда: ЮВ

Re: Помогите разобраться с директивой BCF

Сообщение HHIMERA »

Смотрю... на ПИКах так ничего и не изменилось... Всё старо как мир!!! :)))
"Я не даю готовых решений, я заставляю думать!"(С)
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: Помогите разобраться с директивой BCF

Сообщение Аlex »

Смотрю, в тебе тоже ничего не изменилось - как флудил, так и дальше флудишь :)))
Ответить

Вернуться в «PIC»