OpenCores
URL https://opencores.org/ocsvn/igor/igor/trunk

Subversion Repositories igor

[/] [igor/] [trunk/] [avr/] [src/] [testbuf.c] - Blame information for rev 4

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 4 atypic
#include <stdio.h>
2
#include <stdlib.h>
3
#include "buf.h"
4
 
5
int main()
6
{
7
        struct buf buf;
8
        int i, error;
9
        char data;
10
 
11
        buf_init(&buf);
12
 
13
        error = 0;
14
        i = 0;
15
 
16
        printf("Writing the buffer\n");
17
        for (i = 'A'; i < 'Z'; i++) {
18
                buf_write(&buf, (char *)&i, 1);
19
                if (BUF_FULL(&buf)) {
20
                        printf("\nERROR WRITING\n");
21
                        break;
22
                }
23
                printf("%c", i);
24
        }
25
        printf("\n");
26
 
27
        printf("Reads left: %d\n", buf_readsleft(&buf));
28
        printf("Writes left: %d\n", buf_writesleft(&buf));
29
        printf("Reading the buffer\n");
30
        while (1) {
31
                buf_read(&buf, &data, 1);
32
                if (BUF_EMPTY(&buf)) {
33
                        printf("\nERROR READING\n");
34
                        break;
35
                }
36
                printf("%c", data);
37
        }
38
        printf("\n");
39
        printf("Reads left: %d\n", buf_readsleft(&buf));
40
        printf("Writes left: %d\n", buf_writesleft(&buf));
41
 
42
        printf("Writing a little again\n");
43
        for (i = 'u'; i < ('u' + 4); i++) {
44
                buf_write(&buf, (char *)&i , 1);
45
                if (BUF_FULL(&buf)) {
46
                        printf("\nERROR WRITING\n");
47
                        break;
48
                }
49
                printf("%c", i);
50
        }
51
        printf("\n");
52
        printf("Reads left: %d\n", buf_readsleft(&buf));
53
        printf("Writes left: %d\n", buf_writesleft(&buf));
54
        printf("Reading the buffer\n");
55
        while (1) {
56
                buf_read(&buf, &data, 1);
57
                if (BUF_EMPTY(&buf)) {
58
                        printf("\nERROR READING\n");
59
                        break;
60
                }
61
                printf("%c", data);
62
        }
63
        printf("\n");
64
        printf("Reads left: %d\n", buf_readsleft(&buf));
65
        printf("Writes left: %d\n", buf_writesleft(&buf));
66
        printf("Done\n");
67
        return 0;
68
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.