Un retard de microsegons usant la programació en C

S

sme7000

Guest
Què algú té un codi de programació C durant 1 microsegons demora? Estic usant PIC16F877 amb 20MHZ OSC (oscil · lador). :?
 
asm ("nop") és equivalent a un retard de 200 ns @ 20MHz CLK - Amr Ali
 
Recordeu que un cicle d'instrucció equival a 4 impulsos de rellotge (cicles de rellotge). Així que si tens 20 MHz que té 5000000 d'instruccions per segon. I NOP ​​té un cicle d'instrucció i de molt baixa potència. Intenta fer un progrés pel nombre de divisió i després anar pels bucles.
 
Si el retard és d'1 microsegon, utilitzar 5 instruccions nop. - Amr Ali
 
i pot ser posa per C construït en funció de "delay ()" amb l'arxiu de capçalera "dos.h": D
 
Vull generar '1 'i '0' en els intervals entre els 10 microsegons .. algú pot donar-me una instrucció de com fer això .. que estic utilitzant la programació en C per a construir aquesta operació.
 
Els intervals de temps i MCU el que està utilitzant pot ser una falta de coincidència si vols programar en "C". El PIC de 20 MHz no és més que una mica lent per a executar les instruccions suficients perquè una funció de "C" demora entre 1 i nosaltres. Ja sigui que vostè vagi a ASM o un processador molt més ràpid. Només My2Cents, Bob
 
hola, estic buscant una solució per al microcontrolador ATMega128 i vull controlar els pins d'E / S amb una precisió de microsegons és a dir, cada pin ha d'anar a alta i baixa amb un retard de pocs microsegons. algú em pot ajudar amb això? Gràcies.
 
Hola apha55, Què és exactament estàs tractant d'aconseguir? Pot ser possible que a 16MHz, cada rellotge = 62,5 ns Espero que això ajudi. Tahmid.
 
No estic segur que el compilador que està utilitzant, però pot haver un arxiu d'inclusió a la biblioteca que permet l'ús d'una instrucció NOP en C. En cas contrari, caldrà inserir algunes rutines en assemblador.
 

Welcome to EDABoard.com

Sponsor

Back
Top