lzh电子论坛

欢迎来到lzh电子论坛:
如果您对电子技术感兴趣就加入我们吧!在这里互相交流互相学习!主要讨论的方向有:单片机,ARM,PCB板设计,FPGA,汇编,C/C++等方面。
-----lzh电子论坛
lzhbbs.top-me.com
lzh电子论坛

电子的道路是孤独的,要懂得左手温暖右手,要懂得把debug当作快乐去欣赏,去享受,那样你才会成功...

欢迎访问lzh电子论坛。可通过【谷歌,SOSO,搜狗】搜索“lzh电子论坛”直接进入论坛。点击了解论坛详细制度


    编写精确延时函数任务

    分享
    avatar
    Admin
    管理员
    管理员

    帖子数 : 869
    威望 : 15
    注册日期 : 12-11-23
    年龄 : 25

    编写精确延时函数任务

    帖子 由 Admin 于 2014-01-08, 10:43 am

    stm32也有自己的精确延时,是采用系统的滴答定时器完成的。
    1.了解滴答定时器
    2.完成滴答定时器初始化,微秒,毫秒延时这三个函数
    3.标明两个延时函数的最大时间。

    注意:关于滴答定时器的详细介绍可以查看《Cortex-M3权威指南》。以及固件库里的misc.c里的函数。
    avatar
    龙家豪
    论坛版主
    论坛版主

    帖子数 : 11
    威望 : 0
    注册日期 : 14-01-07

    回复: 编写精确延时函数任务

    帖子 由 龙家豪 于 2014-01-09, 12:28 pm

    http://pan.baidu.com/s/1rKvF4 不知道为什么加了些库函数然后就报错 说是函数没声明
    avatar
    Admin
    管理员
    管理员

    帖子数 : 869
    威望 : 15
    注册日期 : 12-11-23
    年龄 : 25

    回复: 编写精确延时函数任务

    帖子 由 Admin 于 2014-01-09, 1:59 pm

    龙家豪 写道::http://pan.baidu.com/s/1rKvF4 不知道为什么加了些库函数然后就报错 说是函数没声明

    是不是stm32f10x_conf.h里面没有解除屏蔽呀
    avatar
    Admin
    管理员
    管理员

    帖子数 : 869
    威望 : 15
    注册日期 : 12-11-23
    年龄 : 25

    回复: 编写精确延时函数任务

    帖子 由 Admin 于 2014-01-09, 2:01 pm

    龙家豪 写道::http://pan.baidu.com/s/1rKvF4 不知道为什么加了些库函数然后就报错 说是函数没声明

    需要用到哪个外设的函数,不仅要把相应的.c添加进工程。也需要在stm32f10x_conf.h把相应的头文件接触屏蔽。
    avatar
    龙家豪
    论坛版主
    论坛版主

    帖子数 : 11
    威望 : 0
    注册日期 : 14-01-07

    回复: 编写精确延时函数任务

    帖子 由 龙家豪 于 2014-01-09, 2:32 pm

    就是用到SysTick里面的一些函数,比如说SysTick_CountCmd() 但是报错
    avatar
    Admin
    管理员
    管理员

    帖子数 : 869
    威望 : 15
    注册日期 : 12-11-23
    年龄 : 25

    回复: 编写精确延时函数任务

    帖子 由 Admin 于 2014-01-09, 2:45 pm

    龙家豪 写道::就是用到SysTick里面的一些函数,比如说SysTick_CountCmd() 但是报错

    SysTick里面的一些函数?固件库里没有提供SysTick的函数吧,,你去看Cortex-M3权威指南里的SysTick寄存器介绍,然后去配置那些寄存器,怎么去配置寄存器,在misc.c里面有个函数涉及到了的,你可以参考那个
    avatar
    龙家豪
    论坛版主
    论坛版主

    帖子数 : 11
    威望 : 0
    注册日期 : 14-01-07

    回复: 编写精确延时函数任务

    帖子 由 龙家豪 于 2014-01-09, 5:12 pm

    avatar
    Admin
    管理员
    管理员

    帖子数 : 869
    威望 : 15
    注册日期 : 12-11-23
    年龄 : 25

    回复: 编写精确延时函数任务

    帖子 由 Admin 于 2014-01-09, 5:28 pm


    这个是完成版吗
    avatar
    龙家豪
    论坛版主
    论坛版主

    帖子数 : 11
    威望 : 0
    注册日期 : 14-01-07

    回复: 编写精确延时函数任务

    帖子 由 龙家豪 于 2014-01-09, 5:29 pm

    恩恩 是的
    avatar
    Admin
    管理员
    管理员

    帖子数 : 869
    威望 : 15
    注册日期 : 12-11-23
    年龄 : 25

    回复: 编写精确延时函数任务

    帖子 由 Admin 于 2014-01-09, 5:30 pm

    龙家豪 写道::恩恩 是的

    行,我看看
    avatar
    Admin
    管理员
    管理员

    帖子数 : 869
    威望 : 15
    注册日期 : 12-11-23
    年龄 : 25

    回复: 编写精确延时函数任务

    帖子 由 Admin 于 2014-01-09, 5:33 pm

    龙家豪 写道::恩恩 是的

    你先把这个给模块化,在user_code文件夹里建立delay文件夹,然后在文件夹里放delay.c和delay.h方便以后的使用。
    avatar
    Admin
    管理员
    管理员

    帖子数 : 869
    威望 : 15
    注册日期 : 12-11-23
    年龄 : 25

    回复: 编写精确延时函数任务

    帖子 由 Admin 于 2014-01-09, 5:45 pm

    龙家豪 写道::恩恩 是的

    有个错误,给滴答定时器选择时钟的那个地方你搞错了,按照你那样写应该是选择了HCLK而不是8分频。如果是8分频应该把那个位2是清0的。还有你那个fac_us和fac_ms都是定义的全局变量就可以直接都在初始化的时候赋值,为什么fac_ms还要在函数里去赋值呢,对于一个全局变量不用每次调用的时候都去给它赋值。直接在初始化的时候赋值就可以了。

      目前的日期/时间是2018-06-18, 12:04 pm