No.106557 作者:歌以当之 邮件:lv_mao@hotmail.com ID:78900 登陆:2次 文章数:1篇 最后登陆IP:218.104.205.226 最后登陆:2007/6/15 19:27:00 注册:2007/5/22 15:05:40 财富:105 发帖时间:2007/5/30 13:13:05 发贴者IP:218.104.205.226 标题:歌以当之:[求助]熟悉LPC2210的帮看一个串口通信的问题,急啊~ 摘要:No.106557[求助]熟悉LPC2210的帮看一个串口通信的问题,急啊~ 帮看一个串口程序,调到2点多,死活就是进不到中断 MCU:LPC2210,ARM7 中断方式发送数据,使用FIFO功能,自动发送512字节的buffer 在main函数中调用UART0Ini,就实现自动发送数据 现在发送前16BYTE数据成功,然后就进不了U0THR空的中断~~~ 大家帮看一下,问题出在哪?是不是通常情况下很少用中断方式来发送数据? /*********UART mode config struct********/ typedef struct _UARTMode { uint8 nDataBits;//frame data length in bits,5/6/7/8 uint8 nStopBits;//stop bits,1/2 uint8 Parity;//0:no parity,1:odd parity,2:even parity }UARTMode; /*****Pointing to the byte to send next******/ uint8* pCur; /*****Position of the byte to send next******/ uint16 nPos; /*****Flag to tell that buffer needs to be freshed again******/ uint8 bEmpty; uint8 pBuf[BLOCKSIZE]; /*****Initialize the buffer for send*****/ void BufIni() { uint16 nCnt; for(nCnt=0;nCnt <BLOCKSIZE;nCnt++) pBuf[nCnt] = (nCnt > > 1); bEmpty = 0; } //配置IO端口,选通UART0 void InitIOport() { PINSEL0 = (PINSEL0 & 0xfffffff0) | 0x00000005; } //设置中断寄存器 void IRQConf() { VICIntSelect = 0x00000000; VICVectCntl0 = 0x20 | 6; VICVectAddr = (uint32)IRQ_UART0_Send; VICIntEnable = 0x00000040; U0FCR = 0x81; U0IER = 0x02; } //设置波特率 void SetBaud(uint32 nBaud) { uint32 temp; ......
>>返回讨论的主题
|