本帖最后由 四十四次日落 于 2025-7-2 18:47 编辑
最近用 PIC18F4550 做 USB 转串口,遇到数据丢包严重的问题。已检查 USB 中断配置和缓冲区大小,仍无法解决。有大佬遇到过类似情况吗
// USB中断服务程序
void interrupt high_priority USB_ISR(void) {
if(USBIF) {
if(USBDATIF) {
// 接收数据处理
while(USB_RX_STAT) {
rx_buffer[rx_count++] = URXREG;
if(rx_count >= RX_BUFFER_SIZE) rx_count = 0;
}
USBDATIF = 0; // 清中断标志
}
USBIF = 0; // 清主中断标志
}
}
|