ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
21 ноября
477285 Топик полностью
MBedder, терминатор (29.12.2013 22:57 - 23:03, просмотров: 432) ответил fk0 на А зачем это нужно?
Будто сам не знаешь - например, для того, чтобы инициализировать TRISx/ODCx/ANSELx/CNENx etc, не делая дополнительных дефайнов руками Микрочип вконец ебанулся, и в хедеры ХС16 включил гору вот таких дефайнов: #define _TRISE_TRISE0_POSITION 0x00000000 #define _TRISE_TRISE0_MASK 0x00000001 #define _TRISE_TRISE0_LENGTH 0x00000001 ... #define _PORTE_RE0_POSITION 0x00000000 #define _PORTE_RE0_MASK 0x00000001 #define _PORTE_RE0_LENGTH 0x00000001 ... #define _LATE_LATE0_POSITION 0x00000000 #define _LATE_LATE0_MASK 0x00000001 #define _LATE_LATE0_LENGTH 0x00000001 ... #define _CNENE_CNIEE0_POSITION 0x00000000 #define _CNENE_CNIEE0_MASK 0x00000001 #define _CNENE_CNIEE0_LENGTH 0x00000001 ... #define _CNPUE_CNPUE0_POSITION 0x00000000 #define _CNPUE_CNPUE0_MASK 0x00000001 #define _CNPUE_CNPUE0_LENGTH 0x00000001 ... #define _CNPDE_CNPDE0_POSITION 0x00000000 #define _CNPDE_CNPDE0_MASK 0x00000001 #define _CNPDE_CNPDE0_LENGTH 0x00000001 ... #define _ANSELE_ANSE0_POSITION 0x00000000 #define _ANSELE_ANSE0_MASK 0x00000001 #define _ANSELE_ANSE0_LENGTH 0x00000001 т.е. на каждый БИТ по ТРИ дефайна с именами типа Эйяфьятлайокудль Жугдердемидыйн Гуррагча - можешь сам посчитать, сколько их. В WinAVR/AVRGCC хоть было полегче - эти имена дефайнились как NAME_bp (bit position) и NAME_bv (bit value)