pic32调试笔记 【恢复】

2020-02-10 08:34发布

pic32调试笔记



2008-10-13    小马哈

抱着试试看的态度,最近画了个pic32的板子,让袁先生帮忙免费加工了,星期天的时候收到了板子,当时比较激动,仔细一看,结果发现效果确实挺不错的。不过因为有个项目接近尾声,所以只能先放一边再说。

今天终于有时间了,就先焊接了一个基本系统来进行测试。板子上焊接的元器件有pic32,1117,晶振,电源插座和下载插座。

突然发现了一个问题,板子上没有搞电源指示灯,当初咋就没发现这个问题呢,郁闷一个。不过这个虽然有点缺陷,还不至于影响大局,不怕,先不管。

将放了好久的ICD2找了出来,插上计算机,正确发现硬件,安装驱动,成功。

选择下载器为icd2,将片子选为pic32相应的片子,通过菜单连接icd2,结果居然发现读不了pic32的ID?读出来全是0.怎么回事?芯片又坏了?还是线路有问题?仔细核对了一下icd2的线路图,没发现问题呀。因为pic32是新出来的,会不会是IDE的问题?

关闭mplab,到microchip网站上去找了找,居然发现了一个mplab 8.14,赶紧下载下来,安装。结果却发现不行,系统说无法运行instal srript。咋今天碰到啥事都不顺利呢,RP值有问题?

突然灵感一来,想到可能是windows installer有问题?赶紧下了个最新的,安装起,结果果然如我猜测,windows installer安装好了后,mplab 8.14顺利安装。

安装好后,赶紧运行,提示需要更新icd2的usb固件,通常都是点确定,于是这次想也没想就点了,结果噩梦来了。。。



mplab提示正在更新,结果更新了1分钟,还没结束,而且icd2的灯也没闪,心里咯噔一下,不会又是固件烂了吧?继续等,等了好几分钟,还没好。

等不及了,拔usb吧,拔掉后,mplab提示,无法连接icd2,这个正常。不过当我重新插上icd2的时候,就只亮一个灯了。心想:唉,确实是固件烂了。

看来今晚想看看这个东西也已经不行了。

郁闷一个,带着郁闷的心情,睡觉先。。。



另外想问下,pic32的芯片的第一脚标记好像在芯片的左下角(以文字定位),而AVR的是在左上角。不知道我这样看是否正确?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
37条回答
eagle_avr
1楼-- · 2020-02-13 18:15
顶!
loadstar
2楼-- · 2020-02-13 22:32
不知道小马哈有没有PIC的板子转让啊?带USB的。
zxq6
3楼-- · 2020-02-14 03:27
 精彩回答 2  元偷偷看……
liujuan0501
4楼-- · 2020-02-14 05:16
前两天,老师要我做了个PIC32MX320F128H的最小系统,东西都焊好了。ICD2烧写正确,可灯只亮不闪,郁闷,延时时间已足够长,配置字设置正确。用逻辑笔测没有脉冲,软件仿真程序正确。各位,麻烦帮忙看看程序有什么问题。或者可能哪里有可能导致此问题。thanks

#include <p32xxxx.h>

#define IOPORT_BIT_7 (1 << 7)        
        .text
        .set noreorder

/*********************************************************************
* main()
* This is where the PIC32 start-up code will jump to after initial
* set-up.
********************************************************************/

.ent main
main:


    ori $a0,$zero,0
    la  $s0,TRISB
    sw  $a0,0($s0)



    ori $a0,$zero,0x0ffff
    la  $s0,AD1PCFG
    sw  $a0,0($s0)

    ori $a0,$zero,IOPORT_BIT_7
        la                $s0, LATBCLR
        sw                $a0, 0($s0)       


here:
    ori $a0,$zero,IOPORT_BIT_7
        la                $s0, LATBINV
        sw                $a0, 0($s0)

    jal  delay
    nop

    j  here
    nop




.end main
.ent delay
delay:
       
        addiu        $sp, $sp, -4
        sw        $s0, 0($sp)

    li   $t1,300000000
loop2:
    li   $t0,300000000
loop1:
     addiu $t0,$t0,-1
     bgtz $t0,loop1
     NOP
     addiu $t1,$t1,-1
     bgtz $t1,loop2
     nop
   
    lw $s0,0(sp)
    addiu $sp,$sp,4
        jr                $ra
        nop
.end delay
zxq6
5楼-- · 2020-02-14 08:00
34楼,你可以再写个代码测试led灭的程序,如果能够自如的控制亮灭了,离灯闪也就不远了。
liujuan0501
6楼-- · 2020-02-14 13:50
昨天已经解决了,心情非常高兴。O(∩_∩)O

一周热门 更多>