muravei 3 27 марта, 2006 Опубликовано 27 марта, 2006 · Жалоба Подскажите(с примером) как можно использовать T бит в SREGе, а то вдруг мне это надо , а я не знаю :( Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
KRS 1 27 марта, 2006 Опубликовано 27 марта, 2006 · Жалоба для хранения 1 бита есть команды установки, сброса, условного перехода и запсиь и сохранение в любой бит любго регистра Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
muravei 3 27 марта, 2006 Опубликовано 27 марта, 2006 · Жалоба Просто любого от фонаря, по моему хотению, и никто на него не позариться?:) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
m16 0 27 марта, 2006 Опубликовано 27 марта, 2006 · Жалоба я его иногда пользую в качестве семафора Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
IgorKossak 0 27 марта, 2006 Опубликовано 27 марта, 2006 · Жалоба Просто любого от фонаря, по моему хотению, и никто на него не позариться?:) Компилятор от IAR иногда использует его для своих нужд при работе с булевыми переменными. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
defunct 0 27 марта, 2006 Опубликовано 27 марта, 2006 (изменено) · Жалоба Есть команда (bst) загрузки любого бита любого регистра во флаг T, и команда(bld) выгрузки флага T в любой бит любого регистра, а также есть команды(brts/brtc) перехода по значению флага T. Т.о. этот флаг упрощает работу там где требуется манипуляция с битами. Пример: Пусть имеется какой-то регистр в котором хряняться какие-то флаги, которые предполагается использовать в программе. .def AL = r24 .def AH = r25 .def Flags = R15 ; Пользовательский регистр флагов .equ Flag0 = 0 .equ Flag1 = 1 .equ Flag2 = 2 .equ Flag3 = 3 ... .equ Flag7 = 7 прочитать порт B и поместить значение пина PB5 во флаг Flag0: in AL, PinB bst AL, PB5 bld Flags, Flag0 проверить Flag4 и если он установлен перейти на подпрограмму Proc1 bst Flags, Flag4 brts Proc1 ... Proc1: Изменено 27 марта, 2006 пользователем defunct Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
muravei 3 28 апреля, 2006 Опубликовано 28 апреля, 2006 · Жалоба Попытался использовать практически,но: в обработке прерывания сохраняю SREG в стеке, далее устанавливаю бит Т , по выходу восстанавливаю SREG и все бит тю-тю. Что делать ? Может использовать, как и прежде, рабочий р-р? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
KRS 1 28 апреля, 2006 Опубликовано 28 апреля, 2006 · Жалоба Попытался использовать практически,но: в обработке прерывания сохраняю SREG в стеке, далее устанавливаю бит Т , по выходу восстанавливаю SREG и все бит тю-тю. Что делать ? Может использовать, как и прежде, рабочий р-р? Из прерываний так не получится флаг сбросить/установить надо действительно или регистр зарезервировать (IAR позволяет) или в новых мегах есть GPIOR0 он доступен для команд SBI CBI SBIS SBIC Еще можно некоторые биты в портах использовать если нога используется переферией или свободна. Я например в проектах где используется шина данных и PORTA полностью занят шиной, использую его как 8 битовых флагов, прекрасно работает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Rst7 5 28 апреля, 2006 Опубликовано 28 апреля, 2006 · Жалоба Я например в проектах где используется шина данных и PORTA полностью занят шиной, использую его как 8 битовых флагов, прекрасно работает. О, толково... Спасибо за подсказку. Я обычно биты управления прерыванием (фронт/спад) аналогового компаратора пользовал ;), порт под шиной - побольше размером. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Igor26 0 28 апреля, 2006 Опубликовано 28 апреля, 2006 · Жалоба Попытался использовать практически,но: в обработке прерывания сохраняю SREG в стеке, далее устанавливаю бит Т , по выходу восстанавливаю SREG и все бит тю-тю. Что делать ? Может использовать, как и прежде, рабочий р-р? Из прерываний так не получится флаг сбросить/установить надо действительно или регистр зарезервировать (IAR позволяет) или в новых мегах есть GPIOR0 он доступен для команд SBI CBI SBIS SBIC Еще можно некоторые биты в портах использовать если нога используется переферией или свободна. Я например в проектах где используется шина данных и PORTA полностью занят шиной, использую его как 8 битовых флагов, прекрасно работает. Не совсем понял. А как же работа с шиной данных/адреса? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
KRS 1 28 апреля, 2006 Опубликовано 28 апреля, 2006 · Жалоба Не совсем понял. А как же работа с шиной данных/адреса? Так при использовании External Memory управление ногами отключатся от регистра PORTA и его, как оказывается, можно совбодно использовать. ну еще и часть PORTC можно использовать, в зависимости от того сколько бит адреса используется. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Igor26 0 28 апреля, 2006 Опубликовано 28 апреля, 2006 · Жалоба Не совсем понял. А как же работа с шиной данных/адреса? Так при использовании External Memory управление ногами отключатся от регистра PORTA и его, как оказывается, можно совбодно использовать. ну еще и часть PORTC можно использовать, в зависимости от того сколько бит адреса используется. Теперь понял. Оригинально. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться