Ich lese den Code unten, ruft das erste Segment read_temperature
, die einen Temperatursensor liest.Funktionszeiger in c - Verständnis
Ich versuche es zu verstehen.
Ist
read_temperature()
ein Zeiger auf eine Funktion? Was bringt das?read_temperature
nimmt die Adresse der Länge?Warum ist es erforderlich, tempbuff [] für alle Nullen mit
memset()
zu initialisieren.Was macht
temp_reading&0xff
?Warum ist es notwendig,
*templength = 5;
am Ende zu tun?
statisch int Länge; static unsigned Adresse
address = (unsigned int)read_temperature(& length);
PRINTF("Temperature [%x] and its length is [%d] \r\n",address,length);
Zweite Segment:
uint8_t tempbuff[8];
uint8_t * read_temperature(int *templength)
{
}
„Was soll das temp_reading & 0xFF tun“ ... das scheint das Problem zu zeigen, ist nicht speziell über diese „Funktionszeiger“ aber Sie Weiß nicht C. – usr2564301