PIC18F4550 USB 通信不稳定
本帖最后由 四十四次日落 于 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 = URXREG;
if(rx_count >= RX_BUFFER_SIZE) rx_count = 0;
}
USBDATIF = 0; // 清中断标志
}
USBIF = 0; // 清主中断标志
}
}
你好,你的代码从哪里来的? 在MLA里有PIC18F4550 USB CDC的例子,你可以参考一下。
下载MLA并安装https://www.microchip.com/en-us/tools-resources/develop/libraries/microchip-libraries-for-applications
安装后所说的例子在此文件夹下
C:\microchip\mla\vXXXX\apps\usb\device\cdc_basic\firmware\picdem_fs_usb.x 看起来像是缓冲区溢出的问题,你可以尝试增加缓冲区的大小,或者优化数据接收的处理逻辑。
页:
[1]