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

📄 interrupt_usart.lst

📁 高性能USB转串口(可高达10Mbps)完整的源代码
💻 LST
📖 第 1 页 / 共 5 页
字号:
 129:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
 130:../../include/lib_AT91SAM7S256.h **** __inline unsigned int  AT91F_AIC_SetExceptionVector (
 131:../../include/lib_AT91SAM7S256.h **** 	unsigned int *pVector, // \arg pointer to the AIC registers
 132:../../include/lib_AT91SAM7S256.h **** 	void (*Handler) () )   // \arg Interrupt Handler
 133:../../include/lib_AT91SAM7S256.h **** {
 134:../../include/lib_AT91SAM7S256.h **** 	unsigned int oldVector = *pVector;
 135:../../include/lib_AT91SAM7S256.h **** 
 136:../../include/lib_AT91SAM7S256.h **** 	if ((unsigned int) Handler == (unsigned int) AT91C_AIC_BRANCH_OPCODE)
 137:../../include/lib_AT91SAM7S256.h **** 		*pVector = (unsigned int) AT91C_AIC_BRANCH_OPCODE;
 138:../../include/lib_AT91SAM7S256.h **** 	else
 139:../../include/lib_AT91SAM7S256.h **** 		*pVector = (((((unsigned int) Handler) - ((unsigned int) pVector) - 0x8) >> 2) & 0x00FFFFFF) | 0x
 140:../../include/lib_AT91SAM7S256.h **** 
 141:../../include/lib_AT91SAM7S256.h **** 	return oldVector;
 142:../../include/lib_AT91SAM7S256.h **** }
 143:../../include/lib_AT91SAM7S256.h **** 
 144:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
 145:../../include/lib_AT91SAM7S256.h **** //* \fn    AT91F_AIC_Trig
 146:../../include/lib_AT91SAM7S256.h **** //* \brief Trig an IT
 147:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
 148:../../include/lib_AT91SAM7S256.h **** __inline void  AT91F_AIC_Trig (
 149:../../include/lib_AT91SAM7S256.h **** 	AT91PS_AIC pAic,     // \arg pointer to the AIC registers
 150:../../include/lib_AT91SAM7S256.h **** 	unsigned int irq_id) // \arg interrupt number
 151:../../include/lib_AT91SAM7S256.h **** {
 152:../../include/lib_AT91SAM7S256.h **** 	pAic->AIC_ISCR = (0x1 << irq_id) ;
 153:../../include/lib_AT91SAM7S256.h **** }
 154:../../include/lib_AT91SAM7S256.h **** 
 155:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
 156:../../include/lib_AT91SAM7S256.h **** //* \fn    AT91F_AIC_IsActive
 157:../../include/lib_AT91SAM7S256.h **** //* \brief Test if an IT is active
 158:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
 159:../../include/lib_AT91SAM7S256.h **** __inline unsigned int  AT91F_AIC_IsActive (
 160:../../include/lib_AT91SAM7S256.h **** 	AT91PS_AIC pAic,     // \arg pointer to the AIC registers
 161:../../include/lib_AT91SAM7S256.h **** 	unsigned int irq_id) // \arg Interrupt Number
 162:../../include/lib_AT91SAM7S256.h **** {
 163:../../include/lib_AT91SAM7S256.h **** 	return (pAic->AIC_ISR & (0x1 << irq_id));
 164:../../include/lib_AT91SAM7S256.h **** }
 165:../../include/lib_AT91SAM7S256.h **** 
 166:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
 167:../../include/lib_AT91SAM7S256.h **** //* \fn    AT91F_AIC_IsPending
 168:../../include/lib_AT91SAM7S256.h **** //* \brief Test if an IT is pending
 169:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
 170:../../include/lib_AT91SAM7S256.h **** __inline unsigned int  AT91F_AIC_IsPending (
 171:../../include/lib_AT91SAM7S256.h **** 	AT91PS_AIC pAic,     // \arg pointer to the AIC registers
 172:../../include/lib_AT91SAM7S256.h **** 	unsigned int irq_id) // \arg Interrupt Number
 173:../../include/lib_AT91SAM7S256.h **** {
 174:../../include/lib_AT91SAM7S256.h **** 	return (pAic->AIC_IPR & (0x1 << irq_id));
 175:../../include/lib_AT91SAM7S256.h **** }
 176:../../include/lib_AT91SAM7S256.h **** 
 177:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
 178:../../include/lib_AT91SAM7S256.h **** //* \fn    AT91F_AIC_Open
 179:../../include/lib_AT91SAM7S256.h **** //* \brief Set exception vectors and AIC registers to default values
 180:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
 181:../../include/lib_AT91SAM7S256.h **** __inline void AT91F_AIC_Open(
 182:../../include/lib_AT91SAM7S256.h **** 	AT91PS_AIC pAic,        // \arg pointer to the AIC registers
 183:../../include/lib_AT91SAM7S256.h **** 	void (*IrqHandler) (),  // \arg Default IRQ vector exception
 184:../../include/lib_AT91SAM7S256.h **** 	void (*FiqHandler) (),  // \arg Default FIQ vector exception
 185:../../include/lib_AT91SAM7S256.h **** 	void (*DefaultHandler)  (), // \arg Default Handler set in ISR
 186:../../include/lib_AT91SAM7S256.h **** 	void (*SpuriousHandler) (), // \arg Default Spurious Handler
 187:../../include/lib_AT91SAM7S256.h **** 	unsigned int protectMode)   // \arg Debug Control Register
 188:../../include/lib_AT91SAM7S256.h **** {
 189:../../include/lib_AT91SAM7S256.h **** 	int i;
 190:../../include/lib_AT91SAM7S256.h **** 
 191:../../include/lib_AT91SAM7S256.h **** 	// Disable all interrupts and set IVR to the default handler
 192:../../include/lib_AT91SAM7S256.h **** 	for (i = 0; i < 32; ++i) {
 193:../../include/lib_AT91SAM7S256.h **** 		AT91F_AIC_DisableIt(pAic, i);
 194:../../include/lib_AT91SAM7S256.h **** 		AT91F_AIC_ConfigureIt(pAic, i, AT91C_AIC_PRIOR_LOWEST, AT91C_AIC_SRCTYPE_HIGH_LEVEL, DefaultHandl
 195:../../include/lib_AT91SAM7S256.h **** 	}
 196:../../include/lib_AT91SAM7S256.h **** 
 197:../../include/lib_AT91SAM7S256.h **** 	// Set the IRQ exception vector
 198:../../include/lib_AT91SAM7S256.h **** 	AT91F_AIC_SetExceptionVector((unsigned int *) 0x18, IrqHandler);
 199:../../include/lib_AT91SAM7S256.h **** 	// Set the Fast Interrupt exception vector
 200:../../include/lib_AT91SAM7S256.h **** 	AT91F_AIC_SetExceptionVector((unsigned int *) 0x1C, FiqHandler);
 201:../../include/lib_AT91SAM7S256.h **** 
 202:../../include/lib_AT91SAM7S256.h **** 	pAic->AIC_SPU = (unsigned int) SpuriousHandler;
 203:../../include/lib_AT91SAM7S256.h **** 	pAic->AIC_DCR = protectMode;
 204:../../include/lib_AT91SAM7S256.h **** }
 205:../../include/lib_AT91SAM7S256.h **** /* *****************************************************************************
 206:../../include/lib_AT91SAM7S256.h ****                 SOFTWARE API FOR PDC
 207:../../include/lib_AT91SAM7S256.h ****    ***************************************************************************** */
 208:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
 209:../../include/lib_AT91SAM7S256.h **** //* \fn    AT91F_PDC_SetNextRx
 210:../../include/lib_AT91SAM7S256.h **** //* \brief Set the next receive transfer descriptor
 211:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
 212:../../include/lib_AT91SAM7S256.h **** __inline void AT91F_PDC_SetNextRx (
 213:../../include/lib_AT91SAM7S256.h **** 	AT91PS_PDC pPDC,     // \arg pointer to a PDC controller
 214:../../include/lib_AT91SAM7S256.h **** 	char *address,       // \arg address to the next bloc to be received
 215:../../include/lib_AT91SAM7S256.h **** 	unsigned int bytes)  // \arg number of bytes to be received
 216:../../include/lib_AT91SAM7S256.h **** {
 217:../../include/lib_AT91SAM7S256.h **** 	pPDC->PDC_RNPR = (unsigned int) address;
 218:../../include/lib_AT91SAM7S256.h **** 	pPDC->PDC_RNCR = bytes;
 219:../../include/lib_AT91SAM7S256.h **** }
 220:../../include/lib_AT91SAM7S256.h **** 
 221:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
 222:../../include/lib_AT91SAM7S256.h **** //* \fn    AT91F_PDC_SetNextTx
 223:../../include/lib_AT91SAM7S256.h **** //* \brief Set the next transmit transfer descriptor
 224:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
 225:../../include/lib_AT91SAM7S256.h **** __inline void AT91F_PDC_SetNextTx (
 226:../../include/lib_AT91SAM7S256.h **** 	AT91PS_PDC pPDC,       // \arg pointer to a PDC controller
 227:../../include/lib_AT91SAM7S256.h **** 	char *address,         // \arg address to the next bloc to be transmitted
 228:../../include/lib_AT91SAM7S256.h **** 	unsigned int bytes)    // \arg number of bytes to be transmitted
 229:../../include/lib_AT91SAM7S256.h **** {
 230:../../include/lib_AT91SAM7S256.h **** 	pPDC->PDC_TNPR = (unsigned int) address;
 231:../../include/lib_AT91SAM7S256.h **** 	pPDC->PDC_TNCR = bytes;
 232:../../include/lib_AT91SAM7S256.h **** }
 233:../../include/lib_AT91SAM7S256.h **** 
 234:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
 235:../../include/lib_AT91SAM7S256.h **** //* \fn    AT91F_PDC_SetRx
 236:../../include/lib_AT91SAM7S256.h **** //* \brief Set the receive transfer descriptor
 237:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
 238:../../include/lib_AT91SAM7S256.h **** __inline void AT91F_PDC_SetRx (
 239:../../include/lib_AT91SAM7S256.h **** 	AT91PS_PDC pPDC,       // \arg pointer to a PDC controller
 240:../../include/lib_AT91SAM7S256.h **** 	char *address,         // \arg address to the next bloc to be received
 241:../../include/lib_AT91SAM7S256.h **** 	unsigned int bytes)    // \arg number of bytes to be received
 242:../../include/lib_AT91SAM7S256.h **** {
 243:../../include/lib_AT91SAM7S256.h **** 	pPDC->PDC_RPR = (unsigned int) address;
 244:../../include/lib_AT91SAM7S256.h **** 	pPDC->PDC_RCR = bytes;
 245:../../include/lib_AT91SAM7S256.h **** }
 246:../../include/lib_AT91SAM7S256.h **** 
 247:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
 248:../../include/lib_AT91SAM7S256.h **** //* \fn    AT91F_PDC_SetTx
 249:../../include/lib_AT91SAM7S256.h **** //* \brief Set the transmit transfer descriptor
 250:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
 251:../../include/lib_AT91SAM7S256.h **** __inline void AT91F_PDC_SetTx (
 252:../../include/lib_AT91SAM7S256.h **** 	AT91PS_PDC pPDC,       // \arg pointer to a PDC controller
 253:../../include/lib_AT91SAM7S256.h **** 	char *address,         // \arg address to the next bloc to be transmitted
 254:../../include/lib_AT91SAM7S256.h **** 	unsigned int bytes)    // \arg number of bytes to be transmitted
 255:../../include/lib_AT91SAM7S256.h **** {
 256:../../include/lib_AT91SAM7S256.h **** 	pPDC->PDC_TPR = (unsigned int) address;
 257:../../include/lib_AT91SAM7S256.h **** 	pPDC->PDC_TCR = bytes;
 258:../../include/lib_AT91SAM7S256.h **** }
 259:../../include/lib_AT91SAM7S256.h **** 
 260:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
 261:../../include/lib_AT91SAM7S256.h **** //* \fn    AT91F_PDC_EnableTx
 262:../../include/lib_AT91SAM7S256.h **** //* \brief Enable transmit
 263:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
 264:../../include/lib_AT91SAM7S256.h **** __inline void AT91F_PDC_EnableTx (
 265:../../include/lib_AT91SAM7S256.h **** 	AT91PS_PDC pPDC )       // \arg pointer to a PDC controller
 266:../../include/lib_AT91SAM7S256.h **** {
 267:../../include/lib_AT91SAM7S256.h **** 	pPDC->PDC_PTCR = AT91C_PDC_TXTEN;
 268:../../include/lib_AT91SAM7S256.h **** }
 269:../../include/lib_AT91SAM7S256.h **** 
 270:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
 271:../../include/lib_AT91SAM7S256.h **** //* \fn    AT91F_PDC_EnableRx
 272:../../include/lib_AT91SAM7S256.h **** //* \brief Enable receive
 273:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
 274:../../include/lib_AT91SAM7S256.h **** __inline void AT91F_PDC_EnableRx (
 275:../../include/lib_AT91SAM7S256.h **** 	AT91PS_PDC pPDC )       // \arg pointer to a PDC controller
 276:../../include/lib_AT91SAM7S256.h **** {
 277:../../include/lib_AT91SAM7S256.h **** 	pPDC->PDC_PTCR = AT91C_PDC_RXTEN;
 278:../../include/lib_AT91SAM7S256.h **** }
 279:../../include/lib_AT91SAM7S256.h **** 
 280:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
 281:../../include/lib_AT91SAM7S256.h **** //* \fn    AT91F_PDC_DisableTx
 282:../../include/lib_AT91SAM7S256.h **** //* \brief Disable transmit
 283:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
 284:../../include/lib_AT91SAM7S256.h **** __inline void AT91F_PDC_DisableTx (
 285:../../include/lib_AT91SAM7S256.h **** 	AT91PS_PDC pPDC )       // \arg pointer to a PDC controller
 286:../../include/lib_AT91SAM7S256.h **** {
 287:../../include/lib_AT91SAM7S256.h **** 	pPDC->PDC_PTCR = AT91C_PDC_TXTDIS;
 288:../../include/lib_AT91SAM7S256.h **** }
 289:../../include/lib_AT91SAM7S256.h **** 
 290:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
 291:../../include/lib_AT91SAM7S256.h **** //* \fn    AT91F_PDC_DisableRx
 292:../../include/lib_AT91SAM7S256.h **** //* \brief Disable receive
 293:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
 294:../../include/lib_AT91SAM7S256.h **** __inline void AT91F_PDC_DisableRx (
 295:../../include/lib_AT91SAM7S256.h **** 	AT91PS_PDC pPDC )       // \arg pointer to a PDC controller
 296:../../include/lib_AT91SAM7S256.h **** {
 297:../../include/lib_AT91SAM7S256.h **** 	pPDC->PDC_PTCR = AT91C_PDC_RXTDIS;
 298:../../include/lib_AT91SAM7S256.h **** }
 299:../../include/lib_AT91SAM7S256.h **** 
 300:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
 301:../../include/lib_AT91SAM7S256.h **** //* \fn    AT91F_PDC_IsTxEmpty
 302:../../include/lib_AT91SAM7S256.h **** //* \brief Test if the current transfer descriptor has been sent
 303:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
 304:../../include/lib_AT91SAM7S256.h **** __inline int AT91F_PDC_IsTxEmpty ( // \return return 1 if transfer is complete
 305:../../include/lib_AT91SAM7S256.h **** 	AT91PS_PDC pPDC )       // \arg pointer to a PDC controller
 306:../../include/lib_AT91SAM7S256.h **** {
 307:../../include/lib_AT91SAM7S256.h **** 	return !(pPDC->PDC_TCR);
 308:../../include/lib_AT91SAM7S256.h **** }
 309:../../include/lib_AT91SAM7S256.h **** 
 310:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
 311:../../include/lib_AT91SAM7S256.h **** //* \fn    AT91F_PDC_IsNextTxEmpty
 312:../../include/lib_AT91SAM7S256.h **** //* \brief Test if the next transfer descriptor has been moved to the current td
 313:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------

⌨️ 快捷键说明

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