Avatar billede amnesia5230 Nybegynder
31. januar 2008 - 12:09 Der er 5 kommentarer

Udvikling af frekvenstæller

Jeg har et ønske om at ville lave en frekvenstæller. Denne tæller skal gå fra 0-20Khz med 100hz intervaller. Jeg har lavet en lille programflade med et vindue i en kommandoprompt, hvori denne tæller skal være.

Denne tæller skal starte ud på 0 og det skal så være muligt at bruge pil op/pil ned eller o/n til at gå igennem frekvenserne. Hvordan vil den smarteste måde være at gribe dette an? Jeg mangler først og fremmeste lidt hjælp i den rigtige retning - men det bliver nok til mere :)
Avatar billede dinirex Nybegynder
31. januar 2008 - 20:16 #1
Så den skal starte ved 0, når man så trykker på "pil op", så springer den til 100 hz?

Skal det være et teoretisk program eller skal du ned og programmere selv programmet, som skal bruges i form af noget hardware?
Avatar billede amnesia5230 Nybegynder
31. januar 2008 - 21:17 #2
Det skal bare bære rent teoretisk. Jeg har selv forsøgt mig lidt med følgende kode:

#include <stdio.h>
#include <conio.h>
#include <tastet.h>

int i = 0;  /* Taelleren starter paa 0, naar variablen i er 0 */
int ch;

get_code()
{
    int ch = getch();

    if (ch == 0 || ch == 224)
    ch = 256 + getch();

    return ch;
}


main()




while (i < 20000) & ((ch = get_code()) !=KEY_ESC)
    {
        switch(ch)   
    {
        case ARROW_UP:
            printf("%d", i+=100);
            break;
        case ARROW_DOWN:
            printf("%d", i-=100);
            break;


    }

    return 0;

}
Avatar billede amnesia5230 Nybegynder
31. januar 2008 - 21:18 #3
følgende er inkluderet i min header jeg har lavet:

/*  tastet.h
*/

#ifndef TASTET_H
#define TASTET_H

enum mine_enums 
{
    KEY_ESC    = 27,
    ARROW_UP    = 256 + 72,
    ARROW_DOWN  = 256 + 80
};

#endif

/* Slutning af headerfil */
Avatar billede amnesia5230 Nybegynder
31. januar 2008 - 21:21 #4
Det er nok ikke den rigtige måde at lave det på, da jeg får en declaration syntax error på min while løkke. Men jeg vil gerne have lidt assistance, hvis der sidder nogen derude med en idé :-).

Som jeg svarede før, så er det rent teoretisk og der er blot et feldt der skal opdateres med +100 eller -100 alt afhængigt om der tastes Pil OP eller Pil NED. Programmet skal så afslutte ved tryk på ESC. Jeg synes bare ikke lige at kunne dreje den - så det fungerer.

Jeg ved ikke hvad muligheder der ligger i sproget mht at det er et enkelt tal der opdateres løbende som man taster. Ellers vil det komme på en ny linie hver gang man vælger enten at hæve eller sænke frekvensen.
Avatar billede amnesia5230 Nybegynder
31. januar 2008 - 22:05 #5
Hvis der er nogen der ligger inde med en løsning og eventuelt har lyst til at tage en snak over msn messenger, så kan jeg kontaktes på messenger.email.only@gmail.com
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester