钱柜安徽快3计划群大全: [8/16位单片机] P24FJ256GB106用定时器中断写延时函数,有没有大佬看一下哪里错了,感觉死在了循环里

永利游戏开户直营
132|5
楼主
void Delay_us(unsigned long delay)
{
    T5CON=0;
    T4CON=0;   
    TMR5=0;
    TMR4=0;   
    if(delay>65536)
    {
        PR5 = (unsigned int)(delay>>16);
        PR4 = (unsigned int)delay;
    }
    else
    {
        PR4 = (unsigned int)delay;
    }   
    _T5IP=0x01;
    _T5IF=0;
    _T5IE=1;
    T4CON=0x8008;
    while(!_T5IF){;}
    _T5IF=0;
}
沙发
 楼主 | 2019-11-6 19:07 | 只看该作者
已经跑通了,else里PR5没赋为0,还得禁止中断,为什么延时函数禁止中断后就能跑通了呢
板凳
 楼主 | 2019-11-6 19:07 | 只看该作者
void Delay_us(unsigned long delay)
{
    T5CON=0;
    T4CON=0;   
    TMR5=0;
    TMR4=0;   
    PR5 = (unsigned int)(delay>>16);
    PR4 = (unsigned int)delay;
    _T5IP=0x01;
    _T5IF=0;
    _T5IE=0;
    T4CON=0x8008;
    while(!_T5IF){;}
    _T5IF=0;
}
地板
| 2019-11-7 08:53 | 只看该作者
延时直接使用__delay_ms()和__delay_us()函数就行了呀。没必要用定时器。
XC16这两个函数在“libpic30.h”中。
5
 楼主 | 2019-11-7 09:44 | 只看该作者
北极风 发表于 2019-11-7 08:53
延时直接使用__delay_ms()和__delay_us()函数就行了呀。没必要用定时器。
XC16这两个函数在“libpic30.h” ...

libpic30.h里是外部调用的延时函数,钱柜安徽快3计划群大全:那具体是从哪里调用的呢
6
| 2019-11-7 10:03 | 只看该作者
yoyows 发表于 2019-11-7 09:44
libpic30.h里是外部调用的延时函数,那具体是从哪里调用的呢

你可以看XC16的手册, 搜索这2个函数, 它会告诉你只要include一个头文件, 然后define一个宏,就可以直接调用那2个系统 的delay函数了.
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 投诉建议 创建版块 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

永利游戏开户直营 快速回复 返回顶部 返回列表
澳门银河在线开户 永利游戏开户直营 亿宝娱乐官网 cp彩票娱乐 永利游戏开户直营
钱柜体彩排列3时时彩软件 新澳门PT电子开奖直播 海立方江苏快三最牛攻略 澳洲国际AG国际馆开奖号历史 女神国际HB电子官网
ds太阳城域名注册游戏 威尼斯人福彩3D时时彩计划软件 乐橙谷官方贴吧 mg泡泡富豪登入 威尼斯人北京快乐8最牛攻略
云顶国际娱乐 处女星号安徽快3时时彩平台怎么样 太阳城娱乐 海立方北京快乐8助赢软件 天天VR火星1.5分彩走势图