[PIC®/AVR®/dsPIC®产品] 延时程序的移植

[复制链接]
1177|15
 楼主| renyaq 发表于 2022-7-5 20:38 | 显示全部楼层 |阅读模式
本帖最后由 pzsh 于 2022-11-6 21:12 编辑

之前的代码是外部晶振20M,代码如下
void DelayMS(uint16 delay)
{
    uint16 i;
    for(; delay > 0; delay--)
        for(i = 0; i < 453; i++);
}
现在要改成内部8M的,453应该改成多少?
chenqianqian 发表于 2022-7-5 20:41 来自手机 | 显示全部楼层
改成8M,主频没有变得化,就不用改啊。
zhenykun 发表于 2022-7-5 20:44 | 显示全部楼层
直接用__delay_us()和__delay_ms()多好。
stly 发表于 2022-7-5 20:45 | 显示全部楼层
直接定义振荡频率就行,#define _XTAL_FREQ 8000000
supernan 发表于 2022-7-5 20:47 | 显示全部楼层
XC8可以直接使用,XC16需包含libpic30.h,定义FCY =  _XTAL_FREQ / 2
 楼主| renyaq 发表于 2022-7-5 20:50 | 显示全部楼层
我用的maple8.84
lizye 发表于 2022-7-5 20:53 | 显示全部楼层
一楼的方法是编译器compiler定义的方法. 你的MAPLAB 8.84是IDE...
IDE 是IDE, compiler是compiler..
两码事的
wyjie 发表于 2022-7-5 20:56 | 显示全部楼层
453/(20/8)
 楼主| renyaq 发表于 2022-7-5 20:58 | 显示全部楼层

好的,我明天去单位试一下,多谢各位大侠了哈        
tpgf 发表于 2022-8-2 08:00 | 显示全部楼层
其他配置有变化吗
qcliu 发表于 2022-8-2 08:09 | 显示全部楼层
定义晶振频率是多少就是多少吗
drer 发表于 2022-8-2 08:17 | 显示全部楼层
这个延时函数和什么有关系啊
coshi 发表于 2022-8-2 08:27 | 显示全部楼层
这个延时函数的时钟源使用的是外部时钟源吗
kxsi 发表于 2022-8-2 08:36 | 显示全部楼层
主频有变化吗
wiba 发表于 2022-8-2 09:08 | 显示全部楼层
呵呵 完全可以实测一下
Bowclad 发表于 2022-9-10 23:25 | 显示全部楼层
定义震荡频率就行了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

700

主题

10138

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部