реклама на сайте
подробности

 
 
> AVRStudio, косяк какойто
viael
сообщение Sep 17 2006, 13:05
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 200
Регистрация: 10-04-06
Из: Украина,Запорожье
Пользователь №: 15 979



Пишу прогу в яре,отлаживаюсь в студии.Вот кусок кода на С
Код
    SETBIT(TIFR1,ICF1);//clear icf1 interrupt flag  
    TCNT1=0;            //clear timer1
    SETBIT(TIFR1,TOV1); //clear overflow interrpt flag for timer1

и дизасемблерный
Код
99:           SETBIT(TIFR1,ICF1);//clear icf1 interrupt flag  
+0000015A:   9AB5        SBI     0x16,5           Set bit in I/O register
100:          TCNT1=0;            //clear timer1
+0000015B:   D011        RCALL   PC+0x0012        Relative call subroutine
101:          SETBIT(TIFR1,TOV1); //clear overflow interrpt flag for timer1
+0000015C:   9AB0        SBI     0x16,0           Set bit in I/O register


Вопрос такой кманда SBI 0x16,5 должна сбросить 5-й бит в регистре TIFR1, а если верить симулятору AVRStudio то очищается весь регистр целиком.Это как понимать?Глюк симулятора?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Harvester
сообщение Sep 18 2006, 05:59
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 338
Регистрация: 1-02-06
Из: Королев, М.О.
Пользователь №: 13 846



Цитата(viael @ Sep 17 2006, 17:05) *
Вопрос такой кманда SBI 0x16,5 должна сбросить 5-й бит в регистре TIFR1, а если верить симулятору AVRStudio то очищается весь регистр целиком.Это как понимать?Глюк симулятора?


Для установки/сброса отдельного флага прерывания нельзя использовать команды sbi/cbi, т.к. они относятся к командам типа "чтение/модификация/запись". Т.е. они сначала считывают регистр, затем меняют в нем бит, после чего записывают весь регистр обратно. Ну а поскольку сброс флагов выполняется записью единицы... - результат Вы видите. И AVRStudio здесь ни причем.


--------------------
-Да как так-то?/-Да как-то так/-Ну так-то да
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 5th August 2025 - 23:04
Рейтинг@Mail.ru


Страница сгенерированна за 0.02085 секунд с 7
ELECTRONIX ©2004-2016