GZZXB 发表于 2018-3-27 13:20:04

求助 XIDE + PICkit3 仿真16LF1934 无法进入调试。

可以识别到PICkit3 ,在下载调试代码时无法成功老是提示编程器件失败。
首次用XIDE,搞不懂这货。
附件是完整工程,就写了几句代码。 XIDE是官网最新版本,XC8也是最新版本。
我尝试过改复位脚为IO或外部复位(复位加上拉10K),用PICkit3供电或外部供电都无法进入调试。用的是内部震荡。
      // CONFIG1
#pragma config FOSC = INTOSC    // Oscillator Selection (INTOSC oscillator: I/O function on CLKIN pin)
#pragma config WDTE = OFF       // Watchdog Timer Enable (WDT disabled)
#pragma config PWRTE = OFF      // Power-up Timer Enable (PWRT disabled)
#pragma config MCLRE = ON      // MCLR Pin Function Select (MCLR/VPP pin function is digital input)
#pragma config CP = OFF         // Flash Program Memory Code Protection (Program memory code protection is disabled)
#pragma config CPD = OFF      // Data Memory Code Protection (Data memory code protection is disabled)
#pragma config BOREN = OFF       // Brown-out Reset Enable (Brown-out Reset enabled)
#pragma config CLKOUTEN = OFF   // Clock Out Enable (CLKOUT function is disabled. I/O or oscillator function on the CLKOUT pin)
#pragma config IESO = OFF       // Internal/External Switchover (Internal/External Switchover mode is disabled)
#pragma config FCMEN = OFF      // Fail-Safe Clock Monitor Enable (Fail-Safe Clock Monitor is disabled)

// CONFIG2
#pragma config WRT = OFF      // Flash Memory Self-Write Protection (Write protection off)
#pragma config PLLEN = ON       // PLL Enable (4x PLL enabled)
#pragma config STVREN = ON      // Stack Overflow/Underflow Reset Enable (Stack Overflow or Underflow will cause a Reset)
#pragma config BORV = LO      // Brown-out Reset Voltage Selection (Brown-out Reset Voltage (Vbor), low trip point selected.)
#pragma config LVP = OFF         // Low-Voltage Programming Enable (Low-voltage programming enabled)

// #pragma config statements should precede project file includes.
// Use project enums instead of #define for ON and OFF.

#include <xc.h>
#include <stdio.h>
#include <stdlib.h>
//#include"pic.h"

浮华一生 发表于 2018-3-27 13:47:59

之前通宵调试代码得时候遇到这么一回 4个小时在找原因后来偶尔又能下载,从此对PIC 的工具 没了好感.

GZZXB 发表于 2018-3-27 14:39:39

浮华一生 发表于 2018-3-27 13:47
之前通宵调试代码得时候遇到这么一回 4个小时在找原因后来偶尔又能下载,从此对PIC 的工具 没了好感. ...

我昨天折腾一个晚上了,以前用IDE+ICD2+PICC很好用。 换了新的工具不熟悉,一个小问题也找不到原因了。

caoxuedong 发表于 2018-3-27 15:41:06

你可以用Pickit3独立烧写软件试试,看看能不能烧写成功,如果能烧写成功,就是MPLAB设置的问题,如果不行,就检查PIC引脚周边电路设计是否合理。

GZZXB 发表于 2018-3-27 17:12:25

caoxuedong 发表于 2018-3-27 15:41
你可以用Pickit3独立烧写软件试试,看看能不能烧写成功,如果能烧写成功,就是MPLAB设置的问题,如果不行, ...

外围也就是供电加一个复位上拉电阻了,没什么外围。

yanzhiwei 发表于 2018-3-27 18:07:41

用XIDE 写程序用IDE烧录。XIDE很多莫名奇妙的问题的

yoursnemo 发表于 2018-3-27 18:44:18

按4楼用MPLAB IPE烧一下看看,排查一下。

用PIC的8bitMCU,涉及到要烧录,一定要看清电源正负脚和VPP脚是否接对。尤其是Vpp脚,会升比较高的电压,接到其他IO上,比较大几率打坏MCU。

GZZXB 发表于 2018-3-27 22:49:45

感谢楼上回复,我是要仿真而不是烧片{:smile:}
一直提示如下:
连接到MPLAB PICkit 3...

Currently loaded firmware on PICkit 3
固件套件版本.....01.51.07
固件类型..............增强型中档

