我正在使用PIC24FJ256GB106控制器进行USB CDC通信,我从微芯下载了MLA,并修改了PIC24FJ256GB110的cdc_basic_demo为PIC24FJ256GB106(在项目配置中将设备形式从PIC24FJ256GB110更改为PIC24FJ256GB106)。 在设备管理器的USB部分显示为未知设备(设备描述符请求失败),我也尝试从USB文件夹的实用程序中安装设备驱动程序,这样做显示不兼容Windows x64。 我还尝试使用只包含USB Framework Lite库的MCC生成代码,并使用MLA USB Device Lite生成代码并将其写入我的控制器,但这次设备管理器中没有显示任何设备的迹象。 我正在使用 PIC24FJ256GB106,配备 12Mhz 晶体,控制器的 D+ 和 D- 引脚通过扼流圈连接到连接器,没有使用外部上拉电阻,只有内部上拉。我使用的扼流圈是 WCM 2012-121Y-N,用于避免高频噪声。
#pragma config WPFP = WPFP511 //写保护闪存页面段边界->最高页面(与页面170相同) #pragma config WPDIS = WPDIS //段写保护禁用位->禁用段代码保护 #pragma config WPCFG = WPCFGDIS //配置字代码页面保护选择位->最后一页(在程序存储器的顶部)和Flash配置字不保护 #pragma config WPEND = WPENDMEM //段写保护结束页选择位->从WPFP写保护到内存的最后一页
// 配置2 #pragma config POSCMOD = HS //主振荡器选择->选择HS振荡器模式 #pragma config DISUVREG = OFF //内部USB 3.3V稳压器禁用位->稳压器已禁用 #pragma config IOL1WAY = OFF //IOLOCK One-Way Set Enable bit->Write RP Registers Once #pragma config OSCIOFNC = ON //主振荡器输出功能->OSCO 作为端口 I/O (RC15) #pragma config FCKSM = CSECMD //时钟切换和监控->时钟切换已启用,故障安全时钟监控器已禁用 #pragma config FNOSC = PRIPLL // 振荡器选择->FRC #pragma config PLL_96MHZ = ON //96MHz PLL 禁用->启用 #pragma config PLLDIV = DIV3 //USB 96 MHz PLL Prescaler Select bits-> 振荡器输入除以3 (12MHz输入) #pragma config IESO = ON //内部外部切换模式-》IESO模式(双速启动)禁用
// 配置1 #pragma config WDTPS = PS32768 //看门狗定时器分频器->1:32768 #pragma config FWPSA = PR128 //WDT 分频器->分频比为 1:128 #pragma config WINDIS = OFF //看门狗定时器窗口->标准看门狗定时器启用,(窗口模式禁用) #pragma config FWDTEN = OFF //看门狗定时器使能->看门狗定时器已禁用 #pragma config ICS = PGx2 //通信通道选择->仿真器功能与PGEC1/PGED1共享 #pragma config BKBUG = OFF //背景调试->设备重置为工作模式 #pragma config GWRP = OFF //一般代码段写保护-允许对程序存储器的写入 #pragma config GCP = OFF //General Code Segment Code Protect->代码保护已禁用 #pragma config JTAGEN = OFF //JTAG Port Enable->JTAG port is disabled
这是我的项目的配置位,下面还附上了项目文件。 如果有人能指导我解决这个问题,那就太好了。 提前感谢! |