社区导航

 
查看: 1536|回复: 23

[求助] PIC32代码烧写成功,但不运行

[复制链接]

49

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2018-2-5 11:00:42 | 显示全部楼层 |阅读模式
如题,编译器都提示烧写成功了,但程序没跑起来,MCLR引脚一直低电平,所有IO口高电平,片子始终处于复位的状态,是哪里没做对吗
此帖出自PIC单片机论坛


回复

使用道具 举报

450

TA的帖子

1

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2018-2-5 11:09:47 | 显示全部楼层
额,首先你得排除是硬件的问题,还是你的程序配置问题


回复

使用道具 举报

49

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2018-2-5 11:12:48 | 显示全部楼层
硬件的话,都能正确烧写,应该没问题吧,且烧写过程中我那电压表测量了MCLR引脚,该高电平的时候都是正确的,估计是配置问题,但就是不知道是哪里配置的问题,昨晚搞到2点过才睡


回复

使用道具 举报

6472

TA的帖子

4955

TA的资源

博客管理员

Rank: 6Rank: 6

资源大师勋章

发表于 2018-2-5 11:19:31 | 显示全部楼层
看看时钟配置把,


回复

使用道具 举报

49

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2018-2-5 11:20:47 | 显示全部楼层
用的内部FRC


回复

使用道具 举报

1万

TA的帖子

15

TA的资源

版主

Rank: 6Rank: 6

发表于 2018-2-5 11:28:49 | 显示全部楼层
检查复位有无及晶振的配置,应是配置问题。
http://shop34182318.taobao.com/


回复

使用道具 举报

49

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2018-2-5 11:28:57 | 显示全部楼层
关键是MCLR引脚怎么会是一直低电平呢,即便没配置正确,复位是硬件控制的啊


回复

使用道具 举报

49

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2018-2-5 11:31:22 | 显示全部楼层
#pragma config FMIIEN = ON              // Ethernet RMII/MII Enable (MII Enabled)
#pragma config FETHIO = ON              // Ethernet I/O Pin Select (Default Ethernet I/O)
#pragma config PGL1WAY = ON             // Permission Group Lock One Way Configuration (Allow only one reconfiguration)
#pragma config PMDL1WAY = ON            // Peripheral Module Disable Configuration (Allow only one reconfiguration)
#pragma config IOL1WAY = ON             // Peripheral Pin Select Configuration (Allow only one reconfiguration)
#pragma config FUSBIDIO = ON            // USB USBID Selection (Controlled by the USB Module)

// DEVCFG2
#pragma config FPLLIDIV = DIV_8         // System PLL Input Divider (8x Divider)
#pragma config FPLLRNG = RANGE_34_68_MHZ// System PLL Input Range (34-68 MHz Input)
#pragma config FPLLICLK = PLL_FRC       // System PLL Input Clock Selection (FRC is input to the System PLL)
#pragma config FPLLMULT = MUL_128       // System PLL Multiplier (PLL Multiply by 128)
#pragma config FPLLODIV = DIV_32        // System PLL Output Clock Divider (32x Divider)
#pragma config UPLLFSEL = FREQ_24MHZ    // USB PLL Input Frequency Selection (USB PLL input is 24 MHz)

// DEVCFG1
#pragma config FNOSC = FRCDIV           // Oscillator Selection Bits (Fast RC Osc w/Div-by-N (FRCDIV))
#pragma config DMTINTV = WIN_127_128    // DMT Count Window Interval (Window/Interval value is 127/128 counter value)
#pragma config FSOSCEN = OFF             // Secondary Oscillator Enable (Enable SOSC)
#pragma config IESO = ON                // Internal/External Switch Over (Enabled)
#pragma config POSCMOD = OFF            // Primary Oscillator Configuration (Primary osc disabled)
#pragma config OSCIOFNC = OFF           // CLKO Output Signal Active on the OSCO Pin (Disabled)
#pragma config FCKSM = 0//CSECME           // Clock Switching and Monitor Selection (Clock Switch Enabled, FSCM Enabled)
#pragma config WDTPS = PS1048576        // Watchdog Timer Postscaler (1:1048576)
#pragma config WDTSPGM = STOP           // Watchdog Timer Stop During Flash Programming (WDT stops during Flash programming)
#pragma config WINDIS = NORMAL          // Watchdog Timer Window Mode (Watchdog Timer is in non-Window mode)
#pragma config FWDTEN = 0//OFF             // Watchdog Timer Enable (WDT Disabled)
#pragma config FWDTWINSZ = WINSZ_25     // Watchdog Timer Window Size (Window size is 25%)
#pragma config DMTCNT = DMT31           // Deadman Timer Count Selection (2^31 (2147483648))
#pragma config FDMTEN = 0//OFF              // Deadman Timer Enable (Deadman Timer is enabled)

