Возможно, ваш пример не совсем отражает то, что вы будете sh делать, но дано:
static unsigned pwm5Init()
{
return 0 ;
}
Тогда:
TRISCbits.TRISC2 = pwm5Init() ;
Достигнем именно того результата, который вы предлагаете ваше невозможно :
static void pwm5Init(volatile unsigned __bit* trisBit){
*trisBit = 0;
}
Это "хорошая практика". Если это не дает того, о чем вы просите, то вам нужен более реалистичный пример c, возможно?
В случае, когда вам может понадобиться текущее значение, тогда:
static unsigned pwm5Init( unsigned bit )
{
// flip the bit (for example)
return ~bit & 1 ;
}
затем:
TRISCbits.TRISC2 = pwm5Init( TRISCbits.TRISC2 ) ;