多摩川编码器通信速率较快,计划使用FIFO,并使用FIFO中断标志位,但是不使用CUP中断。
1、应该选择地址位多处理器通信模式,还是空闲线多处理模式呢?
2、二者都遵循手册中的SCI异步通信格式吗?
3、看了一遍手册中的SCI感觉有点乱,前半部分通信格式和FIFO的使用不知道如何联系在一起,具体大致流程能否请了解的人详解一下,应该怎么去实现呢?谢谢
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
多摩川编码器通信速率较快,计划使用FIFO,并使用FIFO中断标志位,但是不使用CUP中断。
1、应该选择地址位多处理器通信模式,还是空闲线多处理模式呢?
2、二者都遵循手册中的SCI异步通信格式吗?
3、看了一遍手册中的SCI感觉有点乱,前半部分通信格式和FIFO的使用不知道如何联系在一起,具体大致流程能否请了解的人详解一下,应该怎么去实现呢?谢谢
接收通过RX引脚到RXSHF->RX_BUF->RX FIFO,数据被缓存到FIFO中,FIFO满时会产生相应标志位。当你读取RX_BUF一次接收FIFO中的长度就会减少一次,这就是接收FIFO的缓存原理。发送是一样的。
谢谢您的回复,但是发送的话是不是不一样,我看有些程序中,是直接对TXBUF中的TXDT写数据。这个正确吗?我尝试直接对TXBUF中的TXDT写数据,但是SCI的发送数据不正确了。能否帮忙查看一下问题出现在哪里?或者这种发送的方式就不对,并没有使用到发送FIFO,能否麻烦您大致讲解一下发送数据的过程(类似“接收通过RX引脚到RXSHF->RX_BUF->RX FIFO,数据被缓存到FIFO中,FIFO满时会产生相应标志位。当你读取RX_BUF一次接收FIFO中的长度就会减少一次,这就是接收FIFO的缓存原理”)?
写的话是通过写SCITXBUF寄存器实现的,使能FIFO模式下可以连续写入SCITXBUF但不能超过FIFO长度,因为你连续写入的来不及发送到Pin就会缓存到发送FIFO,这就是FIFO的优势。TXSHF是硬件的移位寄存器不需要直接操作,发送FIFO不为空时会自动向TXSHF填充数据。