source: PlatformSupport/User_IO/examples/UserIO_Sound_Demo.c

Last change on this file was 1046, checked in by murphpo, 16 years ago

first version of User I/O board code

  • Property svn:executable set to *
File size: 1.4 KB
Line 
1#include <string.h>
2#include "ascii_characters.h"
3#include "warp_userioboard_util.h"
4#include "Sound_Test.h"
5#include "xparameters.h"
6
7#define CLKFREQ 50000000
8
9#define MIDDLE_A (CLKFREQ / 440)
10#define LOUD 7500
11
12int main()
13{
14    xil_printf("Starting Sound v00.1\r\n");
15
16    int i, status;
17    unsigned int trackball, trackball_prev;
18
19    unsigned char buzzer_en = 0;
20    unsigned int buzzer_duty = LOUD;
21    unsigned int buzzer_period = MIDDLE_A;
22
23    warp_userioboard_buzzer_set(buzzer_period, buzzer_duty);
24
25    //Initialize the LCD for slot 1 (i.e. don't flip the image) and non-inverted colors
26    warp_userioboard_lcd_init(1, 0);
27
28    while(1)
29    {
30        trackball_prev = trackball;
31        //Read the trackball inputs
32        trackball = warp_userioboard_get_trackball();
33
34        switch(trackball ^ trackball_prev)
35        {
36            case TRACKBALL_PUSH:
37                if(trackball & TRACKBALL_PUSH)
38                    buzzer_en = buzzer_en ^ 1;
39            break;
40            case TRACKBALL_UP:
41                if(trackball & TRACKBALL_UP)
42                    buzzer_period = buzzer_period + 2500;
43            break;
44            case TRACKBALL_DOWN:
45                if(trackball & TRACKBALL_DOWN)
46                    buzzer_period = buzzer_period - 2500;
47            break;
48            case TRACKBALL_RIGHT:
49                if(trackball & TRACKBALL_RIGHT)
50                    buzzer_duty = buzzer_duty + 250;
51            break;
52            case TRACKBALL_LEFT:
53                if(trackball & TRACKBALL_LEFT)
54                    buzzer_duty = buzzer_duty - 250;
55            break;
56            default:
57            break;
58        }
59
60        warp_userioboard_set_buzzer_en(buzzer_en);
61        warp_userioboard_buzzer_set(buzzer_period, buzzer_duty);
62    }
63   
64    return 0;
65}
Note: See TracBrowser for help on using the repository browser.