在写程序的时候遇到的问题,然后专门写了两段测试代码:
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)
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>