Facebook
From dsjihhifhd, 1 Month ago, written in Plain Text.
This paste is a reply to Re: Codesadsad from dabuas - go back
Embed
Viewing differences between Re: Codesadsad and Re: Re: Codesadsad
#include 
#include 
#include 

#define DATA_PORT 0x378 /* parallel port base address */
#define STATUS_PORT DATA_PORT + 1
#define CONTROL_PORT DATA_PORT + 2

unsigned char status, data;

void // Array to hold bit patterns for each digit
unsigned char digit_patterns[10] = {
    0b00111111, // digit 0
    0b00000110, // digit 1
    0b01011011, // digit 2
    0b01001111, // digit 3
    0b01100110, // digit 4
    0b01101101, // digit 5
    0b01111101, // digit 6
    0b00000111, // digit 7
    0b01111111, // digit 8
    0b01101111  // digit 9
};

int 
main()
{
    if (ioperm(DATA_PORT, 1, 1))
    {
        fprintf(stderr, "Access denied to %x\n", DATA_PORT), DATA_PORT);
        
exit(1);
    }

    while (1)
    {
        for (int seg digit = 0; seg digit 8; seg++)
10; digit++)
        {
            data = 1 << seg;
            
digit_patterns[digit]; // Get bit pattern for current digit
            
outb(~data, DATA_PORT); DATA_PORT);      // turn on Display the segment
            
digit
            sleep(1);                    
// here we use inversion because the common anode 7-segment display is used
            sleep(1);
Delay for 1 second
        }
    }

    ioperm(DATA_PORT, 1, 0); // release the port
}    return 0;
}

Replies to Re: Re: Codesadsad rss

Title Name Language When
Re: Re: Re: Codesadsad gfydhm text 1 Month ago.