2812的异步串口有增强功能,发送和接收都一个16深度的fifo,不知如何用,看了2812的手册,我是这样理解:
1.如果是使能fifo的话,在发送数据时,要发送的数据(在SCITXBUF中)都是先存入fifo,然后再到移位寄存器(TXSHF)中,移位寄存器再将数据送到发送引脚,在这个过程中,只要fifo没有满,SCITXBUF就会将待发的数据移到fifo中,因此,此时(fifo未满)发送准备好标志位一直保持为1;
2.fifo使能,接收时,数据从引脚到移位寄存器,然后就是进入fifo,只要fifo里面有数据,并且接收缓冲寄存器(SCIRXBUF)为空,fifo就会把数据存到SCIRXBUF中去,所以,此过程(fifo中有数据)接收准备好标志位RXRDY会一直保持有效!
3.异步串口里的fifo发送(接收)中断与一般的发送(接收)中断是共用一条中断向量的!
以上是我对增强的异步串口的理解,不知对不对,大家指点一二啊!
呵呵
unsigned int * UART_MODE = (unsigned int *) 0x4010;
// Initialize SCI-A:
*UART_MODE = 0x44;
上面是啥子作用啊????
我们都是做2812的请大家加入这个群,一起讨论吧!群号码:3049720
unsigned int * UART_MODE = (unsigned int *) 0x4010;
// Initialize SCI-A:
*UART_MODE = 0x44;
上面是啥子作用啊????
unsigned int * UART_MODE = (unsigned int *) 0x4010;//这句话的意思是让UART_MODE和地址 0x4010联系起来,
*UART_MODE = 0x44; // 这句话的意思是向这个地址处发数据
unsigned int * UART_MODE = (unsigned int *) 0x4010;//这句话的意思是让UART_MODE和地址 0x4010联系起来,
*UART_MODE = 0x44; // 这句话的意思是向这个地址处发数据
上面这个我清楚,但是上面的执行是啥子作用呢??UART咋还有个MODE的呢??实在搞不懂,我看了原理图也没这个连接啊!0x4010是2812的zone1空间上的地址,但是原理图好像没有扩展出zone1啊????请指点!
其实对于芯片max3160的工作方式的选择全部是通过cpld给出的信号,而该信号的给出就是通过对地址0x4010处写上对应的控制字,从而实现工作方式的选择,具体操作是固化在cpld里面的,所以你看不到而已。
哦,max3160还要mode选择啊??但我以前用单片机接max232时咋没有这个呢??我看dsk2812上有两个串口芯片来独立支持两个串口,max3160除了进行串口通信外还有其他作用哦??我要重新做个板子,用dsp2812直接接上max232应该也能成功通信的吧??
主要是max3160可以工作在rs485模式下,还有其他几根线的作用你看一下开发办的资料,上面说的很详细。