微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > PIC定时器0延时程序为什么不能用,下面是代码

PIC定时器0延时程序为什么不能用,下面是代码

时间:10-02 整理:3721RD 点击:

系统主频4Mh 定时器0预分频比1:4

一楼代码插不进来,代码在二楼
程序到   while 那里就不再往前走了

  1. void delay(unsigned int x)
  2. {
  3.         //unsigned char i;   
  4.     while(x--)
  5.     {
  6.             TMR0 = 0x07;
  7.             TMR0IF = 0;
  8.             TMR0IE = 1;
  9.             //i = TMR0IF;
  10.         while(INTCONbits.TMR0IF==0) {NOP();}
  11.         TMR0IF = 0;
  12.     }
  13.     TMR0IE = 0;
  14. }

复制代码

你延时用到中断?延时你开什么中断?TMR0IE = 1?

你的问题是一直停留在while(INTCONbits.TMR0IF==0)这边吧,单步调试时看看定时器到底有没有走,当定时器溢出时,看看INTCONbits.TMR0IF有没有变化

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top