|
AVRStudio, косяк какойто |
|
|
|
Sep 17 2006, 13:05
|
Местный
  
Группа: Свой
Сообщений: 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 то очищается весь регистр целиком.Это как понимать?Глюк симулятора?
|
|
|
|
|
 |
Ответов
|
Sep 17 2006, 14:59
|
дятел
    
Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065

|
Цитата(viael @ Sep 17 2006, 17:05)  Пишу прогу в яре,отлаживаюсь в студии.Вот кусок кода на С Код 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 то очищается весь регистр целиком.Это как понимать?Глюк симулятора? Ну Вы хотя бы намекните какой у Вас контроллер. Да и кода бы побольше ...
|
|
|
|
|
Sep 17 2006, 15:32
|
Местный
  
Группа: Свой
Сообщений: 200
Регистрация: 10-04-06
Из: Украина,Запорожье
Пользователь №: 15 979

|
Цитата(singlskv @ Sep 17 2006, 18:59)  Цитата(viael @ Sep 17 2006, 17:05)  Пишу прогу в яре,отлаживаюсь в студии.Вот кусок кода на С Код 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 то очищается весь регистр целиком.Это как понимать?Глюк симулятора? Ну Вы хотя бы намекните какой у Вас контроллер. Да и кода бы побольше ... Контроллер Мега48. Больше кода?А зачем? Весь вопрос в том почему очищается весь регистр.Мне всего лишь нужно програмно сбросить флаг захвата таймера1 и флаг перепонения таймера1 не торгая другие биты.И по идее все правильно SBI,CBI битовые команды которые работают с одним битом, но в СИМУЛЯТОРЕ очищается весь регистр вот я спрашиваю может эток глюк AVRStudio? Добалю... AVR Studio 4.12.490 Service Pack 3
|
|
|
|
Сообщений в этой теме
viael AVRStudio Sep 17 2006, 13:05  singlskv Цитата(viael @ Sep 17 2006, 19:32) Пишу п... Sep 17 2006, 19:04 junoSynthesizer что то мне тут не понятно - тоже как новичку, рабо... Sep 17 2006, 20:27 singlskv Цитата(junoSynthesizer @ Sep 18 2006, 00... Sep 17 2006, 20:42 Harvester Цитата(viael @ Sep 17 2006, 17:05) Вопрос... Sep 18 2006, 05:59 singlskv Цитата(Harvester @ Sep 18 2006, 09:59) Дл... Sep 18 2006, 08:18  Harvester Цитата(singlskv @ Sep 18 2006, 12:18) Цит... Sep 18 2006, 09:02   singlskv Посмотрел еще несколько Datasheet и выяснил следую... Sep 18 2006, 09:28    viael Цитата(singlskv @ Sep 18 2006, 13:28) Пос... Sep 18 2006, 16:34
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|