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

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管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版