Jeg ved også hvordan man opdatere en enkelt plads:
disp_buf[0] = 0x6E;
Dette virker fint når jeg skal have en enkelt værdi erstattet, men jeg skal udskifte samtlige værdier heletiden. Kan jeg klare det, uden at skrive 32 linier hvor i jeg smider en værdi ind af gangen, men at jeg smider alle ind på en gang.
for,do,while lykker ikke godkendt, da det skal gå hurtigt.
Hvis du har værdierne i en buffer, kan du bruge memcpy. Ellers brug en for-løkke.
Jeg ved ikke om for-løkken eller memcpy er hurtigst; men memcpy bruger også en løkke ét eller andet sted - den er dog muligvis optimeret til at flytte 32 bit eller 64 bit af gangen (afhængig af processorarkitektur). Til gengæld sparer du overheadet til et funktionskald hvis du bruger for-løkken.
Det lyder som om der ikke er en hurtigere måde at gøre det på. Er jeg ikke så glad for at høre. Så må jeg tilbage til at skrive 32 linier koder hver gang. Sparer jeg mere tid på end at bruge lykker.
Nu ved jeg ikke hvad det er til; men den besparelse du opnår ved at lave 32 enkelte assignments, fremfor en løkke, er så marginal, at jeg er ret overbevist om at det ikke kan betale sig for dig.
Jeg er ved at bygge en cykel computer, som har nogle timings sekvenser der godt kan ramme hinanden. For at undgå evt timings fejl, skal de kommandoer den skal udføre vare så lidt tid som over hovedet muligt. Derved kan jeg opsamle data med mindre fejl margin.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.