⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 interrupt_usart.lst

📁 高性能USB转串口(可高达10Mbps)完整的源代码
💻 LST
📖 第 1 页 / 共 5 页
字号:
 314:../../include/lib_AT91SAM7S256.h **** __inline int AT91F_PDC_IsNextTxEmpty ( // \return return 1 if transfer is complete
 315:../../include/lib_AT91SAM7S256.h **** 	AT91PS_PDC pPDC )       // \arg pointer to a PDC controller
 316:../../include/lib_AT91SAM7S256.h **** {
 317:../../include/lib_AT91SAM7S256.h **** 	return !(pPDC->PDC_TNCR);
 318:../../include/lib_AT91SAM7S256.h **** }
 319:../../include/lib_AT91SAM7S256.h **** 
 320:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
 321:../../include/lib_AT91SAM7S256.h **** //* \fn    AT91F_PDC_IsRxEmpty
 322:../../include/lib_AT91SAM7S256.h **** //* \brief Test if the current transfer descriptor has been filled
 323:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
 324:../../include/lib_AT91SAM7S256.h **** __inline int AT91F_PDC_IsRxEmpty ( // \return return 1 if transfer is complete
 325:../../include/lib_AT91SAM7S256.h **** 	AT91PS_PDC pPDC )       // \arg pointer to a PDC controller
 326:../../include/lib_AT91SAM7S256.h **** {
 327:../../include/lib_AT91SAM7S256.h **** 	return !(pPDC->PDC_RCR);
 328:../../include/lib_AT91SAM7S256.h **** }
 329:../../include/lib_AT91SAM7S256.h **** 
 330:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
 331:../../include/lib_AT91SAM7S256.h **** //* \fn    AT91F_PDC_IsNextRxEmpty
 332:../../include/lib_AT91SAM7S256.h **** //* \brief Test if the next transfer descriptor has been moved to the current td
 333:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
 334:../../include/lib_AT91SAM7S256.h **** __inline int AT91F_PDC_IsNextRxEmpty ( // \return return 1 if transfer is complete
 335:../../include/lib_AT91SAM7S256.h **** 	AT91PS_PDC pPDC )       // \arg pointer to a PDC controller
 336:../../include/lib_AT91SAM7S256.h **** {
 337:../../include/lib_AT91SAM7S256.h **** 	return !(pPDC->PDC_RNCR);
 338:../../include/lib_AT91SAM7S256.h **** }
 339:../../include/lib_AT91SAM7S256.h **** 
 340:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
 341:../../include/lib_AT91SAM7S256.h **** //* \fn    AT91F_PDC_Open
 342:../../include/lib_AT91SAM7S256.h **** //* \brief Open PDC: disable TX and RX reset transfer descriptors, re-enable RX and TX
 343:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
 344:../../include/lib_AT91SAM7S256.h **** __inline void AT91F_PDC_Open (
 345:../../include/lib_AT91SAM7S256.h **** 	AT91PS_PDC pPDC)       // \arg pointer to a PDC controller
 346:../../include/lib_AT91SAM7S256.h **** {
 347:../../include/lib_AT91SAM7S256.h ****     //* Disable the RX and TX PDC transfer requests
 348:../../include/lib_AT91SAM7S256.h **** 	AT91F_PDC_DisableRx(pPDC);
 349:../../include/lib_AT91SAM7S256.h **** 	AT91F_PDC_DisableTx(pPDC);
 350:../../include/lib_AT91SAM7S256.h **** 
 351:../../include/lib_AT91SAM7S256.h **** 	//* Reset all Counter register Next buffer first
 352:../../include/lib_AT91SAM7S256.h **** 	AT91F_PDC_SetNextTx(pPDC, (char *) 0, 0);
 353:../../include/lib_AT91SAM7S256.h **** 	AT91F_PDC_SetNextRx(pPDC, (char *) 0, 0);
 354:../../include/lib_AT91SAM7S256.h **** 	AT91F_PDC_SetTx(pPDC, (char *) 0, 0);
 355:../../include/lib_AT91SAM7S256.h **** 	AT91F_PDC_SetRx(pPDC, (char *) 0, 0);
 356:../../include/lib_AT91SAM7S256.h **** 
 357:../../include/lib_AT91SAM7S256.h ****     //* Enable the RX and TX PDC transfer requests
 358:../../include/lib_AT91SAM7S256.h **** 	AT91F_PDC_EnableRx(pPDC);
 359:../../include/lib_AT91SAM7S256.h **** 	AT91F_PDC_EnableTx(pPDC);
 360:../../include/lib_AT91SAM7S256.h **** }
 361:../../include/lib_AT91SAM7S256.h **** 
 362:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
 363:../../include/lib_AT91SAM7S256.h **** //* \fn    AT91F_PDC_Close
 364:../../include/lib_AT91SAM7S256.h **** //* \brief Close PDC: disable TX and RX reset transfer descriptors
 365:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
 366:../../include/lib_AT91SAM7S256.h **** __inline void AT91F_PDC_Close (
 367:../../include/lib_AT91SAM7S256.h **** 	AT91PS_PDC pPDC)       // \arg pointer to a PDC controller
 368:../../include/lib_AT91SAM7S256.h **** {
 369:../../include/lib_AT91SAM7S256.h ****     //* Disable the RX and TX PDC transfer requests
 370:../../include/lib_AT91SAM7S256.h **** 	AT91F_PDC_DisableRx(pPDC);
 371:../../include/lib_AT91SAM7S256.h **** 	AT91F_PDC_DisableTx(pPDC);
 372:../../include/lib_AT91SAM7S256.h **** 
 373:../../include/lib_AT91SAM7S256.h **** 	//* Reset all Counter register Next buffer first
 374:../../include/lib_AT91SAM7S256.h **** 	AT91F_PDC_SetNextTx(pPDC, (char *) 0, 0);
 375:../../include/lib_AT91SAM7S256.h **** 	AT91F_PDC_SetNextRx(pPDC, (char *) 0, 0);
 376:../../include/lib_AT91SAM7S256.h **** 	AT91F_PDC_SetTx(pPDC, (char *) 0, 0);
 377:../../include/lib_AT91SAM7S256.h **** 	AT91F_PDC_SetRx(pPDC, (char *) 0, 0);
 378:../../include/lib_AT91SAM7S256.h **** 
 379:../../include/lib_AT91SAM7S256.h **** }
 380:../../include/lib_AT91SAM7S256.h **** 
 381:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
 382:../../include/lib_AT91SAM7S256.h **** //* \fn    AT91F_PDC_SendFrame
 383:../../include/lib_AT91SAM7S256.h **** //* \brief Close PDC: disable TX and RX reset transfer descriptors
 384:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
 385:../../include/lib_AT91SAM7S256.h **** __inline unsigned int AT91F_PDC_SendFrame(
 386:../../include/lib_AT91SAM7S256.h **** 	AT91PS_PDC pPDC,
 387:../../include/lib_AT91SAM7S256.h **** 	char *pBuffer,
 388:../../include/lib_AT91SAM7S256.h **** 	unsigned int szBuffer,
 389:../../include/lib_AT91SAM7S256.h **** 	char *pNextBuffer,
 390:../../include/lib_AT91SAM7S256.h **** 	unsigned int szNextBuffer )
 391:../../include/lib_AT91SAM7S256.h **** {
 392:../../include/lib_AT91SAM7S256.h **** 	if (AT91F_PDC_IsTxEmpty(pPDC)) {
 393:../../include/lib_AT91SAM7S256.h **** 		//* Buffer and next buffer can be initialized
 394:../../include/lib_AT91SAM7S256.h **** 		AT91F_PDC_SetTx(pPDC, pBuffer, szBuffer);
 395:../../include/lib_AT91SAM7S256.h **** 		AT91F_PDC_SetNextTx(pPDC, pNextBuffer, szNextBuffer);
 396:../../include/lib_AT91SAM7S256.h **** 		return 2;
 397:../../include/lib_AT91SAM7S256.h **** 	}
 398:../../include/lib_AT91SAM7S256.h **** 	else if (AT91F_PDC_IsNextTxEmpty(pPDC)) {
 399:../../include/lib_AT91SAM7S256.h **** 		//* Only one buffer can be initialized
 400:../../include/lib_AT91SAM7S256.h **** 		AT91F_PDC_SetNextTx(pPDC, pBuffer, szBuffer);
 401:../../include/lib_AT91SAM7S256.h **** 		return 1;
 402:../../include/lib_AT91SAM7S256.h **** 	}
 403:../../include/lib_AT91SAM7S256.h **** 	else {
 404:../../include/lib_AT91SAM7S256.h **** 		//* All buffer are in use...
 405:../../include/lib_AT91SAM7S256.h **** 		return 0;
 406:../../include/lib_AT91SAM7S256.h **** 	}
 407:../../include/lib_AT91SAM7S256.h **** }
 408:../../include/lib_AT91SAM7S256.h **** 
 409:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
 410:../../include/lib_AT91SAM7S256.h **** //* \fn    AT91F_PDC_ReceiveFrame
 411:../../include/lib_AT91SAM7S256.h **** //* \brief Close PDC: disable TX and RX reset transfer descriptors
 412:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
 413:../../include/lib_AT91SAM7S256.h **** __inline unsigned int AT91F_PDC_ReceiveFrame (
 414:../../include/lib_AT91SAM7S256.h **** 	AT91PS_PDC pPDC,
 415:../../include/lib_AT91SAM7S256.h **** 	char *pBuffer,
 416:../../include/lib_AT91SAM7S256.h **** 	unsigned int szBuffer,
 417:../../include/lib_AT91SAM7S256.h **** 	char *pNextBuffer,
 418:../../include/lib_AT91SAM7S256.h **** 	unsigned int szNextBuffer )
 419:../../include/lib_AT91SAM7S256.h **** {
 420:../../include/lib_AT91SAM7S256.h **** 	if (AT91F_PDC_IsRxEmpty(pPDC)) {
 421:../../include/lib_AT91SAM7S256.h **** 		//* Buffer and next buffer can be initialized
 422:../../include/lib_AT91SAM7S256.h **** 		AT91F_PDC_SetRx(pPDC, pBuffer, szBuffer);
 423:../../include/lib_AT91SAM7S256.h **** 		AT91F_PDC_SetNextRx(pPDC, pNextBuffer, szNextBuffer);
 424:../../include/lib_AT91SAM7S256.h **** 		return 2;
 425:../../include/lib_AT91SAM7S256.h **** 	}
 426:../../include/lib_AT91SAM7S256.h **** 	else if (AT91F_PDC_IsNextRxEmpty(pPDC)) {
 427:../../include/lib_AT91SAM7S256.h **** 		//* Only one buffer can be initialized
 428:../../include/lib_AT91SAM7S256.h **** 		AT91F_PDC_SetNextRx(pPDC, pBuffer, szBuffer);
 429:../../include/lib_AT91SAM7S256.h **** 		return 1;
 430:../../include/lib_AT91SAM7S256.h **** 	}
 431:../../include/lib_AT91SAM7S256.h **** 	else {
 432:../../include/lib_AT91SAM7S256.h **** 		//* All buffer are in use...
 433:../../include/lib_AT91SAM7S256.h **** 		return 0;
 434:../../include/lib_AT91SAM7S256.h **** 	}
 435:../../include/lib_AT91SAM7S256.h **** }
 436:../../include/lib_AT91SAM7S256.h **** /* *****************************************************************************
 437:../../include/lib_AT91SAM7S256.h ****                 SOFTWARE API FOR DBGU
 438:../../include/lib_AT91SAM7S256.h ****    ***************************************************************************** */
 439:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
 440:../../include/lib_AT91SAM7S256.h **** //* \fn    AT91F_DBGU_InterruptEnable
 441:../../include/lib_AT91SAM7S256.h **** //* \brief Enable DBGU Interrupt
 442:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
 443:../../include/lib_AT91SAM7S256.h **** __inline void AT91F_DBGU_InterruptEnable(
 444:../../include/lib_AT91SAM7S256.h ****         AT91PS_DBGU pDbgu,   // \arg  pointer to a DBGU controller
 445:../../include/lib_AT91SAM7S256.h ****         unsigned int flag) // \arg  dbgu interrupt to be enabled
 446:../../include/lib_AT91SAM7S256.h **** {
 447:../../include/lib_AT91SAM7S256.h ****         pDbgu->DBGU_IER = flag;
 448:../../include/lib_AT91SAM7S256.h **** }
 449:../../include/lib_AT91SAM7S256.h **** 
 450:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
 451:../../include/lib_AT91SAM7S256.h **** //* \fn    AT91F_DBGU_InterruptDisable
 452:../../include/lib_AT91SAM7S256.h **** //* \brief Disable DBGU Interrupt
 453:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
 454:../../include/lib_AT91SAM7S256.h **** __inline void AT91F_DBGU_InterruptDisable(
 455:../../include/lib_AT91SAM7S256.h ****         AT91PS_DBGU pDbgu,   // \arg  pointer to a DBGU controller
 456:../../include/lib_AT91SAM7S256.h ****         unsigned int flag) // \arg  dbgu interrupt to be disabled
 457:../../include/lib_AT91SAM7S256.h **** {
 458:../../include/lib_AT91SAM7S256.h ****         pDbgu->DBGU_IDR = flag;
 459:../../include/lib_AT91SAM7S256.h **** }
 460:../../include/lib_AT91SAM7S256.h **** 
 461:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
 462:../../include/lib_AT91SAM7S256.h **** //* \fn    AT91F_DBGU_GetInterruptMaskStatus
 463:../../include/lib_AT91SAM7S256.h **** //* \brief Return DBGU Interrupt Mask Status
 464:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
 465:../../include/lib_AT91SAM7S256.h **** __inline unsigned int AT91F_DBGU_GetInterruptMaskStatus( // \return DBGU Interrupt Mask Status
 466:../../include/lib_AT91SAM7S256.h ****         AT91PS_DBGU pDbgu) // \arg  pointer to a DBGU controller
 467:../../include/lib_AT91SAM7S256.h **** {
 468:../../include/lib_AT91SAM7S256.h ****         return pDbgu->DBGU_IMR;
 469:../../include/lib_AT91SAM7S256.h **** }
 470:../../include/lib_AT91SAM7S256.h **** 
 471:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
 472:../../include/lib_AT91SAM7S256.h **** //* \fn    AT91F_DBGU_IsInterruptMasked
 473:../../include/lib_AT91SAM7S256.h **** //* \brief Test if DBGU Interrupt is Masked 
 474:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
 475:../../include/lib_AT91SAM7S256.h **** __inline int AT91F_DBGU_IsInterruptMasked(
 476:../../include/lib_AT91SAM7S256.h ****         AT91PS_DBGU pDbgu,   // \arg  pointer to a DBGU controller
 477:../../include/lib_AT91SAM7S256.h ****         unsigned int flag) // \arg  flag to be tested
 478:../../include/lib_AT91SAM7S256.h **** {
 479:../../include/lib_AT91SAM7S256.h ****         return (AT91F_DBGU_GetInterruptMaskStatus(pDbgu) & flag);
 480:../../include/lib_AT91SAM7S256.h **** }
 481:../../include/lib_AT91SAM7S256.h **** 
 482:../../include/lib_AT91SAM7S256.h **** /* *****************************************************************************
 483:../../include/lib_AT91SAM7S256.h ****                 SOFTWARE API FOR PIO
 484:../../include/lib_AT91SAM7S256.h ****    ***************************************************************************** */
 485:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
 486:../../include/lib_AT91SAM7S256.h **** //* \fn    AT91F_PIO_CfgPeriph
 487:../../include/lib_AT91SAM7S256.h **** //* \brief Enable pins to be drived by peripheral
 488:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
 489:../../include/lib_AT91SAM7S256.h **** __inline void AT91F_PIO_CfgPeriph(
 490:../../include/lib_AT91SAM7S256.h **** 	AT91PS_PIO pPio,             // \arg pointer to a PIO controller
 491:../../include/lib_AT91SAM7S256.h **** 	unsigned int periphAEnable,  // \arg PERIPH A to enable
 492:../../include/lib_AT91SAM7S256.h **** 	unsigned int periphBEnable)  // \arg PERIPH B to enable
 493:../../include/lib_AT91SAM7S256.h **** 
 494:../../include/lib_AT91SAM7S256.h **** {
 495:../../include/lib_AT91SAM7S256.h **** 	pPio->PIO_ASR = periphAEnable;
 496:../../include/lib_AT91SAM7S256.h **** 	pPio->PIO_BSR = periphBEnable;
 497:../../include/lib_AT91SAM7S256.h **** 	pPio->PIO_PDR = (periphAEnable | periphBEnable); // Set in Periph mode
 498:../../include/lib_AT91SAM7S256.h **** }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -