Commit fbb25edb8e8e9e16fc189f313d64a9080333f3a1
Merge branch 'gwj' of https://gitlab.dmcs.pl/gwj/at91sam9263 into gwj
Showing
1 changed file
with
9 additions
and
76 deletions
virtual_lab/main.c
1 | 1 | #include <stdint.h> |
2 | 2 | #include <stdbool.h> |
3 | 3 | |
4 | -#define PB_PER (*((volatile uint32_t*)0xFFFFF400)) | |
5 | -#define PB_OER (*((volatile uint32_t*)0xFFFFF410)) | |
6 | -#define PB_SODR (*((volatile uint32_t*)0xFFFFF430)) | |
7 | -#define PB_CODR (*((volatile uint32_t*)0xFFFFF434)) | |
8 | -#define PB_PDSR (*((volatile uint32_t*)0xFFFFF43C)) | |
9 | - | |
10 | -#define PC_PER (*((volatile uint32_t*)0xFFFFF600)) | |
11 | -#define PC_ODR (*((volatile uint32_t*)0xFFFFF614)) | |
12 | -#define PC_OER (*((volatile uint32_t*)0xFFFFF610)) | |
13 | -#define PC_SODR (*((volatile uint32_t*)0xFFFFF630)) | |
14 | -#define PC_CODR (*((volatile uint32_t*)0xFFFFF634)) | |
15 | -#define PC_PDSR (*((volatile uint32_t*)0xFFFFF63C)) | |
16 | -#define PC_PUER (*((volatile uint32_t*)0xFFFFF664)) | |
17 | - | |
18 | -#define PMC_PCER (*((volatile uint32_t*)0xFFFFFC10)) | |
19 | - | |
20 | -#define CLK_PIO_CDE 4 | |
21 | - | |
22 | -#define DS1 (1 << 8) //PB8 | |
23 | -#define DS2 (1 << 29) //PC29 | |
24 | - | |
25 | -#define BT2 (1 << 4) //PC4 | |
26 | -#define BT1 (1 << 5) //PC5 | |
4 | +{ | |
5 | +// add registers here | |
6 | +} | |
27 | 7 | |
28 | 8 | void delay_ms (int delay) |
29 | 9 | { |
30 | - volatile uint64_t DelayStep; | |
31 | - for(DelayStep = 0; DelayStep < 100000*delay; DelayStep++); | |
10 | +// add code here | |
32 | 11 | } |
33 | 12 | |
34 | 13 | void ConfigureLEDs (void) |
35 | 14 | { |
36 | - PB_PER = DS1; | |
37 | - PC_PER = DS2; | |
38 | - PB_OER = DS1; | |
39 | - PC_OER = DS2; | |
40 | - PB_SODR = DS1; | |
41 | - PC_SODR = DS2; | |
15 | +// add code here | |
42 | 16 | } |
43 | 17 | |
44 | - | |
45 | 18 | void ConfigureButtons (void) |
46 | 19 | { |
47 | - PMC_PCER = 1 << CLK_PIO_CDE; | |
48 | - PC_PER = BT1 | BT2; | |
49 | - PC_ODR = BT1 | BT2; | |
50 | - PC_PUER = BT1 | BT2; | |
20 | +// add code here | |
51 | 21 | } |
52 | 22 | |
53 | -int main(void) | |
54 | -{ | |
55 | - int Decimator=0; | |
56 | - ConfigureLEDs(); | |
57 | - ConfigureButtons(); | |
58 | -#if 0 | |
59 | - PMC_PCER = 1 << PER_ID_PBIOC_TO_PIOE; | |
60 | - PB_PER = DS1; //PIO enable register | |
61 | -// PB_PDR = 0xffffffff; //PIO disable register | |
62 | - | |
63 | - PB_OER = DS1; //PIO controller output enable register | |
64 | - PC_PER = DS2 | BT1 | BT2; //PIO enable register | |
65 | - PC_OER = DS2; //PIO controller output enable register | |
66 | - PC_ODR = BT1 | BT2; | |
67 | - PC_PUER = BT1 | BT2; | |
68 | -#endif | |
69 | - | |
70 | - while(true) | |
71 | - { | |
72 | - for (Decimator=0; Decimator<100; Decimator++) | |
73 | - { | |
74 | - if((PC_PDSR & BT1) == 0) | |
75 | - PB_SODR = DS1; | |
76 | 23 | |
77 | - if((PC_PDSR & BT2) == 0) | |
78 | - PB_CODR = DS1; | |
79 | - delay_ms(10); | |
80 | - } | |
81 | - | |
82 | - PC_CODR = DS2; | |
83 | 24 | |
84 | - for (Decimator=0; Decimator<100; Decimator++) | |
85 | - { | |
86 | - if((PC_PDSR & BT1) == 0) | |
87 | - PB_SODR = DS1; | |
88 | - | |
89 | - if((PC_PDSR & BT2) == 0) | |
90 | - PB_CODR = DS1; | |
91 | - delay_ms(10); | |
92 | - } | |
25 | +int main(void) | |
26 | +{ | |
27 | +// add code here | |
93 | 28 | |
94 | - PC_SODR = DS2; | |
95 | - } | |
96 | 29 | } | ... | ... |