Programmer to target power is enabled - VDD = 3.375000 volts.
Format specifier '%x'

Device Erased...

编程中...

以下存储器区域将被编程:
程序存储器: 起始地址 = 0x0, 结束地址 = 0x7ff
配置存储器
程序存储器
地址:1期望数值:3180收到数值:0
编程器件失败

ersha4877 发表于 2018-3-29 06:01:29

手动下载一次pk3内部程序看,有时会好

focus_hai 发表于 2018-3-29 10:04:25

如果确认硬件没问题的话 picket3的解决无非就几种方式:1.检查configure里面的配置,主要是晶振2,configure里面的DEVICE自动识别是否正确(碰到过一次不正确的,手动改正的)3,固件重新更新一下;4,操作完以上后,一般不用重启电脑,但是以上都不能解决的话,可以试试重启电脑(有过几次的经验,不知其所以然)

pen245760036 发表于 2018-3-29 14:02:10

GZZXB 发表于 2018-3-27 22:49
感谢楼上回复,我是要仿真而不是烧片
一直提示如下:
连接到MPLAB PICkit 3...


仿真的前提是能烧片,都不能烧写了 别提仿真 楼主情况硬件电路和连接问题很大

GZZXB 发表于 2018-3-29 17:13:11

pen245760036 发表于 2018-3-29 14:02
仿真的前提是能烧片,都不能烧写了 别提仿真 楼主情况硬件电路和连接问题很大...

连接也就那5根线了,反复检查了。然后就是MCLR脚接了一个10k电阻到VDD。 没有其他外围了,连接kit3用设置kit3给芯片供电,配置也如上了。
实在是搞不定,今天下了个IDE V8.9准备用ICD2调试,然后发现ICD2居然要仿真头郁闷了{:sad:}

GZZXB 发表于 2018-3-29 17:30:54

focus_hai 发表于 2018-3-29 10:04
如果确认硬件没问题的话 picket3的解决无非就几种方式:1.检查configure里面的配置,主要是晶振2,configur ...

固件重新更新是不是这样操作?

yoursnemo 发表于 2018-3-29 17:46:44

GZZXB 发表于 2018-3-27 22:49
感谢楼上回复,我是要仿真而不是烧片
一直提示如下:
连接到MPLAB PICkit 3...


要进入仿真模式的前提就是——烧录成功{:smile:} 。

有时候什么接对了,但就是烧录不进去有2种可能:
1.本身这个板子的电路就不支持在线烧录,具体参照PICKIT3说明书,有规则说明。
2.如果是用外部电源,电源不是很干净,也经常会烧录失败。

pen245760036 发表于 2018-3-30 13:56:58

本帖最后由 pen245760036 于 2018-3-30 14:11 编辑

你那款芯片是无法直接仿真的 得通过仿真头 这样的仿真还是算了 ,建议自己把烧写口弄成串口打印数据就行了,简单的话一条线就可以监听运行情况
调试编译用IDE 烧写的话用IPE(装X IDE时附带的)比较直观进入管理员模式就可以配置电压(IDE也是可以配置比较繁琐,实时反馈差),个别电源环境较差的板子 电压偏高了它烧不了的,这时要调电压
至于调试单片机嘛 先点灯(确认引脚配置,芯片状况,尤其PIC),然后定时点灯(芯片时钟情况,调通讯非常重要),然后模拟串口调试 这个搞起来剩下的可以通过看串口信息搞,

focus_hai 发表于 2018-3-31 07:55:46

GZZXB 发表于 2018-3-29 17:30
固件重新更新是不是这样操作?

不用这么麻烦,

GZZXB 发表于 2018-4-1 22:25:48

pen245760036 发表于 2018-3-30 13:56
你那款芯片是无法直接仿真的 得通过仿真头 这样的仿真还是算了 ,建议自己把烧写口弄成串口打印数据就行了 ...

不需要仿真头可以仿真的.

GZZXB 发表于 2018-4-1 22:29:30

找别人借了个kit3可以正常仿真,应该是我这个kit3有问题。淘宝45买的估计不好用,朋友microchip买的就很好用。 不过这货只能一个断点倒是不如icd2,可惜的是icd2不能在win10上用。不知和原厂的区别是不是只是固件不同?但是固件明明又可以更新,让人搞不懂了。
页: [1]
查看完整版本: 求助 XIDE + PICkit3 仿真16LF1934 无法进入调试。