?? main.lst
字號:
183 3 memset(&cRecvBuff[cRecvBuffPtr][0],0x00,RECV_LENGTH);
184 3 cRecvBuffPtr = (cRecvBuffPtr + 1) % RECV_GRUOP;
185 3 cRecvBuffCnt --;
186 3 }
187 2 else
188 2 os_wait(K_TMO, T10MS, 0x00);
189 2 }
190 1
191 1 }
192 /*===============================================================
193 功能:
194 參數:
195 返回:
196 說明:
197 ===============================================================*/
198 void Led1_Delay_Task(void) _task_ LED1DELAY_TASK_ID
199 {
200 1 CALL_IN1_LED = 0;
201 1 AUDIO_C1 = TURN_ON;
202 1 Set_Vfd_Brightless(8);
203 1 os_wait2(K_TMO, T1S);
204 1 AUDIO_C1 = TURN_OFF;
205 1 os_wait2(K_TMO, T1S);
206 1 os_wait2(K_TMO, T1S);
207 1 os_wait2(K_TMO, T1S);
208 1 CALL_IN1_LED = 1;
209 1 AUDIO_C1 = TURN_OFF;
210 1 Set_Vfd_Brightless(1);
211 1 os_delete_task(LED1DELAY_TASK_ID);
212 1 }
213
214 /*===============================================================
215 功能:
216 參數:
217 返回:
218 說明:
219 ===============================================================*/
220 void Led2_Delay_Task(void) _task_ LED2DELAY_TASK_ID
221 {
222 1 CALL_IN2_LED = 0;
223 1 AUDIO_C2 = TURN_ON;
224 1 Set_Vfd_Brightless(8);
225 1 os_wait2(K_TMO, T1S);
226 1 AUDIO_C2 = TURN_OFF;
227 1 os_wait2(K_TMO, T1S);
228 1 os_wait2(K_TMO, T1S);
229 1 os_wait2(K_TMO, T1S);
230 1 CALL_IN2_LED = 1;
231 1 AUDIO_C2 = TURN_OFF;
232 1 Set_Vfd_Brightless(1);
233 1 os_delete_task(LED2DELAY_TASK_ID);
234 1 }
235 /*===============================================================
236 功能:判斷是否有音頻
237 參數:
238 返回:
239 說明:
240 ===============================================================*/
241 void Information_Task(void) _task_ INFO_TASK_ID
C51 COMPILER V7.10 MAIN 11/09/2006 11:10:16 PAGE 5
242 {
243 1 static uchar cAudioCnt1 = 0,cAudioCnt2 = 0;
244 1 static uchar cNoAudioCnt1 = 0,cNoAudioCnt2 = 0;
245 1
246 1 os_wait(K_TMO, T1S, 0x00);
247 1
248 1 while(1)
249 1 {
250 2 os_wait(K_TMO, T10MS, 0x00);
251 2 //判斷第一通道
252 2 if(!SPK_D1)
253 2 cAudioCnt1++;
254 2 else
255 2 cNoAudioCnt1++;
256 2 if(cNoAudioCnt1 > 40)
257 2 {
258 3 cAudioCnt1 = 0x00;
259 3 cNoAudioCnt1 = 0x00;
260 3 }
261 2 if(cAudioCnt1 >= 1)
262 2 {
263 3 cAudioCnt1 = 0x00;
264 3 cNoAudioCnt1 = 0x00;
265 3 os_delete_task(LED1DELAY_TASK_ID);
266 3 os_create_task(LED1DELAY_TASK_ID);
267 3 }
268 2 //判斷第二通道
269 2 if(!SPK_D2)
270 2 cAudioCnt2++;
271 2 else
272 2 cNoAudioCnt2++;
273 2 if(cNoAudioCnt2 > 40)
274 2 {
275 3 cAudioCnt2 = 0x00;
276 3 cNoAudioCnt2 = 0x00;
277 3 }
278 2 if(cAudioCnt2 >= 1)
279 2 {
280 3 cAudioCnt2 = 0x00;
281 3 cNoAudioCnt2 = 0x00;
282 3 os_delete_task(LED2DELAY_TASK_ID);
283 3 os_create_task(LED2DELAY_TASK_ID);
284 3 }
285 2 }
286 1 }
287 /*===============================================================
288 功能:復位CPU
289 參數:
290 返回:
291 說明:
292 ===============================================================*/
293 void Restart_Cpu(void)
294 {
295 1 WDKEY = 0xAE;
296 1 WDRST = 0x01;
297 1 while(1);
298 1 }
299 /*===============================================================
300 功能:完成定時操作
301 參數:
302 返回:
303 說明:10毫秒內判斷一次I2C總線,若一秒中內有80次總線忙則
C51 COMPILER V7.10 MAIN 11/09/2006 11:10:16 PAGE 6
304 復位總線
305 ===============================================================*/
306 void Timer_Task(void) _task_ TIMER_TASK_ID
307 {
308 1 static uchar xdata _ui = 0x00;
309 1
310 1 while(1)
311 1 {
312 2 os_wait(K_TMO, T10MS, 0x00);
313 2 WDRST = 0x00; //喂狗
314 2 _ui++;
315 2
316 2 if(_ui == 50)
317 2 {
318 3 LED_RUN ^= 1;
319 3 _ui = 0x00;
320 3 }
321 2 }
322 1 }
323
324 /*===============================================================
325 功能:調用初始化函數并啟動所有任務
326 參數:無
327 返回:無
328 說明:系統時間間隔為10ms
329 ===============================================================*/
330 void Init_Task(void) _task_ INIT_TASK_ID
331 {
332 1 Init_System();
333 1
334 1 //os_create_task(SRECV_TASK_ID);
335 1 os_create_task(STRAN_TASK_ID);
336 1 os_create_task(CMMD_TASK_ID);
337 1 os_create_task(INFO_TASK_ID);
338 1 os_create_task(TIMER_TASK_ID);
339 1 os_create_task(DEBUG_TASK_ID);
340 1 os_delete_task(INIT_TASK_ID);
341 1 }
342 /*===============================================================
343 功能:主函數,啟動任務
344 參數:無
345 返回:無
346 說明:
347 ===============================================================*/
348 void main(void)
349 {
350 1 os_start_system(INIT_TASK_ID);
351 1 }
352 /*===============================================================
353 功能:
354 參數:
355 返回:
356 說明:
357 ===============================================================*/
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1671 ----
CONSTANT SIZE = 874 ----
XDATA SIZE = 30 ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
C51 COMPILER V7.10 MAIN 11/09/2006 11:10:16 PAGE 7
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -