-
- Вот Vit(539 знак., 15.06.2012 10:31)
- Вот такую программу протестировал. rezident(2969 знак., 15.06.2012 20:07 - 20:21)
- Дополнительно проверил ситуацию, когда сразу установлено несколько флагов CCIFG. rezident(670 знак., 15.06.2012 20:52)
- Большое спасибо. Т.е. без GIE и CCIE в TA0IV ничего не будет, а вызов обработчика зависит от фактического состояния CCIFG. Vit(495 знак., 16.06.2012 10:57)
- Насчет GIE вы немного ошибаетесь. Он не оказывает влияние на состояние TA0IV, а лишь только на возможность вызова маскируемых прерываний. - rezident(16.06.2012 13:21)
- Пока вывод именно такой - см. стартовый топик - CCIFG без GIE при установленном CCIE на состояние PA0IV не влияет - из PA0IV читается 0. - Vit(16.06.2012 13:30)
- У меня не такой вывод. Самоцитата из предыдущего сообщения. rezident(443 знак., 16.06.2012 13:33)
- у меня при сброшенном GIE в TA0IV всегда 0 Vit(180 знак., 16.06.2012 13:43 - 13:47)
- Где именно 0? На вкладке с регистрами в окне дебаггера? Дык я это сразу указал, что там практически всегда TA0IV=0x0000 отображается. В то время как в переменных, куда я копирую содержимое этого регистра отображается нормальное его значение. rezident(112 знак., 16.06.2012 13:48)
- В тесте переменная читает TA0IV, её значение не меняется, но далее она модифицируется и это видно. В окне регистров выбран не таймер - Vit(16.06.2012 13:53, ссылка)
- Ладно с другой стороны подойду. GIE не может (не имеет права) оказывать влияние на флаги прерываний хотя бы с той точки зрения, что при переходе по вектору прерывания GIE автоматически сбрасывается и восстанавливает свое состояние только rezident(863 знак., 16.06.2012 14:13, ссылка)
- Гы, классная сопля, детская. Теперь усё в TA0IV видно, даже дебаггером. Спасибо! - Vit(16.06.2012 17:22)
- Насчет ошибки - спасибо - явно сопля тут - благодаря ей предположил, что GIE (из фона) всего-лишь разрешает работу(аппаратную запись в) PA0IV (типа не имеет смысла его трогать не в обработчиках), ну и смотрит за наличием запроса прерывания по Vit(119 знак., 16.06.2012 14:50)
- Ладно с другой стороны подойду. GIE не может (не имеет права) оказывать влияние на флаги прерываний хотя бы с той точки зрения, что при переходе по вектору прерывания GIE автоматически сбрасывается и восстанавливает свое состояние только rezident(863 знак., 16.06.2012 14:13, ссылка)
- В тесте переменная читает TA0IV, её значение не меняется, но далее она модифицируется и это видно. В окне регистров выбран не таймер - Vit(16.06.2012 13:53, ссылка)
- Где именно 0? На вкладке с регистрами в окне дебаггера? Дык я это сразу указал, что там практически всегда TA0IV=0x0000 отображается. В то время как в переменных, куда я копирую содержимое этого регистра отображается нормальное его значение. rezident(112 знак., 16.06.2012 13:48)
- у меня при сброшенном GIE в TA0IV всегда 0 Vit(180 знак., 16.06.2012 13:43 - 13:47)
- У меня не такой вывод. Самоцитата из предыдущего сообщения. rezident(443 знак., 16.06.2012 13:33)
- Пока вывод именно такой - см. стартовый топик - CCIFG без GIE при установленном CCIE на состояние PA0IV не влияет - из PA0IV читается 0. - Vit(16.06.2012 13:30)
- Насчет GIE вы немного ошибаетесь. Он не оказывает влияние на состояние TA0IV, а лишь только на возможность вызова маскируемых прерываний. - rezident(16.06.2012 13:21)
- Большое спасибо. Т.е. без GIE и CCIE в TA0IV ничего не будет, а вызов обработчика зависит от фактического состояния CCIFG. Vit(495 знак., 16.06.2012 10:57)
- Дополнительно проверил ситуацию, когда сразу установлено несколько флагов CCIFG. rezident(670 знак., 15.06.2012 20:52)
- Вот такую программу протестировал. rezident(2969 знак., 15.06.2012 20:07 - 20:21)
- Вот Vit(539 знак., 15.06.2012 10:31)