Có một số bạn gặp hiện tượng là không nhận mạch nạp PICkit2 trên máy tính mặc dù trong Device Manager vẫn nhìn thấy. Và muốn sử dụng mạch nạp PICkit2 thì cần phải cài máy ảo. Ban đầu nghe vậy mình cũng không tin, có thể có sự nhầm lẫn nào đó chăng? Rồi một hôm mình mượn một cái máy tính chạy chip I5 8250U gặp đúng hiện tượng như trên (máy mình chạy chip I5 6200U, hệ điều hành Windows 10 bản 64 bit và mọi thứ hoàn toàn bình thường, sử dụng mạch nạp PICkit2, PICkit3 bình thường). Máy mình mượn được cũng nhận mạch nạp trong Device Manager hay sử dụng phần mềm MikroE Hid Terminal vẫn nhìn thấy mạch nạp bình thường, tuy nhiên khi sử dụng phần mềm PICkit2 bản 2.61 thì không nhận mạch nạp.
Sau một hồi tìm hiểu mình phát hiện do .NET Framework, có thể có xung đột nào đó. Mình tìm ra hàm gây lỗi là hàm giao tiếp với USB, vì vậy mình đã viết một thư viện liên kết động DLL bằng VC++ 6.0. Sau đó sửa lại phần mềm PICkit thay vì sử dụng thư viện USB gốc thì sử dụng thư viện DLL của mình để giao tiếp với USB, và thật tuyệt là mọi thứ đã OK.
* Bản đầu tiên mình sửa từ mã nguồn 2.40 của mạch nạp PICkit2, bản này sử dụng Firmware 2.10
https://drive.google.com/file/d/1VhTJn6lJ9kDk016t9tHafuzJ4yHNFffb/view?usp=sharing
* Bản thứ 2 này mình sửa từ mã nguồn của phần mềm PICkit3 bản 3.10, có thể sử dụng cho cả mạch nạp PICkit2 và PICkit3
https://drive.google.com/file/d/1YHcFluOxsBdkJdMayYbxRwt_E2iRKwyA/view?usp=sharing
* Bản thứ 3 này mình sửa trực tiếp từ phần mềm PICkit2 bản 2.61 và hướng dẫn mọi người có thể tự làm
https://drive.google.com/file/d/1HTeFseLxUMeJBtEGSXr9BueO3dXF3FUy/view?usp=sharing
Để đơn giản nhất thì mọi người tải về bản thứ 2, bản này có thể sử dụng cho cả mạch nạp PICkit2 và mạch nạp PICkit3. Bạn nào muốn tìm hiểu hay tự làm thì có thể xem hướng dẫn trong video thứ 3 mình hướng dẫn sửa trực tiếp phần mềm PICkit2 bản 2.61
Link phần mềm HID Terminal:
http://vidieukhien.org/hid-terminal-phan-mem-test-giao-tiep-usb-hid.html