// DEVCFG0
#pragma config DEBUG = OFF               // Background Debugger Enable (Debugger is enabled)
#pragma config JTAGEN = OFF             // JTAG Enable (JTAG Disabled)
#pragma config ICESEL = ICS_PGx1        // ICE/ICD Comm Channel Select (Communicate on PGEC1/PGED1)
#pragma config TRCEN = OFF               // Trace Enable (Trace features in the CPU are enabled)
#pragma config BOOTISA = 0//MIPS32         // Boot ISA Selection (Boot code and Exception code is MIPS32)
#pragma config FECCCON = OFF_UNLOCKED   // Dynamic Flash ECC Configuration (ECC and Dynamic ECC are disabled (ECCCON bits are writable))
#pragma config FSLEEP = OFF             // Flash Sleep Mode (Flash is powered down when the device is in Sleep mode)
#pragma config DBGPER = PG_ALL          // Debug Mode CPU Access Permission (Allow CPU access to all permission regions)
#pragma config SMCLR = 0//MCLR_POR        // Soft Master Clear Enable bit (MCLR pin generates a normal system Reset)
#pragma config SOSCGAIN = GAIN_2X       // Secondary Oscillator Gain Control bits (2x gain setting)
#pragma config SOSCBOOST = ON           // Secondary Oscillator Boost Kick Start Enable bit (Boost the kick start of the oscillator)
#pragma config POSCGAIN = GAIN_2X       // Primary Oscillator Gain Control bits (2x gain setting)
#pragma config POSCBOOST = ON           // Primary Oscillator Boost Kick Start Enable bit (Boost the kick start of the oscillator)
#pragma config EJTAGBEN = NORMAL        // EJTAG Boot (Normal EJTAG functionality)

// DEVCP0
#pragma config CP = OFF                 // Code Protect (Protection Disabled)
#include <xc.h>
以上是配置代码,用的内部FRC


回复

使用道具 举报

49

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2018-2-5 11:32:06 | 显示全部楼层
看门狗,程序监控定时器都关闭了


回复

使用道具 举报

49

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2018-2-5 11:45:36 | 显示全部楼层
NU{CUKO9O2[3CWM6`45ERDP.png


回复

使用道具 举报

49

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2018-2-5 11:46:31 | 显示全部楼层
上面是我的下载和复位电路,之前使用DSPIC,一直用的这个电路,都没问题的


回复

使用道具 举报

153

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2018-2-5 15:50:47 | 显示全部楼层
检查下硬件
学习永无止境


回复

使用道具 举报

49

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2018-2-5 16:30:56 | 显示全部楼层
检查了,对芯片补焊了一下,情况依旧


回复

使用道具 举报

49

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2018-2-5 16:32:02 | 显示全部楼层
用示波器看了下电源的纹波啥的,也都正常的

点评

复位和晶振,电源,都检查一下焊接。测一下波形。换个原来正常的程序试试。  详情 回复 发表于 2018-2-5 16:58


回复

使用道具 举报

3512

TA的帖子

11

TA的资源

五彩晶圆(高级)

Rank: 9Rank: 9Rank: 9

发表于 2018-2-5 16:58:35 | 显示全部楼层
asdmaill 发表于 2018-2-5 16:32
用示波器看了下电源的纹波啥的,也都正常的

复位和晶振,电源,都检查一下焊接。测一下波形。换个原来正常的程序试试。


回复

使用道具 举报

49

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2018-2-5 17:01:23 | 显示全部楼层
自己做的板子,现在测试的代码就是才写好,准备测试下板子用的


回复

使用道具 举报

49

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2018-2-5 17:05:41 | 显示全部楼层
MCLR引脚怎么会一直都是低电平呢,而烧写代码的时候又是正确的,能被拉到3.3V,烧写完后,MCLR就一直低电平


回复

使用道具 举报

49

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2018-2-5 17:25:53 | 显示全部楼层
我将电源断开,IPE能提示目标移除,接上电源,IPE就提示目标发现,然后就显示器件ID版本号A1


回复

使用道具 举报

49

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2018-2-5 17:27:29 | 显示全部楼层
因此我认为硬件没什么问题,而是配置上的问题,应该是DEVCFG那几个配置寄存器没配置对,但又不知道会是哪个位没有配置正确


回复

使用道具 举报

647

TA的帖子

1

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2018-2-5 20:16:22 | 显示全部楼层
配置位只配置时钟和ICSP引脚,其他保持默认应该没问题的。实在不济建议将SW1和C2去掉,直接将MCLR用电阻拉高。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

小黑屋|手机版|Archiver|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2018-10-16 19:17 , Processed in 0.870470 second(s), 17 queries , Gzip On, MemCache On.

快速回复 返回顶部 返回列表