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特有的吗? |
也不知道你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
“本主题需向作者支付 2 ST金币 才能浏览
本主题购买截止日期为 2019-12-12 11:18,到期后将免费”
抱歉,没怎么用过,搞错了。哈哈。
已经更正了,问题我也找到了__HAL_TIM_SET_COUNTER
实际的函数是这样的,好像是新版的固件将函数名更改了,和keil5和IAR的可能不太一样。