Project

General

Profile

Revision 367

Added by Kevin Woo over 16 years ago

SPI Master->Slave works. Slave->Master not working yet. /template/main.c has the test bench. Yay!

View differences:

main.c
1 1
#include <dragonfly_lib.h>
2
#include "spi.h"
2 3

  
4
#define MODE 1
3 5

  
4
void a1()
5
{
6
	usb_puts("a\n");
6
void recv_func(char c) {
7
	usb_puts("Received: ");
8
	usb_putc(c);
9
	usb_puts("\r\n");
10
	return;
7 11
}
8 12

  
9
void a2()
10
{
11
	usb_puts("b\n");
12
}
13 13

  
14
void a3()
15
{
16
	usb_puts("c\n");
17
}
18 14

  
19
void a4()
20
{
21
	usb_puts("4\n");
22
}
23

  
24
void a5()
25
{
26
	usb_puts("5\n");
27
}
28

  
29
void a6()
30
{
31
	usb_puts("6\n");
32
}
33

  
34
void a7()
35
{
36
	usb_puts("7\n");
37
}
38

  
39
void a8()
40
{
41
	usb_puts("8\n");
42
}
43

  
44
void a9()
45
{
46
	usb_puts("9\n");
47
}
48

  
49
void a10()
50
{
51
	usb_puts("A");
52
}
53

  
54 15
int main(void)
55 16
{
56 17
	dragonfly_init(ALL_ON);
57
	void (*functions[])(void) = {a1};
58
	void (*allF[])(void) = {a1,a2,a3,a4,a5,a6,a7,a8,a9,a10};
59
	int test[] = {20};
18
	spi_init(MODE, recv_func);
19
	usb_puts("Init done\r\n");
20
	while(1) {
21
	//usb_puts("loop\r\n");
22
		if (MODE) {
60 23
	
61
	rtc_multi_init(test, functions, 1);
62
	
63
	while(1){
64
		if(button1_click() == 1)
65
		{
66
			int time = rtc_get_function_count();
67
			usb_puts("number of functions: ");
68
			usb_puti(rtc_add_function(allF[time], time*10));
69
			usb_puts("\n");
24
				spi_send("b", 1);
25
				delay_ms(1000);
70 26
		}
71
		if(button2_click() == 1)
72
		{
73
			int time = rtc_get_function_count();
74
			if(time > 0)
75
			{
76
				usb_puts("number of functions: ");
77
				usb_puti(rtc_remove_function(allF[time-1]));
78
				usb_puts("\n");
79
			}
80
		}
81
	};
27
		
28
	}
82 29
	
83 30
	return 0;
84 31
	

Also available in: Unified diff