📄 asc0.lst
字号:
158 1 ASC0_TXFCON = 0x0403; // load ASC0 transmit FIFO control register
159 1
160 1 /// -----------------------------------------------------------------------
161 1 /// Configuration of the used ASC0 Port Pins:
162 1 /// -----------------------------------------------------------------------
163 1 /// - P3.10 is used for ASC0 Transmit Data Output (TxDA0)
164 1 /// - P3.11 is used for ASC0 Receive data Input (RxDA0)
165 1
166 1 ALTSEL0P3 |= 0x0400; // select alternate output function
167 1 P3 = (P3 & ~(uword)0x0400) | 0x0400; //set data register
168 1 DP3 = (DP3 & ~(uword)0x0400) | 0x0400; //set direction register
169 1
170 1 /// -----------------------------------------------------------------------
171 1 /// Configuration of the used ASC0 Interrupts:
172 1 /// -----------------------------------------------------------------------
173 1 /// Rx service request node configuration:
174 1 /// - Rx interrupt priority level (ILVL) = 13
175 1 /// - Rx interrupt group level (GLVL) = 0
176 1 /// - Rx group priority extension (GPX) = 0
177 1
178 1 ASC0_RIC = 0x0074;
179 1
C166 COMPILER V6.04, ASC0 08/28/2007 17:10:18 PAGE 4
180 1
181 1 // USER CODE BEGIN (ASC0_Function,3)
182 1
183 1 // USER CODE END
184 1
185 1 ASC0_CON |= 0x8000; // enable baud rate generator
186 1
187 1
188 1 } // End of function ASC0_vInit
189
190
191 //****************************************************************************
192 // @Function void ASC0_vSendData(uword uwData)
193 //
194 //----------------------------------------------------------------------------
195 // @Description This function writes a send data initialization word into
196 // the transmit buffer register.
197 //
198 // Note:
199 // In a multiprocessor system the master with this function
200 // has the possibility to send data to the selected slave. To
201 // achieve this, the 9th bit must set on zero.
202 //
203 //----------------------------------------------------------------------------
204 // @Returnvalue None
205 //
206 //----------------------------------------------------------------------------
207 // @Parameters uwData:
208 // Data to be send
209 //
210 //----------------------------------------------------------------------------
211 // @Date 2007-5-29
212 //
213 //****************************************************************************
214
215 // USER CODE BEGIN (SendData,1)
216
217 // USER CODE END
218
219 void ASC0_vSendData(uword uwData)
220 {
221 1 ASC0_TBIC_IR = 0; // reset transmit buffer interrupt request
222 1 ASC0_TBUF = uwData; // load transmit buffer register
223 1
224 1 } // End of function ASC0_vSendData
225
226
227 //****************************************************************************
228 // @Function uword ASC0_uwGetData(void)
229 //
230 //----------------------------------------------------------------------------
231 // @Description This function reads out the content of the receive buffer
232 // register which contains the received data.
233 //
234 //----------------------------------------------------------------------------
235 // @Returnvalue data that has been received
236 //
237 //----------------------------------------------------------------------------
238 // @Parameters None
239 //
240 //----------------------------------------------------------------------------
241 // @Date 2007-5-29
C166 COMPILER V6.04, ASC0 08/28/2007 17:10:18 PAGE 5
242 //
243 //****************************************************************************
244
245 // USER CODE BEGIN (GetData,1)
246
247 // USER CODE END
248
249 uword ASC0_uwGetData(void)
250 {
251 1 return(ASC0_RBUF); // return receive buffer register
252 1
253 1 } // End of function ASC0_uwGetData
254
255
256 //****************************************************************************
257 // @Function void ASC0_viRx(void)
258 //
259 //----------------------------------------------------------------------------
260 // @Description This is the receive interrupt service routine for the ASC0.
261 // It is called if the data has been received.
262 // Please note that you have to add application specific code
263 // to this function.
264 //
265 //----------------------------------------------------------------------------
266 // @Returnvalue None
267 //
268 //----------------------------------------------------------------------------
269 // @Parameters None
270 //
271 //----------------------------------------------------------------------------
272 // @Date 2007-5-29
273 //
274 //****************************************************************************
275
276 // USER CODE BEGIN (Rx,1)
277
278 // USER CODE END
279
280 void ASC0_viRx(void) interrupt ASC0_RINT
281 {
282 1
283 1 // USER CODE BEGIN (Rx,2)
284 1 uword data; // 定义接收变量
285 1 data=ASC0_uwGetData(); // 读取数据
286 1 ASC0_vSendData(data+1); // 发送修改后的数据
287 1
288 1 // USER CODE END
289 1
290 1 } // End of function ASC0_viRx
291
292
293
294
295 // USER CODE BEGIN (ASC0_General,10)
296
297 // USER CODE END
298
MODULE INFORMATION: INITIALIZED UNINITIALIZED
CODE SIZE = 100 --------
NEAR-CONST SIZE = -------- --------
C166 COMPILER V6.04, ASC0 08/28/2007 17:10:18 PAGE 6
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 + -