Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
16.10.2009, 12:08
|
|
Частый гость
Регистрация: 08.09.2009
Сообщений: 38
Сказал спасибо: 18
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
|
Вопрос по МК PIC16F628
Подскажите, пожалуйста, как правильно сконфигурировать ПОРТА на выход? Речь идет о выводах А5-А7. После оператора PORTA = 0;(порт А определен #byte PORTA = 10)эти три вывода упорно стоят в единице, которые спокойно попадают на выход как только прога доходит до set_tris_a(0x00);.( все выводы ПОРТА как выход)
Регистры CMCON = 7; выключение компараторов
VRCON = 0; управляет опорным напряжением, (точно не знаю как его определять), но независимо от его состояния как только set_tris_a(0x00); на выходе выскакивают 1-цы.
В Даташите все выводи ПОРТА двунаправленные.(RA4-открыт.сток)
Все выводы ПОРТВ заняты под входы!
|
|
|
|
16.10.2009, 14:15
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.02.2008
Адрес: Днепр. Украина
Сообщений: 3,294
Сказал спасибо: 442
Сказали Спасибо 1,048 раз(а) в 706 сообщении(ях)
|
Re: Вопрос по МК PIC16F628
Вообще-то А5 - только вход. В даташите написана последовательность инициализации порта. В ССS-e это выглядит так:
Код:
|
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);
output_a(0); |
|
|
|
Сказали "Спасибо" MisterDi
|
|
|
16.10.2009, 15:33
|
|
Частый гость
Регистрация: 08.09.2009
Сообщений: 38
Сказал спасибо: 18
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
|
Re: Вопрос по МК PIC16F628
Спасибо MisterDi за мастерский ответ.
Слепо повторять не буду, надо разобраться чтобы понять. На это уйдет
какое то время. Язык СИ в стадии освоения.
По поводу RA5 я согласен, просто в документации он содержит все элементы выходного порта- защелку, буферный усилитель.
|
|
|
|
16.10.2009, 15:54
|
|
Частый гость
Регистрация: 08.09.2009
Сообщений: 38
Сказал спасибо: 18
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
|
Re: Вопрос по МК PIC16F628
Спешу сообщить MisterDi, что совет сработал наилучшим образом. Большое спасибо!
Но хочу задать еще один вопрос. Не работают выходы ПОРТА, которые я
определил, как изображено в приложении.
Но зато работают когда я делаю обычное output_bit(PIN_A6,1);(для вых.
RA6)
Что то я напутал?
|
|
|
|
16.10.2009, 16:03
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.02.2008
Адрес: Днепр. Украина
Сообщений: 3,294
Сказал спасибо: 442
Сказали Спасибо 1,048 раз(а) в 706 сообщении(ях)
|
Re: Вопрос по МК PIC16F628
покажте текстом, картинка слишком мелкая.
|
|
|
|
16.10.2009, 16:10
|
|
Частый гость
Регистрация: 08.09.2009
Сообщений: 38
Сказал спасибо: 18
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
|
Re: Вопрос по МК PIC16F628
клацните по ней левой кнопкой мышки, а после того, как она загрузится, еще раз той же кнопкой. Она и развернется во весь экран
Да я еще и не пробовал отправлять текстом. Как то все навалилось сразу, не успеваю осваивать
Последний раз редактировалось batalionok; 16.10.2009 в 16:18.
|
|
|
|
16.10.2009, 16:17
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.02.2008
Адрес: Днепр. Украина
Сообщений: 3,294
Сказал спасибо: 442
Сказали Спасибо 1,048 раз(а) в 706 сообщении(ях)
|
Re: Вопрос по МК PIC16F628
Используйте стандартные определения портов и #define
примерно так:
Код:
|
#define ChA_Stb PIN_B4
#define ChB_Stb PIN_B3
#define Sel_0 PIN_B5
#define Sel_1 PIN_B6
#define Sel_2 PIN_B7 |
и в программе:
Код:
|
output_high(CS0);
output_high(CS1);
output_low(ChA_Stb);
output_low(ChB_Stb); |
все это только к CCS
|
|
|
|
16.10.2009, 16:27
|
|
Частый гость
Регистрация: 08.09.2009
Сообщений: 38
Сказал спасибо: 18
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
|
Re: Вопрос по МК PIC16F628
Я понял! Но где о этом прочесть? Чувствую, что в Хэлпе надо искать
специфику языка для CCS.
Кстати, эти определения взяты из известной книги Шпак Ю.А., а значит они тоже стандартные.
Последний раз редактировалось batalionok; 16.10.2009 в 16:31.
|
|
|
|
16.10.2009, 16:32
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.02.2008
Адрес: Днепр. Украина
Сообщений: 3,294
Сказал спасибо: 442
Сказали Спасибо 1,048 раз(а) в 706 сообщении(ях)
|
Re: Вопрос по МК PIC16F628
Именно в хелпе ЦЦСа. В разделах, посвященным типам данных. Использоване директив #bit #byte за перделами файлов описания регистров конкретного контроллера приводит к ухудшению переносимости программ.
Кстати, очень полезно просмотреть содержимое файлов заголовков *.h каталога /Device
Последний раз редактировалось MisterDi; 16.10.2009 в 16:37.
|
|
|
Сказали "Спасибо" MisterDi
|
|
|
16.10.2009, 16:43
|
|
Частый гость
Регистрация: 08.09.2009
Сообщений: 38
Сказал спасибо: 18
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
|
Re: Вопрос по МК PIC16F628
Потрясающе!!! Спасибо, земляк! ( Днепр чемпион!!! )
Файлы заголовков всегда торчат передо мною в блокноте.
Кстати, как добраться до хелпа? У меня открыт компилятор (на рабочей панели он позиционировал себя РCWHD) как то я не увидел Хелп на привычном месте.
Разобрался, просто F1 срабатывает как то через раз!
Последний раз редактировалось batalionok; 19.10.2009 в 12:13.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 02:23.
|
|