die Funktion ist immer get_data, aber die Parameter werden beim Funktionsaufruf zutreffend übergeben.
zB wenn get_data analog zu get_sensor deklariert wurde
...
data1 = get_data(LATA, D1, SCK1);
data2 = get_data(LATA, D2, SCK2);
...

portnummer ist eigentlich nur der µC Port wie zB PORTB.

Du kannst das ganze natürlich auch für jeden Sensor in ein struct schreiben und dann nur einen Parameter übergeben

typedef struct sensor{
uint8_t port;
uint8_t pinD;
uint8_t pinSCK;
} sensor_t;

sensor_t sensor1, sensor2, sensor3;

sensor1.port = PORTB;
sensor1.pinD = PB0;
sensor1.pinSCK = PB1;
...

... get_data(sensor1);
...

sast