📄 ssc0.lst
字号:
C166 COMPILER V6.04, SSC0 09/08/2007 15:46:24 PAGE 1
C166 COMPILER V6.04, COMPILATION OF MODULE SSC0
OBJECT MODULE PLACED IN SSC0.OBJ
COMPILER INVOKED BY: E:\program files\keil\C166\BIN\C166.EXE SSC0.C MODV2 BROWSE MODV2 DEBUG
stmt lvl source
1 //****************************************************************************
2 // @Module High-Speed Synchronous Serial Interface 0 (SSC0)
3 // @Filename SSC0.C
4 // @Project X5043.dav
5 //----------------------------------------------------------------------------
6 // @Controller Infineon XC164CS-8R40
7 //
8 // @Compiler Keil
9 //
10 // @Codegenerator 2.8
11 //
12 // @Description This file contains functions that use the SSC0 module.
13 //
14 //----------------------------------------------------------------------------
15 // @Date 2007-5-25 17:16:29
16 //
17 //****************************************************************************
18
19 // USER CODE BEGIN (SSC0_General,1)
20
21 // USER CODE END
22
23
24
25 //****************************************************************************
26 // @Project Includes
27 //****************************************************************************
28
29 #include "MAIN.H"
30
31 // USER CODE BEGIN (SSC0_General,2)
32
33 // USER CODE END
34
35
36 //****************************************************************************
37 // @Macros
38 //****************************************************************************
39
40 // USER CODE BEGIN (SSC0_General,3)
41
42 // USER CODE END
43
44
45 //****************************************************************************
46 // @Defines
47 //****************************************************************************
48
49 // USER CODE BEGIN (SSC0_General,4)
50
51 // USER CODE END
52
53
54 //****************************************************************************
55 // @Typedefs
C166 COMPILER V6.04, SSC0 09/08/2007 15:46:24 PAGE 2
56 //****************************************************************************
57
58 // USER CODE BEGIN (SSC0_General,5)
59
60 // USER CODE END
61
62
63 //****************************************************************************
64 // @Imported Global Variables
65 //****************************************************************************
66
67 // USER CODE BEGIN (SSC0_General,6)
68
69 // USER CODE END
70
71
72 //****************************************************************************
73 // @Global Variables
74 //****************************************************************************
75
76 // USER CODE BEGIN (SSC0_General,7)
77
78 // USER CODE END
79
80
81 //****************************************************************************
82 // @External Prototypes
83 //****************************************************************************
84
85 // USER CODE BEGIN (SSC0_General,8)
86
87 // USER CODE END
88
89
90 //****************************************************************************
91 // @Prototypes Of Local Functions
92 //****************************************************************************
93
94 // USER CODE BEGIN (SSC0_General,9)
95
96 // USER CODE END
97
98
99 //****************************************************************************
100 // @Function void SSC0_vInit(void)
101 //
102 //----------------------------------------------------------------------------
103 // @Description This is the initialization function of the SSC0 function
104 // library. It is assumed that the SFRs used by this library
105 // are in its reset state.
106 //
107 //----------------------------------------------------------------------------
108 // @Returnvalue None
109 //
110 //----------------------------------------------------------------------------
111 // @Parameters None
112 //
113 //----------------------------------------------------------------------------
114 // @Date 2007-5-25
115 //
116 //****************************************************************************
117
C166 COMPILER V6.04, SSC0 09/08/2007 15:46:24 PAGE 3
118 // USER CODE BEGIN (Init,1)
119
120 // USER CODE END
121
122 void SSC0_vInit(void)
123 {
124 1 // USER CODE BEGIN (Init,2)
125 1
126 1 // USER CODE END
127 1
128 1 SSC0_CON_EN = 0; // enable access to control bits
129 1
130 1 /// -----------------------------------------------------------------------
131 1 /// Configuration of the SSC0 Baud Rate Generator:
132 1 /// -----------------------------------------------------------------------
133 1 /// - required baud rate = 100.000 kbaud
134 1 /// - real baud rate = 100.000 kbaud
135 1 /// - deviation = 0.000 %
136 1
137 1 SSC0_BR = 0x0063; // load SSC0 baud rate time reload register
138 1
139 1 /// -----------------------------------------------------------------------
140 1 /// Configuration of the SSC0 Operation Mode:
141 1 /// -----------------------------------------------------------------------
142 1 /// - this device is configured as SSC0 master
143 1 /// - transfer data width is 8 bit
144 1 /// - transfer/receive MSB first
145 1 /// - latch receive data on leading clock edge, shift on trailing edge
146 1 /// - idle clock line is low, leading clock edge is low-to-high transition
147 1 /// - ignore receive error
148 1 /// - ignore phase error
149 1
150 1 P3 &= 0xDFFF; // load P3.13 output latch (SCLK) with the
151 1 // desired clock idle level(low)
152 1 ALTSEL0P3 |= 0x2000; /// set ALtSEL0P3.P13
153 1 DP3 |= 0x2000; /// set P3.13 direction control (SCLK output)
154 1
155 1
156 1 SSC0_CON = 0xC037; // load SSC0 control register
157 1
158 1 /// -----------------------------------------------------------------------
159 1 /// Configuration of the used SSC0 Port Pins:
160 1 /// -----------------------------------------------------------------------
161 1 P3 |= 0x2000; // set P3.13 output latch (SCLK)
162 1
163 1 DP3 &= 0xFEFF; /// reset P3.8 direction control (MRST input)
164 1 P3 |= 0x0200; // set P3.9 output latch (MTSR)
165 1 ALTSEL0P3 |= 0x0200; /// set ALtSEL0P3.P9
166 1 DP3 |= 0x0200; /// set P3.9 direction control (MTSR output)
167 1
168 1
169 1 /// -----------------------------------------------------------------------
170 1 /// Configuration of the used SSC0 Interrupts:
171 1 /// -----------------------------------------------------------------------
172 1
173 1 // USER CODE BEGIN (Init,3)
174 1 SSC0_TIC_IR = 0; //reset transmit interrupt request
175 1 CS_X5043 = 1; //片选信号无效(‘1’无效)
176 1 DP3_P6 = 1; //把X5043的片选信号对应的引脚设置为输出口
177 1
178 1 // USER CODE END
179 1
C166 COMPILER V6.04, SSC0 09/08/2007 15:46:24 PAGE 4
180 1 } // End of function SSC0_vInit
181
182
183 //****************************************************************************
184 // @Function void SSC0_vSendData(uword uwData)
185 //
186 //----------------------------------------------------------------------------
187 // @Description The master device can initiate the first data transfer by
188 // writing the transmit data into transmit buffer. This value
189 // is copied into the shift register (which is assumed to be
190 // empty at this time), and the selected first bit of the
191 // transmit data is placed onto the MTSR line on the next
192 // clock from the baud rate generator.
193 // A slave device immediately outputs the selected first bit
194 // (MSB or LSB of the transfer data) at pin MRST, when the
195 // contents of the transmit buffer are copied into the slave's
196 // shift register.
197 //
198 //----------------------------------------------------------------------------
199 // @Returnvalue None
200 //
201 //----------------------------------------------------------------------------
202 // @Parameters uwData:
203 // Data to be send
204 //
205 //----------------------------------------------------------------------------
206 // @Date 2007-5-25
207 //
208 //****************************************************************************
209
210 // USER CODE BEGIN (SendData,1)
211
212 // USER CODE END
213
214 void SSC0_vSendData(uword uwData)
215 {
216 1 SSC0_TIC_IR = 0; // reset transmit interrupt request
217 1 SSC0_TB = uwData; // load transmit buffer register
218 1
219 1 } // End of function SSC0_vSendData
220
221
222 //****************************************************************************
223 // @Function uword SSC0_uwGetData(void)
224 //
225 //----------------------------------------------------------------------------
226 // @Description This function returns the contents of the receive buffer.
227 // When the receive interrupt request flag is set this implies
228 // that data is available for reading in the receive buffer.
229 //
230 //----------------------------------------------------------------------------
231 // @Returnvalue Received data
232 //
233 //----------------------------------------------------------------------------
234 // @Parameters None
235 //
236 //----------------------------------------------------------------------------
237 // @Date 2007-5-25
238 //
239 //****************************************************************************
240
241 // USER CODE BEGIN (GetData,1)
C166 COMPILER V6.04, SSC0 09/08/2007 15:46:24 PAGE 5
242
243 // USER CODE END
244
245 uword SSC0_uwGetData(void)
246 {
247 1 SSC0_RIC_IR = 0; // reset receive interrupt request
248 1 return(SSC0_RB); // return receive buffer register
249 1
250 1 } // End of function SSC0_uwGetData
251
252
253
254
255 // USER CODE BEGIN (SSC_General,10)
256
257 // USER CODE END
258
MODULE INFORMATION: INITIALIZED UNINITIALIZED
CODE SIZE = 72 --------
NEAR-CONST SIZE = -------- --------
FAR-CONST SIZE = -------- --------
HUGE-CONST SIZE = -------- --------
XHUGE-CONST SIZE = -------- --------
NEAR-DATA SIZE = -------- --------
FAR-DATA SIZE = -------- --------
XHUGE-DATA SIZE = -------- --------
IDATA-DATA SIZE = -------- --------
SDATA-DATA SIZE = -------- --------
BDATA-DATA SIZE = -------- --------
HUGE-DATA SIZE = -------- --------
BIT SIZE = -------- --------
INIT'L SIZE = -------- --------
END OF MODULE INFORMATION.
C166 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -