Bonjour ,

Je programme en Lazarus. peut être devrais je poster sur le forum Lazarus ?
je poste ici car cela peut concerner plus que Lazarus.

J'ai lu dans le Wiki.freePascal :
Cette unité (Pigpio.pas[2]) avec 270 lignes de code fournies par Gabor Szollosi, fonctionne très rapidement (par exemple, fréquence de commutation de la broche GPIO 8 MHz).
je souhaite générer sur une sortie Gpio, un signal carré de 2.5Mhz (soit 400nS), d'après le message ci-dessus cela devrait être possible. mais peut-être que vos expériences montre une limite plus basse en frequence que celle du message ?

Pour faire mes essais, j'ai trouvé des procédures de "délais" approchant la nanoseconde .
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
procedure NanoSleep(NanoSeconds: Int64); 
var Req, Rem: timespec; 
begin 
      Req.tv_sec := NanoSeconds div 1000000000; 
      Req.tv_nsec := NanoSeconds mod 1000000000; 
      fpclock_nanosleep(CLOCK_REALTIME, 0, @Req, @Rem);
end;
l'instruction "fpclock_nanosleep" et je suppose aussi la "CLOCK_REALTIME" sont inconnues à mon programme.

Une recherche m'indique qu'elles sont dans "BaseUnix", mais quand je fais une recherche dans l'unité "BaseUnix", elles n'y sont pas.

Savez vous si je dois installer autre chose, pour accéder à ces instructions ?
Avez vous des infos sur cela.
Avez vous d'autres solutions de délais ayant cette précision ?

Merci a vous pour vos aides.