📄 main.lst
字号:
299:./common/lib_AT91SAM7A3.h **** pPDC->PDC_PTCR = AT91C_PDC_RXTDIS;
300:./common/lib_AT91SAM7A3.h **** }
301:./common/lib_AT91SAM7A3.h ****
302:./common/lib_AT91SAM7A3.h **** //*----------------------------------------------------------------------------
303:./common/lib_AT91SAM7A3.h **** //* \fn AT91F_PDC_IsTxEmpty
304:./common/lib_AT91SAM7A3.h **** //* \brief Test if the current transfer descriptor has been sent
305:./common/lib_AT91SAM7A3.h **** //*----------------------------------------------------------------------------
306:./common/lib_AT91SAM7A3.h **** __inline int AT91F_PDC_IsTxEmpty ( // \return return 1 if transfer is complete
307:./common/lib_AT91SAM7A3.h **** AT91PS_PDC pPDC ) // \arg pointer to a PDC controller
308:./common/lib_AT91SAM7A3.h **** {
309:./common/lib_AT91SAM7A3.h **** return !(pPDC->PDC_TCR);
310:./common/lib_AT91SAM7A3.h **** }
311:./common/lib_AT91SAM7A3.h ****
312:./common/lib_AT91SAM7A3.h **** //*----------------------------------------------------------------------------
313:./common/lib_AT91SAM7A3.h **** //* \fn AT91F_PDC_IsNextTxEmpty
314:./common/lib_AT91SAM7A3.h **** //* \brief Test if the next transfer descriptor has been moved to the current td
315:./common/lib_AT91SAM7A3.h **** //*----------------------------------------------------------------------------
316:./common/lib_AT91SAM7A3.h **** __inline int AT91F_PDC_IsNextTxEmpty ( // \return return 1 if transfer is complete
317:./common/lib_AT91SAM7A3.h **** AT91PS_PDC pPDC ) // \arg pointer to a PDC controller
318:./common/lib_AT91SAM7A3.h **** {
319:./common/lib_AT91SAM7A3.h **** return !(pPDC->PDC_TNCR);
320:./common/lib_AT91SAM7A3.h **** }
321:./common/lib_AT91SAM7A3.h ****
322:./common/lib_AT91SAM7A3.h **** //*----------------------------------------------------------------------------
323:./common/lib_AT91SAM7A3.h **** //* \fn AT91F_PDC_IsRxEmpty
324:./common/lib_AT91SAM7A3.h **** //* \brief Test if the current transfer descriptor has been filled
325:./common/lib_AT91SAM7A3.h **** //*----------------------------------------------------------------------------
326:./common/lib_AT91SAM7A3.h **** __inline int AT91F_PDC_IsRxEmpty ( // \return return 1 if transfer is complete
327:./common/lib_AT91SAM7A3.h **** AT91PS_PDC pPDC ) // \arg pointer to a PDC controller
328:./common/lib_AT91SAM7A3.h **** {
329:./common/lib_AT91SAM7A3.h **** return !(pPDC->PDC_RCR);
330:./common/lib_AT91SAM7A3.h **** }
331:./common/lib_AT91SAM7A3.h ****
332:./common/lib_AT91SAM7A3.h **** //*----------------------------------------------------------------------------
333:./common/lib_AT91SAM7A3.h **** //* \fn AT91F_PDC_IsNextRxEmpty
334:./common/lib_AT91SAM7A3.h **** //* \brief Test if the next transfer descriptor has been moved to the current td
335:./common/lib_AT91SAM7A3.h **** //*----------------------------------------------------------------------------
336:./common/lib_AT91SAM7A3.h **** __inline int AT91F_PDC_IsNextRxEmpty ( // \return return 1 if transfer is complete
337:./common/lib_AT91SAM7A3.h **** AT91PS_PDC pPDC ) // \arg pointer to a PDC controller
338:./common/lib_AT91SAM7A3.h **** {
339:./common/lib_AT91SAM7A3.h **** return !(pPDC->PDC_RNCR);
340:./common/lib_AT91SAM7A3.h **** }
341:./common/lib_AT91SAM7A3.h ****
342:./common/lib_AT91SAM7A3.h **** //*----------------------------------------------------------------------------
343:./common/lib_AT91SAM7A3.h **** //* \fn AT91F_PDC_Open
344:./common/lib_AT91SAM7A3.h **** //* \brief Open PDC: disable TX and RX reset transfer descriptors, re-enable RX and TX
345:./common/lib_AT91SAM7A3.h **** //*----------------------------------------------------------------------------
346:./common/lib_AT91SAM7A3.h **** __inline void AT91F_PDC_Open (
347:./common/lib_AT91SAM7A3.h **** AT91PS_PDC pPDC) // \arg pointer to a PDC controller
348:./common/lib_AT91SAM7A3.h **** {
349:./common/lib_AT91SAM7A3.h **** //* Disable the RX and TX PDC transfer requests
350:./common/lib_AT91SAM7A3.h **** AT91F_PDC_DisableRx(pPDC);
351:./common/lib_AT91SAM7A3.h **** AT91F_PDC_DisableTx(pPDC);
352:./common/lib_AT91SAM7A3.h ****
353:./common/lib_AT91SAM7A3.h **** //* Reset all Counter register Next buffer first
354:./common/lib_AT91SAM7A3.h **** AT91F_PDC_SetNextTx(pPDC, (char *) 0, 0);
355:./common/lib_AT91SAM7A3.h **** AT91F_PDC_SetNextRx(pPDC, (char *) 0, 0);
356:./common/lib_AT91SAM7A3.h **** AT91F_PDC_SetTx(pPDC, (char *) 0, 0);
357:./common/lib_AT91SAM7A3.h **** AT91F_PDC_SetRx(pPDC, (char *) 0, 0);
358:./common/lib_AT91SAM7A3.h ****
359:./common/lib_AT91SAM7A3.h **** //* Enable the RX and TX PDC transfer requests
360:./common/lib_AT91SAM7A3.h **** AT91F_PDC_EnableRx(pPDC);
361:./common/lib_AT91SAM7A3.h **** AT91F_PDC_EnableTx(pPDC);
362:./common/lib_AT91SAM7A3.h **** }
363:./common/lib_AT91SAM7A3.h ****
364:./common/lib_AT91SAM7A3.h **** //*----------------------------------------------------------------------------
365:./common/lib_AT91SAM7A3.h **** //* \fn AT91F_PDC_Close
366:./common/lib_AT91SAM7A3.h **** //* \brief Close PDC: disable TX and RX reset transfer descriptors
367:./common/lib_AT91SAM7A3.h **** //*----------------------------------------------------------------------------
368:./common/lib_AT91SAM7A3.h **** __inline void AT91F_PDC_Close (
369:./common/lib_AT91SAM7A3.h **** AT91PS_PDC pPDC) // \arg pointer to a PDC controller
370:./common/lib_AT91SAM7A3.h **** {
371:./common/lib_AT91SAM7A3.h **** //* Disable the RX and TX PDC transfer requests
372:./common/lib_AT91SAM7A3.h **** AT91F_PDC_DisableRx(pPDC);
373:./common/lib_AT91SAM7A3.h **** AT91F_PDC_DisableTx(pPDC);
374:./common/lib_AT91SAM7A3.h ****
375:./common/lib_AT91SAM7A3.h **** //* Reset all Counter register Next buffer first
376:./common/lib_AT91SAM7A3.h **** AT91F_PDC_SetNextTx(pPDC, (char *) 0, 0);
377:./common/lib_AT91SAM7A3.h **** AT91F_PDC_SetNextRx(pPDC, (char *) 0, 0);
378:./common/lib_AT91SAM7A3.h **** AT91F_PDC_SetTx(pPDC, (char *) 0, 0);
379:./common/lib_AT91SAM7A3.h **** AT91F_PDC_SetRx(pPDC, (char *) 0, 0);
380:./common/lib_AT91SAM7A3.h ****
381:./common/lib_AT91SAM7A3.h **** }
382:./common/lib_AT91SAM7A3.h ****
383:./common/lib_AT91SAM7A3.h **** //*----------------------------------------------------------------------------
384:./common/lib_AT91SAM7A3.h **** //* \fn AT91F_PDC_SendFrame
385:./common/lib_AT91SAM7A3.h **** //* \brief Close PDC: disable TX and RX reset transfer descriptors
386:./common/lib_AT91SAM7A3.h **** //*----------------------------------------------------------------------------
387:./common/lib_AT91SAM7A3.h **** __inline unsigned int AT91F_PDC_SendFrame(
388:./common/lib_AT91SAM7A3.h **** AT91PS_PDC pPDC,
389:./common/lib_AT91SAM7A3.h **** char *pBuffer,
390:./common/lib_AT91SAM7A3.h **** unsigned int szBuffer,
391:./common/lib_AT91SAM7A3.h **** char *pNextBuffer,
392:./common/lib_AT91SAM7A3.h **** unsigned int szNextBuffer )
393:./common/lib_AT91SAM7A3.h **** {
394:./common/lib_AT91SAM7A3.h **** if (AT91F_PDC_IsTxEmpty(pPDC)) {
395:./common/lib_AT91SAM7A3.h **** //* Buffer and next buffer can be initialized
396:./common/lib_AT91SAM7A3.h **** AT91F_PDC_SetTx(pPDC, pBuffer, szBuffer);
397:./common/lib_AT91SAM7A3.h **** AT91F_PDC_SetNextTx(pPDC, pNextBuffer, szNextBuffer);
398:./common/lib_AT91SAM7A3.h **** return 2;
399:./common/lib_AT91SAM7A3.h **** }
400:./common/lib_AT91SAM7A3.h **** else if (AT91F_PDC_IsNextTxEmpty(pPDC)) {
401:./common/lib_AT91SAM7A3.h **** //* Only one buffer can be initialized
402:./common/lib_AT91SAM7A3.h **** AT91F_PDC_SetNextTx(pPDC, pBuffer, szBuffer);
403:./common/lib_AT91SAM7A3.h **** return 1;
404:./common/lib_AT91SAM7A3.h **** }
405:./common/lib_AT91SAM7A3.h **** else {
406:./common/lib_AT91SAM7A3.h **** //* All buffer are in use...
407:./common/lib_AT91SAM7A3.h **** return 0;
408:./common/lib_AT91SAM7A3.h **** }
409:./common/lib_AT91SAM7A3.h **** }
410:./common/lib_AT91SAM7A3.h ****
411:./common/lib_AT91SAM7A3.h **** //*----------------------------------------------------------------------------
412:./common/lib_AT91SAM7A3.h **** //* \fn AT91F_PDC_ReceiveFrame
413:./common/lib_AT91SAM7A3.h **** //* \brief Close PDC: disable TX and RX reset transfer descriptors
414:./common/lib_AT91SAM7A3.h **** //*----------------------------------------------------------------------------
415:./common/lib_AT91SAM7A3.h **** __inline unsigned int AT91F_PDC_ReceiveFrame (
416:./common/lib_AT91SAM7A3.h **** AT91PS_PDC pPDC,
417:./common/lib_AT91SAM7A3.h **** char *pBuffer,
418:./common/lib_AT91SAM7A3.h **** unsigned int szBuffer,
419:./common/lib_AT91SAM7A3.h **** char *pNextBuffer,
420:./common/lib_AT91SAM7A3.h **** unsigned int szNextBuffer )
421:./common/lib_AT91SAM7A3.h **** {
422:./common/lib_AT91SAM7A3.h **** if (AT91F_PDC_IsRxEmpty(pPDC)) {
423:./common/lib_AT91SAM7A3.h **** //* Buffer and next buffer can be initialized
424:./common/lib_AT91SAM7A3.h **** AT91F_PDC_SetRx(pPDC, pBuffer, szBuffer);
425:./common/lib_AT91SAM7A3.h **** AT91F_PDC_SetNextRx(pPDC, pNextBuffer, szNextBuffer);
426:./common/lib_AT91SAM7A3.h **** return 2;
427:./common/lib_AT91SAM7A3.h **** }
428:./common/lib_AT91SAM7A3.h **** else if (AT91F_PDC_IsNextRxEmpty(pPDC)) {
429:./common/lib_AT91SAM7A3.h **** //* Only one buffer can be initialized
430:./common/lib_AT91SAM7A3.h **** AT91F_PDC_SetNextRx(pPDC, pBuffer, szBuffer);
431:./common/lib_AT91SAM7A3.h **** return 1;
432:./common/lib_AT91SAM7A3.h **** }
433:./common/lib_AT91SAM7A3.h **** else {
434:./common/lib_AT91SAM7A3.h **** //* All buffer are in use...
435:./common/lib_AT91SAM7A3.h **** return 0;
436:./common/lib_AT91SAM7A3.h **** }
437:./common/lib_AT91SAM7A3.h **** }
438:./common/lib_AT91SAM7A3.h **** /* *****************************************************************************
439:./common/lib_AT91SAM7A3.h **** SOFTWARE API FOR DBGU
440:./common/lib_AT91SAM7A3.h **** ***************************************************************************** */
441:./common/lib_AT91SAM7A3.h **** //*----------------------------------------------------------------------------
442:./common/lib_AT91SAM7A3.h **** //* \fn AT91F_DBGU_InterruptEnable
443:./common/lib_AT91SAM7A3.h **** //* \brief Enable DBGU Interrupt
444:./common/lib_AT91SAM7A3.h **** //*----------------------------------------------------------------------------
445:./common/lib_AT91SAM7A3.h **** __inline void AT91F_DBGU_InterruptEnable(
446:./common/lib_AT91SAM7A3.h **** AT91PS_DBGU pDbgu, // \arg pointer to a DBGU controller
447:./common/lib_AT91SAM7A3.h **** unsigned int flag) // \arg dbgu interrupt to be enabled
448:./common/lib_AT91SAM7A3.h **** {
449:./common/lib_AT91SAM7A3.h **** pDbgu->DBGU_IER = flag;
450:./common/lib_AT91SAM7A3.h **** }
451:./common/lib_AT91SAM7A3.h ****
452:./common/lib_AT91SAM7A3.h **** //*----------------------------------------------------------------------------
453:./common/lib_AT91SAM7A3.h **** //* \fn AT91F_DBGU_InterruptDisable
454:./common/lib_AT91SAM7A3.h **** //* \brief Disable DBGU Interrupt
455:./common/lib_AT91SAM7A3.h **** //*----------------------------------------------------------------------------
456:./common/lib_AT91SAM7A3.h **** __inline void AT91F_DBGU_InterruptDisable(
457:./common/lib_AT91SAM7A3.h **** AT91PS_DBGU pDbgu, // \arg pointer to a DBGU controller
458:./common/lib_AT91SAM7A3.h **** unsigned int flag) // \arg dbgu interrupt to be disabled
459:./common/lib_AT91SAM7A3.h **** {
460:./common/lib_AT91SAM7A3.h **** pDbgu->DBGU_IDR = flag;
461:./common/lib_AT91SAM7A3.h **** }
462:./common/lib_AT91SAM7A3.h ****
463:./common/lib_AT91SAM7A3.h **** //*----------------------------------------------------------------------------
464:./common/lib_AT91SAM7A3.h **** //* \fn AT91F_DBGU_GetInterruptMaskStatus
465:./common/lib_AT91SAM7A3.h **** //* \brief Return DBGU Interrupt Mask Status
466:./common/lib_AT91SAM7A3.h **** //*----------------------------------------------------------------------------
467:./common/lib_AT91SAM7A3.h **** __inline unsigned int AT91F_DBGU_GetInterruptMaskStatus( // \return DBGU Interrupt Mask Status
468:./common/lib_AT91SAM7A3.h **** AT91PS_DBGU pDbgu) // \arg pointer to a DBGU controller
469:./common/lib_AT91SAM7A3.h **** {
470:./common/lib_AT91SAM7A3.h **** return pDbgu->DBGU_IMR;
471:./common/lib_AT91SAM7A3.h **** }
472:./common/lib_AT91SAM7A3.h ****
473:./common/lib_AT91SAM7A3.h **** //*----------------------------------------------------------------------------
474:./common/lib_AT91SAM7A3.h **** //* \fn AT91F_DBGU_IsInterruptMasked
475:./common/lib_AT91SAM7A3.h **** //* \brief Test if DBGU Interrupt is Masked
476:./common/lib_AT91SAM7A3.h **** //*----------------------------------------------------------------------------
477:./common/lib_AT91SAM7A3.h **** __inline int AT91F_DBGU_IsInterruptMasked(
478:./common/lib_AT91SAM7A3.h **** AT91PS_DBGU pDbgu, // \arg pointer to a DBGU controller
479:./common/lib_AT91SAM7A3.h **** unsigned int flag) // \arg flag to be tested
480:./common/lib_AT91SAM7A3.h **** {
481:./common/lib_AT91SAM7A3.h **** return (AT91F_DBGU_GetInterruptMaskStatus(pDbgu) & flag);
482:./common/lib_AT91SAM7A3.h **** }
483:./common/lib_AT91SAM7A3.h ****
484:./common/lib_AT91SAM7A3.h **** /* *****************************************************************************
485:./common/lib_AT91SAM7A3.h **** SOFTWARE API FOR PIO
486:./common/lib_AT91SAM7A3.h **** ***************************************************************************** */
487:./common/lib_AT91SAM7A3.h **** //*----------------------------------------------------------------------------
488:./common/lib_AT91SAM7A3.h **** //* \fn AT91F_PIO_CfgPeriph
489:./common/lib_AT91SAM7A3.h **** //* \brief Enable pins to be drived by peripheral
490:./common/lib_AT91SAM7A3.h **** //*----------------------------------------------------------------------------
491:./common/lib_AT91SAM7A3.h **** __inline void AT91F_PIO_CfgPeriph(
492:./common/lib_AT91SAM7A3.h **** AT91PS_PIO pPio, // \arg pointer to a PIO controller
493:./common/lib_AT91SAM7A3.h **** unsigned int periphAEnable, // \arg PERIPH A to enable
494:./common/lib_AT91SAM7A3.h **** unsigned int periphBEnable) // \arg PERIPH B to enable
495:./common/lib_AT91SAM7A3.h ****
496:./common/lib_AT91SAM7A3.h **** {
497:./common/lib_AT91SAM7A3.h **** pPio->PIO_ASR = periphAEnable;
498:./common/lib_AT91SAM7A3.h **** pPio->PIO_BSR = periphBEnable;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -