main.c


1
#include <m8c.h>       
2
#include <string.h>
3
#include <stdlib.h>
4
#include "PSoCAPI.h" 
5
6
7
long CS_Config, CS_Current_DC_Offset, CS_Current_Gain, CS_Voltage_DC_Offset, CS_Voltage_Gain;
8
9
10
11
void main(){
12
13
 M8C_EnableGInt ;
14
 UART_IntCntl(UART_ENABLE_RX_INT);
15
 UART_Start(UART_PARITY_NONE);
16
 SPIM_Start(SPIM_SPIM_MODE_0 | SPIM_SPIM_MSB_FIRST);
17
  
18
 
19
 // initialisierung_CS5463
20
 SPIM_SendTxData(0b11111111);//sync1  
21
 SPIM_SendTxData(0b11111111);//sync1    
22
 SPIM_SendTxData(0b11111111);//sync1  
23
 SPIM_SendTxData(0b11111110);//sync0
24
25
 //Start_Conversion_continuous
26
 SPIM_SendTxData(0b11101000);
27
 SPIM_SendTxData(0xFF);
28
 SPIM_SendTxData(0xFF);
29
 SPIM_SendTxData(0xFF);
30
 
31
  
32
 while(1){
33
  
34
 if(UART_bCmdCheck()){
35
       CS_Config=atol(UART_szGetParam());
36
      CS_Current_DC_Offset=atol(UART_szGetParam());
37
      CS_Current_Gain=atol(UART_szGetParam());
38
      CS_Voltage_DC_Offset=atol(UART_szGetParam());
39
      CS_Voltage_Gain=atol(UART_szGetParam());
40
      UART_CmdReset();
41
          }
42
43
 
44
 //////////////////// CS5463 Register beschreiben //////////////////////
45
46
 //Schreibe_CS_Config Register
47
 SPIM_SendTxData(0b01000000);
48
 SPIM_SendTxData(CS_Config >>16 &0xFF);
49
 SPIM_SendTxData(CS_Config >>8 &0xFF);
50
 SPIM_SendTxData(CS_Config &0xFF);
51
 
52
 
53
 //Schreibe_CS_Current_DC_Offset
54
 SPIM_SendTxData(0b01000010);
55
 SPIM_SendTxData(CS_Current_DC_Offset >>16 &0xFF);
56
 SPIM_SendTxData(CS_Current_DC_Offset >>8 &0xFF);
57
 SPIM_SendTxData(CS_Current_DC_Offset &0xFF);
58
 
59
 
60
 //Schreibe_CS_Current_Gain
61
 SPIM_SendTxData(0b01000100);
62
 SPIM_SendTxData(CS_Current_Gain >>16 &0xFF);
63
 SPIM_SendTxData(CS_Current_Gain >>8 &0xFF);
64
 SPIM_SendTxData(CS_Current_Gain &0xFF);
65
66
67
 //Schreibe_CS_Voltage_DC_Offset
68
 SPIM_SendTxData(0b01000110);
69
 SPIM_SendTxData(CS_Voltage_DC_Offset >>16 &0xFF);
70
 SPIM_SendTxData(CS_Voltage_DC_Offset >>8 &0xFF);
71
 SPIM_SendTxData(CS_Voltage_DC_Offset &0xFF);
72
 
73
 //Schreibe_CS_Voltage_Gain
74
 SPIM_SendTxData(0b01000110);
75
 SPIM_SendTxData(CS_Voltage_Gain >>16 &0xFF);
76
 SPIM_SendTxData(CS_Voltage_Gain >>8 &0xFF);
77
 SPIM_SendTxData(CS_Voltage_Gain &0xFF);
78
79
80
 //////////////////// CS5463 Register Lesen ///////////////////////////
81
82
 //Lese_Instantaneus_Current
83
 SPIM_SendTxData(0b00001110);
84
 SPIM_SendTxData(0xFF);
85
 UART_PutSHexByte(SPIM_bReadRxData());
86
 SPIM_SendTxData(0xFF);
87
 UART_PutSHexByte(SPIM_bReadRxData());
88
 SPIM_SendTxData(0xFF);
89
 UART_PutSHexByte(SPIM_bReadRxData());
90
 
91
 UART_CPutString(":");
92
 
93
 //Lese_Instantaneus_Voltage
94
 SPIM_SendTxData(0b00010000);
95
 SPIM_SendTxData(0xFF);
96
 UART_PutSHexByte(SPIM_bReadRxData());
97
 SPIM_SendTxData(0xFF);
98
 UART_PutSHexByte(SPIM_bReadRxData());
99
 SPIM_SendTxData(0xFF);
100
 UART_PutSHexByte(SPIM_bReadRxData());
101
102
 UART_CPutString(":");
103
 
104
 //Lese_Instantaneus_Power
105
 SPIM_SendTxData(0b00010010);//P
106
 SPIM_SendTxData(0xFF);
107
 UART_PutSHexByte(SPIM_bReadRxData());
108
 SPIM_SendTxData(0xFF);
109
 UART_PutSHexByte(SPIM_bReadRxData());
110
 SPIM_SendTxData(0xFF);
111
 UART_PutSHexByte(SPIM_bReadRxData());
112
113
 UART_PutCRLF();
114
 }
115
116
}