📄 main.lst
字号:
99:./common/lib_AT91SAM7A3.h **** unsigned int mask = 0x1 << irq_id;
100:./common/lib_AT91SAM7A3.h **** //* Disable the interrupt on the interrupt controller
101:./common/lib_AT91SAM7A3.h **** pAic->AIC_IDCR = mask ;
102:./common/lib_AT91SAM7A3.h **** //* Clear the interrupt on the Interrupt Controller ( if one is pending )
103:./common/lib_AT91SAM7A3.h **** pAic->AIC_ICCR = mask ;
104:./common/lib_AT91SAM7A3.h **** }
105:./common/lib_AT91SAM7A3.h ****
106:./common/lib_AT91SAM7A3.h **** //*----------------------------------------------------------------------------
107:./common/lib_AT91SAM7A3.h **** //* \fn AT91F_AIC_ClearIt
108:./common/lib_AT91SAM7A3.h **** //* \brief Clear corresponding IT number
109:./common/lib_AT91SAM7A3.h **** //*----------------------------------------------------------------------------
110:./common/lib_AT91SAM7A3.h **** __inline void AT91F_AIC_ClearIt (
111:./common/lib_AT91SAM7A3.h **** AT91PS_AIC pAic, // \arg pointer to the AIC registers
112:./common/lib_AT91SAM7A3.h **** unsigned int irq_id) // \arg interrupt number to initialize
113:./common/lib_AT91SAM7A3.h **** {
114:./common/lib_AT91SAM7A3.h **** //* Clear the interrupt on the Interrupt Controller ( if one is pending )
115:./common/lib_AT91SAM7A3.h **** pAic->AIC_ICCR = (0x1 << irq_id);
116:./common/lib_AT91SAM7A3.h **** }
117:./common/lib_AT91SAM7A3.h ****
118:./common/lib_AT91SAM7A3.h **** //*----------------------------------------------------------------------------
119:./common/lib_AT91SAM7A3.h **** //* \fn AT91F_AIC_AcknowledgeIt
120:./common/lib_AT91SAM7A3.h **** //* \brief Acknowledge corresponding IT number
121:./common/lib_AT91SAM7A3.h **** //*----------------------------------------------------------------------------
122:./common/lib_AT91SAM7A3.h **** __inline void AT91F_AIC_AcknowledgeIt (
123:./common/lib_AT91SAM7A3.h **** AT91PS_AIC pAic) // \arg pointer to the AIC registers
124:./common/lib_AT91SAM7A3.h **** {
125:./common/lib_AT91SAM7A3.h **** pAic->AIC_EOICR = pAic->AIC_EOICR;
126:./common/lib_AT91SAM7A3.h **** }
127:./common/lib_AT91SAM7A3.h ****
128:./common/lib_AT91SAM7A3.h **** //*----------------------------------------------------------------------------
129:./common/lib_AT91SAM7A3.h **** //* \fn AT91F_AIC_SetExceptionVector
130:./common/lib_AT91SAM7A3.h **** //* \brief Configure vector handler
131:./common/lib_AT91SAM7A3.h **** //*----------------------------------------------------------------------------
132:./common/lib_AT91SAM7A3.h **** __inline unsigned int AT91F_AIC_SetExceptionVector (
133:./common/lib_AT91SAM7A3.h **** unsigned int *pVector, // \arg pointer to the AIC registers
134:./common/lib_AT91SAM7A3.h **** void (*Handler) () ) // \arg Interrupt Handler
135:./common/lib_AT91SAM7A3.h **** {
136:./common/lib_AT91SAM7A3.h **** unsigned int oldVector = *pVector;
137:./common/lib_AT91SAM7A3.h ****
138:./common/lib_AT91SAM7A3.h **** if ((unsigned int) Handler == (unsigned int) AT91C_AIC_BRANCH_OPCODE)
139:./common/lib_AT91SAM7A3.h **** *pVector = (unsigned int) AT91C_AIC_BRANCH_OPCODE;
140:./common/lib_AT91SAM7A3.h **** else
141:./common/lib_AT91SAM7A3.h **** *pVector = (((((unsigned int) Handler) - ((unsigned int) pVector) - 0x8) >> 2) & 0x00FFFFFF) | 0x 142:./common/lib_AT91SAM7A3.h ****
143:./common/lib_AT91SAM7A3.h **** return oldVector;
144:./common/lib_AT91SAM7A3.h **** }
145:./common/lib_AT91SAM7A3.h ****
146:./common/lib_AT91SAM7A3.h **** //*----------------------------------------------------------------------------
147:./common/lib_AT91SAM7A3.h **** //* \fn AT91F_AIC_Trig
148:./common/lib_AT91SAM7A3.h **** //* \brief Trig an IT
149:./common/lib_AT91SAM7A3.h **** //*----------------------------------------------------------------------------
150:./common/lib_AT91SAM7A3.h **** __inline void AT91F_AIC_Trig (
151:./common/lib_AT91SAM7A3.h **** AT91PS_AIC pAic, // \arg pointer to the AIC registers
152:./common/lib_AT91SAM7A3.h **** unsigned int irq_id) // \arg interrupt number
153:./common/lib_AT91SAM7A3.h **** {
154:./common/lib_AT91SAM7A3.h **** pAic->AIC_ISCR = (0x1 << irq_id) ;
155:./common/lib_AT91SAM7A3.h **** }
156:./common/lib_AT91SAM7A3.h ****
157:./common/lib_AT91SAM7A3.h **** //*----------------------------------------------------------------------------
158:./common/lib_AT91SAM7A3.h **** //* \fn AT91F_AIC_IsActive
159:./common/lib_AT91SAM7A3.h **** //* \brief Test if an IT is active
160:./common/lib_AT91SAM7A3.h **** //*----------------------------------------------------------------------------
161:./common/lib_AT91SAM7A3.h **** __inline unsigned int AT91F_AIC_IsActive (
162:./common/lib_AT91SAM7A3.h **** AT91PS_AIC pAic, // \arg pointer to the AIC registers
163:./common/lib_AT91SAM7A3.h **** unsigned int irq_id) // \arg Interrupt Number
164:./common/lib_AT91SAM7A3.h **** {
165:./common/lib_AT91SAM7A3.h **** return (pAic->AIC_ISR & (0x1 << irq_id));
166:./common/lib_AT91SAM7A3.h **** }
167:./common/lib_AT91SAM7A3.h ****
168:./common/lib_AT91SAM7A3.h **** //*----------------------------------------------------------------------------
169:./common/lib_AT91SAM7A3.h **** //* \fn AT91F_AIC_IsPending
170:./common/lib_AT91SAM7A3.h **** //* \brief Test if an IT is pending
171:./common/lib_AT91SAM7A3.h **** //*----------------------------------------------------------------------------
172:./common/lib_AT91SAM7A3.h **** __inline unsigned int AT91F_AIC_IsPending (
173:./common/lib_AT91SAM7A3.h **** AT91PS_AIC pAic, // \arg pointer to the AIC registers
174:./common/lib_AT91SAM7A3.h **** unsigned int irq_id) // \arg Interrupt Number
175:./common/lib_AT91SAM7A3.h **** {
176:./common/lib_AT91SAM7A3.h **** return (pAic->AIC_IPR & (0x1 << irq_id));
177:./common/lib_AT91SAM7A3.h **** }
178:./common/lib_AT91SAM7A3.h ****
179:./common/lib_AT91SAM7A3.h **** //*----------------------------------------------------------------------------
180:./common/lib_AT91SAM7A3.h **** //* \fn AT91F_AIC_Open
181:./common/lib_AT91SAM7A3.h **** //* \brief Set exception vectors and AIC registers to default values
182:./common/lib_AT91SAM7A3.h **** //*----------------------------------------------------------------------------
183:./common/lib_AT91SAM7A3.h **** __inline void AT91F_AIC_Open(
184:./common/lib_AT91SAM7A3.h **** AT91PS_AIC pAic, // \arg pointer to the AIC registers
185:./common/lib_AT91SAM7A3.h **** void (*IrqHandler) (), // \arg Default IRQ vector exception
186:./common/lib_AT91SAM7A3.h **** void (*FiqHandler) (), // \arg Default FIQ vector exception
187:./common/lib_AT91SAM7A3.h **** void (*DefaultHandler) (), // \arg Default Handler set in ISR
188:./common/lib_AT91SAM7A3.h **** void (*SpuriousHandler) (), // \arg Default Spurious Handler
189:./common/lib_AT91SAM7A3.h **** unsigned int protectMode) // \arg Debug Control Register
190:./common/lib_AT91SAM7A3.h **** {
191:./common/lib_AT91SAM7A3.h **** int i;
192:./common/lib_AT91SAM7A3.h ****
193:./common/lib_AT91SAM7A3.h **** // Disable all interrupts and set IVR to the default handler
194:./common/lib_AT91SAM7A3.h **** for (i = 0; i < 32; ++i) {
195:./common/lib_AT91SAM7A3.h **** AT91F_AIC_DisableIt(pAic, i);
196:./common/lib_AT91SAM7A3.h **** AT91F_AIC_ConfigureIt(pAic, i, AT91C_AIC_PRIOR_LOWEST, AT91C_AIC_SRCTYPE_HIGH_LEVEL, DefaultHandl 197:./common/lib_AT91SAM7A3.h **** }
198:./common/lib_AT91SAM7A3.h ****
199:./common/lib_AT91SAM7A3.h **** // Set the IRQ exception vector
200:./common/lib_AT91SAM7A3.h **** AT91F_AIC_SetExceptionVector((unsigned int *) 0x18, IrqHandler);
201:./common/lib_AT91SAM7A3.h **** // Set the Fast Interrupt exception vector
202:./common/lib_AT91SAM7A3.h **** AT91F_AIC_SetExceptionVector((unsigned int *) 0x1C, FiqHandler);
203:./common/lib_AT91SAM7A3.h ****
204:./common/lib_AT91SAM7A3.h **** pAic->AIC_SPU = (unsigned int) SpuriousHandler;
205:./common/lib_AT91SAM7A3.h **** pAic->AIC_DCR = protectMode;
206:./common/lib_AT91SAM7A3.h **** }
207:./common/lib_AT91SAM7A3.h **** /* *****************************************************************************
208:./common/lib_AT91SAM7A3.h **** SOFTWARE API FOR PDC
209:./common/lib_AT91SAM7A3.h **** ***************************************************************************** */
210:./common/lib_AT91SAM7A3.h **** //*----------------------------------------------------------------------------
211:./common/lib_AT91SAM7A3.h **** //* \fn AT91F_PDC_SetNextRx
212:./common/lib_AT91SAM7A3.h **** //* \brief Set the next receive transfer descriptor
213:./common/lib_AT91SAM7A3.h **** //*----------------------------------------------------------------------------
214:./common/lib_AT91SAM7A3.h **** __inline void AT91F_PDC_SetNextRx (
215:./common/lib_AT91SAM7A3.h **** AT91PS_PDC pPDC, // \arg pointer to a PDC controller
216:./common/lib_AT91SAM7A3.h **** char *address, // \arg address to the next bloc to be received
217:./common/lib_AT91SAM7A3.h **** unsigned int bytes) // \arg number of bytes to be received
218:./common/lib_AT91SAM7A3.h **** {
219:./common/lib_AT91SAM7A3.h **** pPDC->PDC_RNPR = (unsigned int) address;
220:./common/lib_AT91SAM7A3.h **** pPDC->PDC_RNCR = bytes;
221:./common/lib_AT91SAM7A3.h **** }
222:./common/lib_AT91SAM7A3.h ****
223:./common/lib_AT91SAM7A3.h **** //*----------------------------------------------------------------------------
224:./common/lib_AT91SAM7A3.h **** //* \fn AT91F_PDC_SetNextTx
225:./common/lib_AT91SAM7A3.h **** //* \brief Set the next transmit transfer descriptor
226:./common/lib_AT91SAM7A3.h **** //*----------------------------------------------------------------------------
227:./common/lib_AT91SAM7A3.h **** __inline void AT91F_PDC_SetNextTx (
228:./common/lib_AT91SAM7A3.h **** AT91PS_PDC pPDC, // \arg pointer to a PDC controller
229:./common/lib_AT91SAM7A3.h **** char *address, // \arg address to the next bloc to be transmitted
230:./common/lib_AT91SAM7A3.h **** unsigned int bytes) // \arg number of bytes to be transmitted
231:./common/lib_AT91SAM7A3.h **** {
232:./common/lib_AT91SAM7A3.h **** pPDC->PDC_TNPR = (unsigned int) address;
233:./common/lib_AT91SAM7A3.h **** pPDC->PDC_TNCR = bytes;
234:./common/lib_AT91SAM7A3.h **** }
235:./common/lib_AT91SAM7A3.h ****
236:./common/lib_AT91SAM7A3.h **** //*----------------------------------------------------------------------------
237:./common/lib_AT91SAM7A3.h **** //* \fn AT91F_PDC_SetRx
238:./common/lib_AT91SAM7A3.h **** //* \brief Set the receive transfer descriptor
239:./common/lib_AT91SAM7A3.h **** //*----------------------------------------------------------------------------
240:./common/lib_AT91SAM7A3.h **** __inline void AT91F_PDC_SetRx (
241:./common/lib_AT91SAM7A3.h **** AT91PS_PDC pPDC, // \arg pointer to a PDC controller
242:./common/lib_AT91SAM7A3.h **** char *address, // \arg address to the next bloc to be received
243:./common/lib_AT91SAM7A3.h **** unsigned int bytes) // \arg number of bytes to be received
244:./common/lib_AT91SAM7A3.h **** {
245:./common/lib_AT91SAM7A3.h **** pPDC->PDC_RPR = (unsigned int) address;
246:./common/lib_AT91SAM7A3.h **** pPDC->PDC_RCR = bytes;
247:./common/lib_AT91SAM7A3.h **** }
248:./common/lib_AT91SAM7A3.h ****
249:./common/lib_AT91SAM7A3.h **** //*----------------------------------------------------------------------------
250:./common/lib_AT91SAM7A3.h **** //* \fn AT91F_PDC_SetTx
251:./common/lib_AT91SAM7A3.h **** //* \brief Set the transmit transfer descriptor
252:./common/lib_AT91SAM7A3.h **** //*----------------------------------------------------------------------------
253:./common/lib_AT91SAM7A3.h **** __inline void AT91F_PDC_SetTx (
254:./common/lib_AT91SAM7A3.h **** AT91PS_PDC pPDC, // \arg pointer to a PDC controller
255:./common/lib_AT91SAM7A3.h **** char *address, // \arg address to the next bloc to be transmitted
256:./common/lib_AT91SAM7A3.h **** unsigned int bytes) // \arg number of bytes to be transmitted
257:./common/lib_AT91SAM7A3.h **** {
258:./common/lib_AT91SAM7A3.h **** pPDC->PDC_TPR = (unsigned int) address;
259:./common/lib_AT91SAM7A3.h **** pPDC->PDC_TCR = bytes;
260:./common/lib_AT91SAM7A3.h **** }
261:./common/lib_AT91SAM7A3.h ****
262:./common/lib_AT91SAM7A3.h **** //*----------------------------------------------------------------------------
263:./common/lib_AT91SAM7A3.h **** //* \fn AT91F_PDC_EnableTx
264:./common/lib_AT91SAM7A3.h **** //* \brief Enable transmit
265:./common/lib_AT91SAM7A3.h **** //*----------------------------------------------------------------------------
266:./common/lib_AT91SAM7A3.h **** __inline void AT91F_PDC_EnableTx (
267:./common/lib_AT91SAM7A3.h **** AT91PS_PDC pPDC ) // \arg pointer to a PDC controller
268:./common/lib_AT91SAM7A3.h **** {
269:./common/lib_AT91SAM7A3.h **** pPDC->PDC_PTCR = AT91C_PDC_TXTEN;
270:./common/lib_AT91SAM7A3.h **** }
271:./common/lib_AT91SAM7A3.h ****
272:./common/lib_AT91SAM7A3.h **** //*----------------------------------------------------------------------------
273:./common/lib_AT91SAM7A3.h **** //* \fn AT91F_PDC_EnableRx
274:./common/lib_AT91SAM7A3.h **** //* \brief Enable receive
275:./common/lib_AT91SAM7A3.h **** //*----------------------------------------------------------------------------
276:./common/lib_AT91SAM7A3.h **** __inline void AT91F_PDC_EnableRx (
277:./common/lib_AT91SAM7A3.h **** AT91PS_PDC pPDC ) // \arg pointer to a PDC controller
278:./common/lib_AT91SAM7A3.h **** {
279:./common/lib_AT91SAM7A3.h **** pPDC->PDC_PTCR = AT91C_PDC_RXTEN;
280:./common/lib_AT91SAM7A3.h **** }
281:./common/lib_AT91SAM7A3.h ****
282:./common/lib_AT91SAM7A3.h **** //*----------------------------------------------------------------------------
283:./common/lib_AT91SAM7A3.h **** //* \fn AT91F_PDC_DisableTx
284:./common/lib_AT91SAM7A3.h **** //* \brief Disable transmit
285:./common/lib_AT91SAM7A3.h **** //*----------------------------------------------------------------------------
286:./common/lib_AT91SAM7A3.h **** __inline void AT91F_PDC_DisableTx (
287:./common/lib_AT91SAM7A3.h **** AT91PS_PDC pPDC ) // \arg pointer to a PDC controller
288:./common/lib_AT91SAM7A3.h **** {
289:./common/lib_AT91SAM7A3.h **** pPDC->PDC_PTCR = AT91C_PDC_TXTDIS;
290:./common/lib_AT91SAM7A3.h **** }
291:./common/lib_AT91SAM7A3.h ****
292:./common/lib_AT91SAM7A3.h **** //*----------------------------------------------------------------------------
293:./common/lib_AT91SAM7A3.h **** //* \fn AT91F_PDC_DisableRx
294:./common/lib_AT91SAM7A3.h **** //* \brief Disable receive
295:./common/lib_AT91SAM7A3.h **** //*----------------------------------------------------------------------------
296:./common/lib_AT91SAM7A3.h **** __inline void AT91F_PDC_DisableRx (
297:./common/lib_AT91SAM7A3.h **** AT91PS_PDC pPDC ) // \arg pointer to a PDC controller
298:./common/lib_AT91SAM7A3.h **** {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -