搜索
bottom↓
回复: 9

在使用PIC32MX系列单片机遇到个奇怪的现象

[复制链接]

出0入0汤圆

发表于 2010-5-24 10:43:43 | 显示全部楼层 |阅读模式
在写程序的时候遇到的问题,然后专门写了两段测试代码:
1. 代码一:
#include <p32xxxx.h>
#include "timedelay.h"

//FOSC = 12.000MHz
#pragma config FPLLMUL = MUL_18, FPLLIDIV = DIV_5, FPLLODIV = DIV_1, FWDTEN = OFF
#pragma config POSCMOD = HS, FNOSC = PRIPLL, FPBDIV = DIV_2

void main(void)
{
    _TRISB0 = 0; //将B0 设置成输出
    _TRISB1 = 0; //将B0 设置成输出
    while(1)
    {
        _RB0 = 0;
        _RB1 = 0;
        delayMs(10); //延时10ms
        _RB0 = 1;
        _RB1 = 1;
        delayMs(10); //延时10ms
    }
}

用示波器测量,B0对应的单片机引脚:有矩形波输出,B1对应的单片机引脚:没有跟B0一致的矩形波输出(偶尔输出一个10us不到的高电平)。

2. 代码二:
#include <p32xxxx.h>
#include "timedelay.h"

//FOSC = 12.000MHz
#pragma config FPLLMUL = MUL_18, FPLLIDIV = DIV_5, FPLLODIV = DIV_1, FWDTEN = OFF
#pragma config POSCMOD = HS, FNOSC = PRIPLL, FPBDIV = DIV_2

void main(void)
{
    TRISB = 0; //将PORTB都设置为输出
    while(1)
    {
        PORTB = 0x00;
        delayMs(10); //延时10ms
        PORTB = 0xFF;
        delayMs(10); //延时10ms
    }
}
用示波器测量,B0、B1对应的单片机引脚:有一致的矩形波输出。

被这个问题搞得头都大了,盼高手指点一下。小弟在此先谢过啦!
(开发工具:MPLAB 8.50+ICD3,单片机:PIC32MX460F256L,外部晶振:12MHz)

出0入0汤圆

发表于 2010-5-24 12:01:11 | 显示全部楼层
LATB=0x0002;
LATB=0x0000;

出0入0汤圆

发表于 2010-5-24 12:03:24 | 显示全部楼层
while(1)
    {
        _RB0 = 0;
      delay_us(5);   //测试一下看可以吗?!!
        _RB1 = 0;
        delayMs(10); //延时10ms
        _RB0 = 1;
         delay_us(5);  //测试一下看可以吗?!!
        _RB1 = 1;
        delayMs(10); //延时10ms
    }

出0入0汤圆

发表于 2010-5-24 12:23:08 | 显示全部楼层
B口设置为数字口,ADPCFG寄存器设置一下.

出0入0汤圆

 楼主| 发表于 2010-5-24 16:44:52 | 显示全部楼层
回复【2楼】piccode
-----------------------------------------------------------------------
先谢谢piccode, 我下午调试了一下,很可惜,B0、B1输出还是不一致。下面是数字示波器的采集结果

示波器探头接到B0脚测得波形图 (原文件名:示波器采集_B0输出.JPG)


示波器探头接到B1脚测得波形图 (原文件名:示波器采集_B1输出.JPG)

出0入0汤圆

 楼主| 发表于 2010-5-24 16:52:55 | 显示全部楼层
回复【3楼】headwolf_83
-----------------------------------------------------------------------

谢谢headwolf_83, 以下是按headwolf_83提供的思路的写的代码,B0、B1输出的波形终于一致了!谢谢
#include <p32xxxx.h>
#include <plib.h>
#include "TimeDelay.h"

//FOSC = 12.000MHz
#pragma config FPLLMUL = MUL_18, FPLLIDIV = DIV_5, FPLLODIV = DIV_1, FWDTEN = OFF
#pragma config POSCMOD = HS, FNOSC = PRIPLL, FPBDIV = DIV_2

int main(void)
{
    PORTSetPinsDigitalOut(IOPORT_B, BIT_0 | BIT_1);
   
    while(1)
    {
        PORTClearBits(IOPORT_B, BIT_0 | BIT_1);
        delayMs(10); //延时10ms
        PORTSetBits(IOPORT_B, BIT_0 | BIT_1);
        delayMs(10); //延时10ms
    }
}

出0入0汤圆

发表于 2010-5-24 17:39:26 | 显示全部楼层
问楼主那个片子价格多少 性能怎样

出0入0汤圆

 楼主| 发表于 2010-5-24 18:40:39 | 显示全部楼层
回复【6楼】vipcff
-----------------------------------------------------------------------

我拿到的是一块公司给的DEMO板(扩展了128KB SRAM,2块SPI接口EEPROM 16Mbit, LAN部分用的是EN28J60,引出USB接口,引出一个UART1),芯片已经焊好了。问了几个网店老板(个人名义,以公司名义采购应该会低很多),报价50多RMB。性能,还在试用中,认识不深。

出0入0汤圆

发表于 2010-5-25 13:12:50 | 显示全部楼层
460F256L,个人估计开增票,40多点到头了吧。量大可能30多也就够了。

出0入0汤圆

发表于 2010-5-25 13:13:34 | 显示全部楼层
这种片子的价格,老老实实找一级代理商咨询最好。真的。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-8 18:33

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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