|
技术交流 | 电路欣赏 | 工控天地 | 数字广电 | 通信技术 | 电源技术 | 测控之家 | EMC技术 | ARM技术 | EDA技术 | PCB技术 | 嵌入式系统 驱动编程 | 集成电路 | 器件替换 | 模拟技术 | 新手园地 | 单 片 机 | DSP技术 | MCU技术 | IC 设计 | IC 产业 | CAN-bus/DeviceNe |
7S64串口中断问题 |
作者:a123b123 栏目:ARM技术 |
下面是初始化程序,请大家帮我看看 为什么进不了中断?? void InitUSART0(void) { AT91C_BASE_PIOA->PIO_PDR = DMX_RXD | DMX_TXD ; //Disables the PIO from CONTROLling the corresponding pin (enables peripheral CONTROL of the pin). AT91C_BASE_PIOA->PIO_ASR = DMX_RXD | DMX_TXD; //Assigns the I/O LINE to the Peripheral A function. AT91C_BASE_PIOA->PIO_BSR = 0; //Assigns the I/O LINE to the Peripheral B function. //enable the clock of USART AT91C_BASE_PMC->PMC_PCER = 1<<AT91C_ID_US0; //Set the USART mode AT91C_BASE_US0->US_MR = AT91C_US_USMODE_NORMAL | //普通模式 AT91C_US_CLKS_CLOCK & //时钟为MCK ~AT91C_US_SYNC | //异步模式 AT91C_US_PAR_NONE | //无校验 AT91C_US_NBSTOP_1_BIT | //一位停止位 AT91C_US_MODE9 & //9位数据位 ~AT91C_US_OVER //16 倍重采样。OVER=0 ; //write the Timeguard Register AT91C_BASE_US0->US_TTGR = 0; //set baud rate divisor register AT91C_BASE_US0->US_BRGR = BAUD_CD; //((47923200)/(250000x16)) //Enable the RX and TX PDC transfer requests //AT91C_BASE_PDC_US0->PDC_PTCR = AT91C_PDC_TXTEN | AT91C_PDC_RXTEN; //Enable usart AT91C_BASE_US0->US_CR = AT91C_US_RXEN | AT91C_US_TXEN; // 0x50; //使能接收结束中断&发送结束中断 AT91C_BASE_US0->US_IMR = AT91C_US_ENDRX | AT91C_US_ENDTX ; //在AIC中设置US0中断优先级、中断入口、中断方式 AT91F_AIC_ConfigureIt ( AT91C_BASE_AIC, AT91C_ID_US0, US0_INTERRUPT_LEVEL, AT91C_AIC_SRCTYPE_INT_HIGH_LEVEL, US0_irq_handler ); //在AIC中使能US0中断 AT91F_AIC_EnableIt (AT91C_BASE_AIC, AT91C_ID_TC0); } |
2楼: | >>参与讨论 |
作者: moise 于 2007/4/25 17:32:00 发布:
re:7S64串口中断问题 hi,"a123b123" 在你的usart 初始化函数中,没有允许usart中断(设置 US_IER),也没有在AIC中使能US0 (最后一句的似乎应该为:AT91F_AIC_EnableIt (AT91C_BASE_AIC, AT91C_ID_US0);才对啊。 ) 。 |
3楼: | >>参与讨论 |
作者: a123b123 于 2007/4/26 20:59:00 发布:
谢谢moise,还有问题请教 我还没有搞懂 USART PDC AIC 之间的关系 USART 不用PDC 怎样产生AIC中断? USART 用PDC 又怎样产生AIC中断? 请赐教! |
4楼: | >>参与讨论 |
作者: moise 于 2007/4/30 10:02:00 发布:
re:7S64串口 AIC中断控制器管理所有的中断,一个部件如果想要能产生中断,必须将AIC中相应的中断位使能(寄存其AIC_IECR,见数据手册AIC部分),同时允许本器件的中断 允许。PDC是的作用是为片上外设与片内或片外存储器间传输数据,使用外设数据控制器(PDC)提供的DMA方式避免处理器干涉并减去了处理器中断处理开销。在AT91SAM7中,每个外设都配有一个相对应的PDC ,如AT91C_BASE_PDC_US0 ,AT91C_BASE_PDC_DBGU等。 |
|
|
免费注册为维库电子开发网会员,参与电子工程师社区讨论,点此进入 |
Copyright © 1998-2006 www.dzsc.com 浙ICP证030469号 |