Недавно я задавал такой вопрос (+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено Беня 20 мая 2005 г. 14:26
В ответ на: Вопрос по сбросу бита GIE для PIC - раньше, помню, надо было делать цикл... отправлено ttron 20 мая 2005 г. 12:27

но мне легче - я использую C-компилятор от HI-TECH и там в файле pic.h есть макрос di(), которорый определяется в зависимости от типа процессора.
Вот, например кусок из этого файла :

#if defined(_17C42)
#ifndef di
#define di() { do { GLINTD = 1; } while ( GLINTD == 0 ); } // disable interrupt bit
#endif
#else
#ifndef di
#define di() (GLINTD = 1) // interrupt disable bit
#endif
#endif

#elif defined _PIC14

#ifndef ei
#define ei() (GIE = 1) // interrupt enable bit
#endif

#if defined(_14000) || defined(_16C61) || defined(_16C62) ||\
defined(_16C63) || defined(_16C63A) || defined(_16C64) ||\
defined(_16C65) || defined(_16C65B) || defined(_16C71) ||\
defined(_16C73) || defined(_16C73B) || defined(_16C74) ||\
defined(_16C74B) || defined(_16C84) || defined(_16C745) ||\
defined(_16C765) || defined(_16LC74B)
#ifndef di
#define di() { do { GIE = 0; } while ( GIE == 1 ); } // disable interrupt bit
#endif
#else
#ifndef di
#define di() (GIE = 0) // interrupt enable bit
#endif
#endif

#endif
#endif /* _PIC_H */

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru