Ich habe einige Kernelspace-GPIO-Treiberimplementierungen gesehen, die über das i2c-Zeichengerät binden und Ihnen eine Schnittstelle ermöglichen mit dem Gerät, als wäre es ein GPIO-Gerät (nämlich pca953x-Treiber) und sie haben interne Mutexe in jeder gpio_set/get-Funktion.
Ich habe auch einen anderen Stackoverflow-Thread gesehen, in dem Leute sagen, dass i2c_smbus_*-Funktionen interne Mutexe haben, also kann ich mir wirklich nicht sicher sein.
Verwandt: Gleichzeitiger I2C-Zugriff unter Linux, mutex
Hier ist der Code, der dem ähnelt, was ich mache. Was ich frage ist, ob diese Art des gleichzeitigen Zugriffs sicher ist.
Code: Select all
void *thread_fn(void *arg){
int fd = *(int*)arg;
uint16_t d;
for(uint16_t i=0;i
Mobile version