问题:<br /> U0IER寄存器不能初始化,不能赋值,我想产生发送中断,数据能发送,但不能产生中断,查看后发现U0IER始终是0,为什么?CPSR已设置好,在AXD中强行修改U0IER后,继续运行则能产生中断。<br />周工能否指教?<br /><br />串口初始化程序如下:<br />void uart0_config(void)<br />{<br /> uint16 ui1;<br /> <br /> // baudrate<br /> uart0_baudrate = 9600;<br /> <br /> // 8/n/1,dlab=1<br /> U0LCR = 0x83;<br /> ui1 = Fpclk/(uart0_baudrate*16);<br /> U0DLL = ui1%256;<br /> U0DLM = ui1/256;<br /> // 0--> dlab<br /> U0LCR = 0x03;<br /> <br /> // fifo<br /> U0FCR = 0x81;<br /> <br /> // p0.0 set as txd,01-->pinsel0<1:0><br /> // p0.1 set as rxd,01-->pinsel0<3:2><br /> PINSEL0 |= 0x01;<br /> <br /> // interrupt vic<br /> // uart0 --> irq<br /> VICIntSelect = 0;<br /> // uart0 isr<br /> VICVectAddr0 = (uint32)uart0isr;<br /> // uart0 --> slot0<br /> VICVectCntl0 = 0x26;<br /> // enable uart0<br /> VICIntEnable = 0x40;<br /> <br /> // interrupt<br /> // THRE enable<br /> U0IER = 0x02;<br /> <br /> // enable uart0<br /> PCONP |= 0x08;<br />} |
|