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.
工具/软件:Code Composer Studio
您好!
我正在对 F28069器件进行编程、以便通过串行通信接口将数据块(256字)传输到 PC。
看起来我必须在每两个字之间设置一个延迟、如下所示:
for (索引=0;索引<256;索引++) { SciaRegs.SCITXBUF = block_0[index]; DELAY_US (800); }
否则、始终会有一些数据丢失、 较短的延迟会导致更多数据丢失。 没有延迟、只传输5个字。
我想知道这是否正确。 因为启用了 FIFO、所以我认为这里不需要延迟。 此外、波特率设置在 PC 和器件之间匹配。 FIFO 配置如下、
void scia_init (void) { //fifo 初始化 SciaRegs.SCIFFTX.All=0xE040;//SCI 复位、SCI FIFO 使能、TXFIFO 内部 CLR SciaRegs.SCIFFRX.All=0x2062;//RXFIFO int CLR、RXFIFO int 启用 SciaRegs.SCIFFCT.All=0x0; //sci 初始化 SciaRegs.SCICCR.all =0x0007;// 1停止位,无回路 //无奇偶校验,8个字符位, //异步模式,空闲线协议 SciaRegs.SCICTL1.all =0x0003;//启用 TX、RX、内部 SCICLK、 //禁用 RX ERR、睡眠、TXWAKE SciaRegs.SCICTL2.all =0x0003; SciaRegs.SCICTL2.bit.RXBKINTENA=1; //波特率~=14400 SciaRegs.SCIHBAUD = 0x0000; SciaRegs.SCILBAUD = 0x00C2; SciaRegs.SCICTL1.all =0x0023; //从复位中撤回 SCI }
有人能指出、如果我遇到任何问题吗?
谢谢
宁