Pins are not addresseable, but ports are, also pin masks are known. So you may have something like this
void setpin(char *port, char mask)
{
*port |= mask;
}
void clearpin(char *port, char mask)
{
*port &= ~mask;
}
setpin(PORTK, PORTK_PK1_MASK);
clearpin(PORTK, PORTK_PK1_MASK);
or
void setpin(char *port, char pinno)
{
*port |= (1<<pinno);
}
void clearpin(char *port, char mask)
{
*port &= ~(1<<pinno);
}
setpin(PORTK, 1);
clearpin(PORTK, 1);
etc.