Öèòàòà(demiurg_spb @ Jul 8 2016, 18:05)

È çðÿ. Âû ëèøàåòå ñåáÿ òàêèõ áëàã êàê:
Íå ïîíÿë ÷åãî èìåííî ÿ ëèøàþñü.... Èíèöèàëèçàöèÿ ïèíîâ ó ìåíÿ äåëàåòñÿ ïðèìåðíî òàê:
Êîä
//Ðàñïðåäåëåíèå SSI-ïîðòîâ
#define nSSI_hsdc 1 //íîìåð SSI äëÿ ADE.HSDC
#define nSSI_storage 3 //íîìåð SSI äëÿ FRAM, DFLASH0, DFLASH1 (ñèñòåìà õðàíåíèÿ)
#define PIN_FRAM_CS F, 2 //CS äëÿ ÷èïà FRAM
#define PIN_ADE_IRQ0 P, 0 //ïðåðûâàíèå 0 îò ADE
//Åñëè ñêîïîì èíèòÿòñÿ íåñêîëüêî ïèíîâ:
static TPinSel const t_iocon[] = {
PINSEL(PIN_FRAM_CS, GPIO, SL, 12mA),
PINSEL(PIN_ADE_IRQ0, GPIO, PU);
PINSEL(concat(PIN_SSI, nSSI_storage, _MOSI), concat(SSI, nSSI_storage, _XDAT0), PD, SL, 12mA),
PINSEL(concat(PIN_SSI, nSSI_storage, _MISO), concat(SSI, nSSI_storage, _XDAT1), PD, SL, 12mA),
...
};
PinSelN(t_iocon);
//Åñëè ïî îäíîìó ïèíó:
PinSel1(PIN_FRAM_CS, GPIO, SL, 12mA);
PinSel1(PIN_ADE_IRQ0, GPIO, PU),
PinSel1(concat(PIN_SSI, nSSI_storage, _MOSI), concat(SSI, nSSI_storage, _XDAT0), PD, SL, 12mA);
PinSel1(concat(PIN_SSI, nSSI_storage, _MISO), concat(SSI, nSSI_storage, _XDAT1), PD, SL, 12mA);
...
 ñïèñêå àðãóìåíòîâ ìàêðîñîâ PINSEL è PinSel1 - îïöèè äîñòóïíûå äëÿ äàííîãî ïèíà (ïîäòÿæêà: PU èëè PD; ôèëüòð: SL; ìàêñ.òîê: 2ma, 4ma, 8ma, 12ma, 18ma... è ò.ï.).
Ïåðâûé àðãóìåíò â ñïèñêå - èìÿ ïèíà (çàäàííîå define), âòîðîé - ôóíêöèÿ (GPIO èëè îäíà èç ñïåö.ôóíêöèé äîñòóïíûõ íà ýòîì ïèíå), äàëåå - îïöèîíàëüíûé ñïèñîê îïöèé ïèíà ïðîèçâîëüíîé äëèíû.
PinSel1 è PinSelN êîíôèãóðÿò êàê îïöèè ïèíà(-îâ) òèïà pullup, pulldown, opendrain è ò.ï., òàê è ïðîãðàììèðóþò ìóëüòèïëåêñîð ïèíîâ íà íóæíóþ ôóíêöèþ.
Çäåñü ÿ ïðèâ¸ë ïðèìåðû äëÿ Tiva, íî â äðóãèõ ïðîåêòàõ íà äðóãèõ ÌÊ ó ìåíÿ îðãàíèçîâàíî ïîäîáíûì îáðàçîì, òîëüêî ñïèñîê îïöèé ïèíîâ äðóãîé.
È åñòü êó÷êà ìàêðîñîâ òèïà Pset(PIN_...), Pclr(PIN_...), Pval(PIN_...), Pin(PIN_...), Pout(PIN_...) è ò.ï.
Òàêèå èìåíà ìàêðîñîâ ó ìåíÿ òîæå îäèíàêîâûå äëÿ ðàçíûõ ïðîåêòîâ íà ðàçíûõ ÌÊ, òîëüêî ðåàëèçàöèÿ âíóòðè ðàçíàÿ, çàâèñÿùàÿ îò ïåðèôåðèè.
È ñîâñåì íå çàïàðèâàþñü î èíèöèàëèçàöèè è ò.ï.

Ïðè äîáàâëåíèè íîâîãî ïèíà ïðîñòî äîáàâëÿþ åù¸ îäíó çàïèñü ñ îïèñàíèåì íåîáõîäèìûõ åãî îïöèé. È î÷åíü ëåãêî ïåðåíàçíà÷àòü ïèíû, ìåíÿòü íàçíà÷åíèå ïîðòîâ (UART, SPI, ...).