1 | /***********************************************************************************************************/
|
2 | /* DDC Clk (Timer 1 Initialisierung */
|
3 | /***********************************************************************************************************/
|
4 | void InitClkDDC(void)
|
5 | {
|
6 | //Timer1 öffnen
|
7 | OpenTimer1(T1_ON | T1_SOURCE_INT | T1_PS_1_1, T1_TICK);
|
8 | // Output Pin
|
9 | PORTSetPinsDigitalOut(IOPORT_D,BIT_0);
|
10 | }
|
11 |
|
12 |
|
13 | /***********************************************************************************************************/
|
14 | /* Interrupt Initialisierung */
|
15 | /***********************************************************************************************************/
|
16 | void InitInterrupts(void)
|
17 | {
|
18 | //Konfigurieren des Interrupt 0
|
19 | ConfigINT0(EXT_INT_PRI_1 | RISING_EDGE_INT | EXT_INT_ENABLE);
|
20 | //Konfigurieren des Interrupt 1
|
21 | ConfigINT1(EXT_INT_PRI_1 | RISING_EDGE_INT | EXT_INT_ENABLE);
|
22 | //Konfigurieren des Timer1 Interrupt
|
23 | ConfigIntTimer1(T1_INT_ON | T1_INT_PRIOR_2);
|
24 | //Multi Interrupt einschalten
|
25 | INTConfigureSystem(INT_SYSTEM_CONFIG_MULT_VECTOR);
|
26 | //Interrupts einschalten
|
27 | INTEnable(INT_T1, INT_ENABLED);
|
28 | INTEnable(INT_INT0, INT_ENABLED);
|
29 | INTEnable(INT_INT1, INT_ENABLED);
|
30 | }
|
31 |
|
32 | /***********************************************************************************************************/
|
33 | /* Interrupt Handler für INT0 */
|
34 | /***********************************************************************************************************/
|
35 | void __ISR(_EXTERNAL_0_VECTOR,ipl1) Int0Handler(void)
|
36 | {
|
37 | //Löschen des Flags
|
38 | INTClearFlag(INT_INT0);
|
39 | DataValid(0);
|
40 | }
|
41 |
|
42 | /***********************************************************************************************************/
|
43 | /* Interrupt Handler für INT1 */
|
44 | /***********************************************************************************************************/
|
45 | void __ISR(_EXTERNAL_1_VECTOR,ipl1) Int1Handler(void)
|
46 | {
|
47 | //Löschen des Flags
|
48 | INTClearFlag(INT_INT1);
|
49 | DataValid(1);
|
50 | }
|
51 |
|
52 | /***********************************************************************************************************/
|
53 | /* Interrupt Handler für Timer1 */
|
54 | /***********************************************************************************************************/
|
55 | void __ISR(_TIMER_1_VECTOR, ipl2) Timer1Handler(void)
|
56 | {
|
57 | // clear the interrupt flag
|
58 | INTClearFlag(INT_T1);
|
59 |
|
60 | // .. things to do
|
61 | // .. in this case, toggle the LED
|
62 | PORTToggleBits(IOPORT_D,BIT_0);
|
63 | testBit=PORTReadBits(IOPORT_D,BIT_0);
|
64 | }
|