注册 登录
查看: 506|回复: 9

[其他] 调试程序时出现了这个提醒

[复制链接]
发表于 2014-2-28 17:49:24 | 显示全部楼层 |阅读模式
本帖最后由 majiyong 于 2014-2-28 17:50 编辑

用的山外的库函数
Warning[Pe223]: function "delayus" declared implicitly
这个是要加什么东西么
回复

使用道具 举报

发表于 2014-2-28 17:50:23 | 显示全部楼层
山外哥的代码,是用 DELAY_US 来选择不同模块的
回复 支持 反对

使用道具 举报

发表于 2014-2-28 17:50:56 | 显示全部楼层
这个是你自己的函数吧?山外哥代码有现成的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-2-28 17:52:06 | 显示全部楼层
韦嘉淑 发表于 2014-2-28 17:50
山外哥的代码,是用 DELAY_US 来选择不同模块的

那你的us延迟用的什么啊,我想延迟10us该用什么函数。
回复 支持 反对

使用道具 举报

发表于 2014-2-28 18:19:37 | 显示全部楼层
majiyong 发表于 2014-2-28 17:52
那你的us延迟用的什么啊,我想延迟10us该用什么函数。

我选择的是DWT这个模块做延时的。
K60 的PIT很多,所以随便选一个也行的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-2-28 18:43:48 | 显示全部楼层
韦嘉淑 发表于 2014-2-28 18:19
我选择的是DWT这个模块做延时的。
K60 的PIT很多,所以随便选一个也行的

有人说10us用中断做10us不是很好,用延迟比较好,那个延迟函数是山外里面的
顺便你把你的延迟发给我一份吧,不要中断的
/*************************************************************************
*                             山外嵌入式开发工作室
*
*  函数名称:delayms
*  功能说明:延时函数(不准确),内核频率为100M时较为准确
*  参数说明:无
*  函数返回:无
*  修改时间:2012-2-1    已测试
*  备    注:
*************************************************************************/
void  delayms(uint32  ms)
{

    uint32  i, j;
    for(i = 0; i < ms; i++)
    {
        for(j = bus_clk_khz; j > 0; j--)
        {
            asm("nop");
        }
    }
}



回复 支持 反对

使用道具 举报

发表于 2014-2-28 18:46:04 | 显示全部楼层
majiyong 发表于 2014-2-28 18:43
有人说10us用中断做10us不是很好,用延迟比较好,那个延迟函数是山外里面的
/************************* ...

你用的是我们旧版本代码吧?
我们新版本代码已经用 DWT、PIT、SysTick、LPTMR模块实现了非中断的延时函数。
可以调用 DELAY_US  这个宏定义来延时,这宏定义是可以条件编译选择 上述那些模块实现延时的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-2-28 18:52:25 | 显示全部楼层
山外メ雲ジ 发表于 2014-2-28 18:46
你用的是我们旧版本代码吧?
我们新版本代码已经用 DWT、PIT、SysTick、LPTMR模块实现了非中断的延时函数 ...

嗯,我用的是旧代码,找不到新的代码,你能送我一份新代码么
回复 支持 反对

使用道具 举报

发表于 2014-2-28 18:55:47 | 显示全部楼层
majiyong 发表于 2014-2-28 18:52
嗯,我用的是旧代码,找不到新的代码,你能送我一份新代码么

在论坛置顶帖子里就有K60新版本的代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-2-28 19:41:42 | 显示全部楼层
山外メ雲ジ 发表于 2014-2-28 18:55
在论坛置顶帖子里就有K60新版本的代码

void systick_delay_ms(uint32 ms)
{
    while(ms--)
    {
        systick_delay(SYSTICK_CLK_KHZ);
    }
}
在新代码里没找到us的,我要得到us的只需要把SYSTICK_CLK_KHZ改成SYSTICK_CLK_KHZ/1000就行了吧。

还有我想把systick_delay_ms加入到旧版里面,我需要复制那些文件的内容。除了MK60_SysTick还有别的么
回复 支持 反对

使用道具 举报

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

本版积分规则

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