📄 main.lst
字号:
174 1 /// Initialization of the SYSCON1 Register:
175 1 /// ---------------------------------------------------------------------
176 1 /// clock prescaler for system is fpll / 1
177 1
178 1 //// this register must be set in the start-up file
179 1 //// SYSCON1 = 0x0000
C166 COMPILER V6.04, MAIN 09/08/2007 14:27:19 PAGE 4
180 1
181 1 /// ---------------------------------------------------------------------
182 1 /// Initialization of the SYSCON3 Register:
183 1 /// ---------------------------------------------------------------------
184 1
185 1 //// this register must be set in the start-up file
186 1 //// SYSCON3 = 0x0000
187 1
188 1 /// ---------------------------------------------------------------------
189 1 /// Initialization of EBC
190 1 /// ---------------------------------------------------------------------
191 1
192 1 //// this register must be set in the start-up file
193 1 //// EBCMOD1 = 0x007F
194 1
195 1 /// EBC is disabled
196 1 //// -----------------------------------------------------------------------
197 1 //// End of Important Settings for the Start-Up File
198 1 //// -----------------------------------------------------------------------
199 1
200 1
201 1 // -----------------------------------------------------------------------
202 1 // Initialization of the Peripherals:
203 1 // -----------------------------------------------------------------------
204 1
205 1 // initializes the TwinCAN Module (CAN)
206 1 CAN_vInit();
207 1
208 1 // USER CODE BEGIN (Init,3)
209 1
210 1 // USER CODE END
211 1
212 1 // globally enable interrupts
213 1 PSW_IEN = 1;
214 1
215 1 } // End of function MAIN_vInit
216
217
218 //****************************************************************************
219 // @Function void MAIN_vUnlockProtecReg(void)
220 //
221 //----------------------------------------------------------------------------
222 // @Description This function makes it possible to write one protected
223 // register. After calling of this function and write on the
224 // protected register is the security level set to low
225 // protected mode.
226 //
227 //----------------------------------------------------------------------------
228 // @Returnvalue None
229 //
230 //----------------------------------------------------------------------------
231 // @Parameters None
232 //
233 //----------------------------------------------------------------------------
234 // @Date 2007-5-25
235 //
236 //****************************************************************************
237
238 // USER CODE BEGIN (UnlockProtecReg,1)
239
240 // USER CODE END
241
C166 COMPILER V6.04, MAIN 09/08/2007 14:27:19 PAGE 5
242 void MAIN_vUnlockProtecReg(void)
243 {
244 1 uword ubPASSWORD;
245 1
246 1 if((SCUSLS & 0x1800) == 0x0800) // if low protected mode
247 1 {
248 2
249 2 ubPASSWORD = SCUSLS & 0x00FF;
250 2 ubPASSWORD = ~ubPASSWORD;
251 2 SCUSLC = 0x8E00 | ubPASSWORD; // command 4
252 2
253 2 } // end if low protected mode
254 1
255 1 if((SCUSLS & 0x1800) == 0x1800) // if write protected mode
256 1 {
257 2 SCUSLC = 0xAAAA; // command 0
258 2 SCUSLC = 0x5554; // command 1
259 2
260 2 ubPASSWORD = SCUSLS & 0x00FF;
261 2 ubPASSWORD = ~ubPASSWORD;
262 2
263 2 SCUSLC = 0x9600 | ubPASSWORD; // command 2
264 2 SCUSLC = 0x0800; // command 3; new PASSWOR is 0x00
265 2
266 2 ubPASSWORD = SCUSLS & 0x00FF;
267 2 ubPASSWORD = ~ubPASSWORD;
268 2 SCUSLC = 0x8E00 | ubPASSWORD; // command 4
269 2
270 2 } // end if write protected mode
271 1
272 1 } // End of function MAIN_vUnlockProtecReg
273
274
275 //****************************************************************************
276 // @Function void main(void)
277 //
278 //----------------------------------------------------------------------------
279 // @Description This is the main function.
280 //
281 //----------------------------------------------------------------------------
282 // @Returnvalue None
283 //
284 //----------------------------------------------------------------------------
285 // @Parameters None
286 //
287 //----------------------------------------------------------------------------
288 // @Date 2007-5-25
289 //
290 //****************************************************************************
291
292 // USER CODE BEGIN (Main,1)
293 ubyte Data[8]="HELLO"; //发送的数据
294
295 TCAN_SWObj SW_MO; //读取时存放变量
296 unsigned int i;
297 // USER CODE END
298
299 void main(void)
300 {
301 1 // USER CODE BEGIN (Main,2)
302 1
303 1 // USER CODE END
C166 COMPILER V6.04, MAIN 09/08/2007 14:27:19 PAGE 6
304 1
305 1 MAIN_vInit();
306 1
307 1 // USER CODE BEGIN (Main,4)
308 1 while(1)
309 1 {
310 2 if(CAN_ubRequestMsgObj(0)) //判断是否可以对Obj0操作
311 2 {
312 3 CAN_vLoadData(0,Data); //更新Obj0的数据
313 3 CAN_vTransmit(0); //Obj0发送
314 3 CAN_vGetMsgObj(1, &SW_MO); //Obj1接收
315 3 }
316 2 for(i=0;i<50000;i++);
317 2 for(i=0;i<50000;i++);
318 2 for(i=0;i<50000;i++);
319 2
320 2 }
321 1 // USER CODE END
322 1
323 1 } // End of function main
324
325
326
327 // USER CODE BEGIN (MAIN_General,10)
328
329 // USER CODE END
330
MODULE INFORMATION: INITIALIZED UNINITIALIZED
CODE SIZE = 222 --------
NEAR-CONST SIZE = -------- --------
FAR-CONST SIZE = -------- --------
HUGE-CONST SIZE = -------- --------
XHUGE-CONST SIZE = -------- --------
NEAR-DATA SIZE = 30 --------
FAR-DATA SIZE = -------- --------
XHUGE-DATA SIZE = -------- --------
IDATA-DATA SIZE = -------- --------
SDATA-DATA SIZE = -------- --------
BDATA-DATA SIZE = -------- --------
HUGE-DATA SIZE = -------- --------
BIT SIZE = -------- --------
INIT'L SIZE = 12 --------
END OF MODULE INFORMATION.
C166 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -