OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3860|回复: 2

茶杯:压在排线上,居然引起IO翻转,间断随机。(PIC 借版求问)

[复制链接]

86

主题

567

帖子

0

精华

高级会员

Rank: 4

积分
825
金钱
825
注册时间
2014-9-30
在线时间
139 小时
发表于 2015-8-19 13:39:53 | 显示全部楼层 |阅读模式
5金钱
借 原子老大的 地盘:求问 一个:非常 奇葩的 未解问题:
贵网站 没有 PIC单片机的栏目,所以 暂时 发在这里了。
PIC12f1572——8脚单片机,采用ICSP编程、仿真接口,
可是没有找到:开发完毕之后,这ICSP引脚该怎么处理?

偶然发现:简单的 IO翻转测试 居然有 间隙,天啦,
茶杯 放在 仿真线上“IO翻转间隙”居然 随机扩大。。。
显然是:ICSP引脚受到干扰,可是如何处理?????



IO翻转 测试程序 是如此的简单、没开中断。

// PIC12 F1572 主时钟 32MHz, RA2->WM3_Out, RA4->T1G+边沿中断Input, RA5开关输出
// Configuration bits: selected in the GUI
// CONFIG1
#pragma config BOREN = ON
#pragma config PWRTE = OFF
#pragma config FOSC = INTOSC
#pragma config MCLRE = ON 
#pragma config CP = OFF 
#pragma config WDTE = OFF 
#pragma config CLKOUTEN = OFF 

// CONFIG2
#pragma config WRT = OFF 
#pragma config LPBOREN = OFF 
#pragma config LVP = OFF 
#pragma config STVREN = ON
#pragma config BORV = LO 
#pragma config PLLEN = OFF

#include <xc.h>
#include <stdint.h>
#include <stdbool.h>

#define PWM_PR  (0xbb7f)    // 决定总周期数值
#define PWM_PS  (1)         // (7)表示1:128预分频。(1 => 1:2)
#define DC_MAX  (0xffff)
/*
                         Main application
 */
void main(void)
{
    // initialize the device
    // SCS INTOSC;IRCF 8MHz_HF = 0x72; 16Mhz = 0x78; 32Mhz = 0xF0;
    OSCCON = 0xF0;
    // HFIOFR disabled; HFIOFS not0.5percent_acc; LFIOFR disabled;
    OSCSTAT = 0x00;
    // Set the secondary oscillator
    LATA = 0x20;    // RA5 空闲输出为高电平。
    TRISA = 0x1B;   // RA5为输出,RA4为输入,RA2为Pwm3输出。
    ANSELA = 0x03;  // 关闭RA0,RA1的数字输入。
    WPUA = 0x1B;    // 上拉RA4(RA3),RA1,RA0。
    OPTION_REGbits.nWPUEN = 0x00;
    APFCON = 0x00;
    // =======================
    // Intialize PWM3 - RA2 OUT
    // =======================
    PWM3PH                  = 0;            // 相位寄存器(3PHH、3PHL)
    PWM3DC                  = 0x3e80;       // 占空比(输出的宽度)(主周期x预分频数值)
    PWM3PR                  = PWM_PR;       // 周期寄存器(xPRH、xPRL)
    PWM3CLKCON              = 0;            // Fosc, No prescalar
    PWM3CLKCONbits.PS       = PWM_PS;       // PWM period prescalar
    PWM3CON = PWM3CON & 0xF3;               // standard mode
    PWM3CONbits.PWM3OE      = 1;            // turn on output enable.
    PWM3CONbits.PWM3POL     = 0;            // (0=负脉冲)(1=正脉冲)
    PWM3LDCONbits.PWM3LD    = 1;            // Load OF, PH, DC, and PR buffers
    PWMEN = 0x04;                           // enable all PWM's as once = 0x07.

    while (1)
    {
        // Add your application code
 ORTA=0xDF;
 ORTA=0xFF;
 ORTA=0xDF;
 ORTA=0xFF;
        // IO口 翻转 重复50次
    }
}
/**
 End of File
*/


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

70

主题

6763

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
13125
金钱
13125
注册时间
2012-11-26
在线时间
3814 小时
发表于 2015-8-19 14:16:52 | 显示全部楼层
学无止境
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-8-21 23:48:42 | 显示全部楼层
帮顶。。。。。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-16 07:28

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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