如代码所示,
s = serial('COM3','BaudRate',115200, 'Parity', 'odd','DataBits',8,'StopBits',1);
fopen(s);
我在Matlab的串口通信中添加了奇偶校验功能。我创建了串行端口以将数据发送到 FPGA 板。在 FPGA 板上,我编写了一个代码对 8 位数据进行异或运算,并检查结果对奇偶校验位是否正确。问题是如果奇偶校验错误存在,FPGA板如何要求串口重传数据?FPGA有什么必要的设置吗?
标准 UART 通信(由 RS232 使用)没有内部 ACK(已确认)和 NACK(未确认)功能。如果您希望发送器重新发送数据,您必须自己定义协议并将其编程到发送器和接收器。
但是,在您这样做之前,请确保您确实需要重新传输功能,因为实现起来可能相当复杂。如果您详细说明您的应用程序(您要做什么,以及设置是什么),我可以就此事进一步咨询。你需要问自己的问题:
另请参阅: https ://electronics.stackexchange.com/questions/29134/handling-of-uart-errors