На Пик Бейсике пишу, на Протеусе виртуалю. Не могу (в виртуале) сделать пины выходАми - они ВЫХОДАМИ не становятся (у выходов в Протеусе - синий или красный значек, у этих - серый). Остальные пины Порта А работают нормально. Фузы - 3FFC. Кварц не нужен. Работа от внутреннего генератора 4 МГц.
CMCON = %00000111
TRISA = %00110000 ' Set PORTA to inputs and outputs
Что не так ? Не является ли это очередным глюком Протеуса ? Проверять в реале пока нет возможности. С уважением.
ПС. Захотел сделать регулятор в термофен. Индикация - динамическая, поэтому пины - "на счету". Если получится - выложу.
Последний раз редактировалось Ariadna-on-Line Чт фев 13, 2020 20:35:11, всего редактировалось 2 раза.
Может здесь собака порылась
: TRISA<6:7> is overridden by oscillator
configuration. When PORTA<6:7> is
overridden, the data reads ‘0’ and the
TRISA<6:7> bits are ignored.
Ты что вообще не в теме что каждый регистр находится в своём банке. Что бы к нему обратиться нужно сначала в банк перейти. Например BANKSEL TRISA или BSF STATUS,RP0.
Согласен. Но я скорей AVR-щик. Не смог определиться с направлением темы - толи я не понимаю, толи Протеус тупит. Тк с другими ПИКами проблемы не было. Нашел, в старых форумах, что это известный глюк Протеуса. На днях проверю - отпишусь.
Технически там подключается внешний кварц системного тактового генератора.
Или режим с внешним кварцем главного генератора с работой от внешнего кварца выбран или вывод RA6 настроен на выдачу системного тактирования (при внутреннем RC генераторе).
Был бы проект на ассемблере - тогда точно подсказку дать можно.
Заработали в Протеусе и RA6 и RA7 вполне нормально.
Всё оказалось просто. Задавание параметра "Program Configuration Word" (в просторечии - фузов) в настройках Протеусной модели PIC16F628A - никакой роли не играет. Только в заблуждение вводит !!!. Протеус использует конфигурационное слово из прошивки. Необходимо давать команду компилятору генерировать конфигурацию. Я это "оставлял на потом", задавая фузы модели в Протеусе !!!. А по-умолчанию ПикБейсик генерирует код под внешний кварц и это блокирует RA6, RA7.
ПС. Вспомнил про глюк Протеусной модели ATmega328 - она неправильно работает с адресацией бутлоадера. Наверно такая же причина.
Для ПИКовых классика насчет указания конфигурации в самом исходнике проекта (начиная с ассемблера)...
А вот у АВРок этой опции нету. Возможно там в случае с ЯВУ какое-то указание задается - но то уже "прикладные добавки".
Почти так. В ПикБейсике нет ничего о синтаксисе задавания конфигурации, как вообще эта строчка должна выглядеть. Ни в хелпе, ни в примерах. Потому отложил на потом, надеясь на способности Протеуса, но и тут получил облом. В конце-концов нашел на форуме ПикБейсика внятное англоязычное описалово. Оказывается этот затык весьма "популярен". Напротив в АврБейсике - там всё четко прописано с примерами.
Вот может кому окажется полезным - http://www.picbasic.co.uk/forum/showthread.php?t=543