1 | //////////////////////////////////////////////////////////////////
|
2 | //////////////////////////////////////////////////////////////////
|
3 | //Includes////////////////////////////////////////////////////////
|
4 | //////////////////////////////////////////////////////////////////
|
5 | //////////////////////////////////////////////////////////////////
|
6 |
|
7 | #include "msp430x44x.h"
|
8 | #include <stdio.h>
|
9 | #include <string.h>
|
10 | #include "Display.h"
|
11 |
|
12 |
|
13 | //////////////////////////////////////////////////////////////////
|
14 | //////////////////////////////////////////////////////////////////
|
15 | //Functions///////////////////////////////////////////////////////
|
16 | //////////////////////////////////////////////////////////////////
|
17 | //////////////////////////////////////////////////////////////////
|
18 |
|
19 |
|
20 | //////////////////////////////////////////////////////////////////
|
21 | //Init Clocking
|
22 | // Clk = 7,142342 Mhz ////////////////////////////////////////////
|
23 | //////////////////////////////////////////////////////////////////
|
24 |
|
25 | void Init_Clocking (void)
|
26 | {
|
27 | RESETGIE; // _disable_interrupts() wird erst in main enabled
|
28 | FLL_CTL0 = XCAP18PF | DCOPLUS; // OscKap = 18pF und MCLK bzw SMCLK werdn nicht geteilt F_System = F_DCClock
|
29 | SCFI0 = FLLD_2 | FN_4; // Multiply Selected Loop Freq. By 2 und fDCOCLK = 3.2-25Mhz
|
30 | SCFQCTL = (109 - 1); // FDCOCLK = (N+1)*FLLD_2* ACLK
|
31 | // = 109*2*32768Hz= 7143424Hz
|
32 | }
|
33 |
|
34 | //////////////////////////////////////////////////////////////////
|
35 | //Init SPI Display////////////////////////////////////////////////
|
36 | //////////////////////////////////////////////////////////////////
|
37 |
|
38 | void Init_SPI_Display (void)
|
39 | {
|
40 | //SPI Schnittstelle//
|
41 | U0CTL = 1;
|
42 | U0CTL = SWRST;
|
43 | ME1 |= USPIE0; // SPI eingeschalten
|
44 | U0CTL |= CHAR | SYNC | MM; // Länge (8Bit) | SPI Modus | Master;
|
45 | U0TCTL |= CKPH | CKPL | SSEL1 | STC; // Inaktiv High | Takt von SMCLK /*2 und 3 nop*/ | 3 pin mode;
|
46 | UBR00 = 0x02; // UCLK/2
|
47 | UMCTL0 = 0x00; // no modulation
|
48 | U0CTL = 0;
|
49 | U0CTL = SWRST; // Initalize USART state machine
|
50 | P3SEL |= 0x0A; // P3.1+3.3 SPI Funktion Aktivieren
|
51 | P1DIR |= 0x0A; // Als Ausgang definieren
|
52 |
|
53 | //Port für res...//
|
54 | P1SEL = 0x00; // I/O Funktion Aktivieren
|
55 | P1DIR = 0xE0; // Als Ausgang definieren
|
56 | P1OUT = 0x80; // Ausgang auf 01 setzen
|
57 |
|
58 | //Display single supply//
|
59 | U0TXBUF = 0x40;
|
60 | U0TXBUF = 0xA1;
|
61 | U0TXBUF = 0xC0;
|
62 | U0TXBUF = 0xA6;
|
63 | U0TXBUF = 0xA2;
|
64 | U0TXBUF = 0x2F;
|
65 | U0TXBUF = 0xF8;
|
66 | U0TXBUF = 0x00;
|
67 | U0TXBUF = 0x27;
|
68 | U0TXBUF = 0x81;
|
69 | U0TXBUF = 0x16;
|
70 | U0TXBUF = 0xAC;
|
71 | U0TXBUF = 0x00;
|
72 | U0TXBUF = 0xAF;
|
73 | }
|
74 |
|
75 | //////////////////////////////////////////////////////////////////
|
76 | //////////////////////////////////////////////////////////////////
|
77 | //Main Function///////////////////////////////////////////////////
|
78 | //////////////////////////////////////////////////////////////////
|
79 | //////////////////////////////////////////////////////////////////
|
80 |
|
81 | void main (void)
|
82 | {
|
83 | //Init Teil//
|
84 | Init_Clocking();
|
85 | SETWDT1S;
|
86 | Init_SPI_Display();
|
87 |
|
88 |
|
89 |
|
90 | while (1)
|
91 | {
|
92 | //Funktionsschleife//
|
93 | CLRWDT;
|
94 | SETGIE;
|
95 |
|
96 | }
|
97 | }
|