你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32CUBIDE 如何实现延时

[复制链接]
g_流浪过 提问时间:2019-9-3 11:18 /
void delay_us(uint16_t us )
{
        uint16_t differ=0xffff-us-5;
        HAL_TIM_Base_Start(&htim7);
        __HAL_TIM_SetCounter(&htim7,differ);
        while (differ< 0xffff-5)
        {
                differ =__HAL_TIM_GetCounter(&htim7);
        }
        HAL_TIM_Base_Stop(&htim7);

        }
我使用cubemx IDE生成代码进行编译想要实现微妙级的延时,但是代码报错,高亮显示的部分,请教各位一下,这个函数是MDK特有的吗?

收藏 评论5 发布时间:2019-9-3 11:18

举报

5个回答
奏奏奏 回答时间:2019-9-3 11:38:18
你定义配置了定时器7,就是TIM7才能有用呀
也不知道你TIM7的配置参数是否能到微秒级
g_流浪过 回答时间:2019-9-3 12:04:55
奏奏奏 发表于 2019-9-3 11:38
你定义配置了定时器7,就是TIM7才能有用呀
也不知道你TIM7的配置参数是否能到微秒级 ...

我定义了定时器7,CUBEMX定义的,但是我的开发环境用的IDE是ST32CubeIDE
然后软件就报错,Description        Resource        Path        Location        Type
undefined reference to `__HAL_TIM_GetCounter'        main.c        /BreathingLight/Src        line 276        C/C++ Problem

zmh169 回答时间:2019-9-3 15:01:08
这是求助吗?
“本主题需向作者支付 2 ST金币 才能浏览
本主题购买截止日期为 2019-12-12 11:18,到期后将免费”
g_流浪过 回答时间:2019-9-4 15:37:28
zmh169 发表于 2019-9-3 15:01
这是求助吗?
“本主题需向作者支付 2 ST金币 才能浏览
本主题购买截止日期为 2019-12-12 11:18,到期后将 ...

抱歉,没怎么用过,搞错了。哈哈。
g_流浪过 回答时间:2019-9-4 15:43:14
g_流浪过 发表于 2019-9-4 15:37
抱歉,没怎么用过,搞错了。哈哈。

已经更正了,问题我也找到了__HAL_TIM_SET_COUNTER
实际的函数是这样的,好像是新版的固件将函数名更改了,和keil5和IAR的可能不太一样。
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版