Цитата(Stas @ Jun 19 2009, 22:51)

Появилось несколько вопросов:
1. А как синтаксически правильно выразить "в бит порта (к примеру RC0) вывести битовую переменную (bit my_bit)"? Столкнулся с тем что в switch значение бита порта не равно переменной, при записи RC0 = my_bit.
RC0 = my_bit; - для picc совершенно правильная синтаксическая конструкция, которая раскручивается (т.к. RC0 объявлен volatile bit) во что-нить вроде
btfss 0x.., my_bit_pos
goto $+3
bsf RC0
goto $+2
bcf RC0
Посмотрите внимательно ассемблерный листинг.
Неплохо бы указывать версию компилятора и приводить фрагмент, в котором наблюдаются/предполагаются проблемы, и необходимые объявления.
Цитата
2. Можно ли на PIC16 организовать вложеные прерывания? Т.е. в системе 3 прерывания - таймер и 2 приоритетных внешних. Необходимо чтоб внешние прерывания могло вызываться при обработке прерывания таймера.
Можно, но вряд ли оно требуется.
Определитесь, какое прерывание является самым приоритетным для Вашей программы, поставьте его обработчик первым, все остальные обработчики сделайте максимально короткими.
Какие временнЫе параметры у сигналов на "2 приоритетных внешних" прерываниях и чем занимается таймер?
Цитата
Если при возникновении прерывания таймера очищать бит прерывания таймера и устанавливать бит глобального прерывания вручную (а не командой retfie)- будет ли это работать ?
За детские вопросы прошу не бить, с HiT и PIC16 - первый раз.
Будет, но Вам придется написать своё сохранение/восстановление регистров и отвести под это соответствующий кусок ОЗУ (с учетом предполагаемой вложенности прерываний). Но сама идея идеологически вредная, учитывая систему прерываний мелких пиков, и самонадеянная, учитывая первый раз.