变量不用计算就可以自增吗?

[复制链接]
 楼主| winfpt 发表于 2024-8-6 11:35 | 显示全部楼层 |阅读模式
下边是航顺HK32F030MF4P6的官方基本定时器例程,看到里边定义了一个time变量,但是没看到有计算过程(在整个工程中其他文件中也没有找到time变量),请问变量不计算怎么可以自增?下附部分代码:
/**
******************************************************************************
* @file    main.c
* @author  Alexander
* @version V1.0
* @date    2022-xx-xx
* @brief   基本定时器
******************************************************************************
* @attention
*
* 实验平台:HK32F030M开发板
* 论坛    :https://bbs.21ic.com/iclist-1010-1.html
*
******************************************************************************
*/
#include "hk32f030m.h"
#include "bsp_led.h"
#include "bsp_TimBase.h"

volatile uint32_t time = 0; // ms 计时变量

/**
* @brief  主函数
* @param  
* @retval
*/

int main(void)
{
  /* LED 端口初始化 */
  LED_GPIO_Config();

  BASIC_TIM_Init();

  while (1)
  {
    if (time == 500) /* 1000 * 1ms = 1s 时间到 */
    {
      time = 0;
      /* LED1 取反 */
      HandLED_TOGGLE;
    }
  }
}

#ifdef USE_FULL_ASSERT
/**
* @brief  Reports the name of the source file and the source line number
*         where the assert_param error has occurred.
* @param  file: pointer to the source file name
* @param  line: assert_param error line source number
* @retval None
*/
void assert_failed(char *file, uint32_t line)
{
  /* User can add his own implementation to report the file name and line number,
     tex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
  /* Infinite loop */

  while (1)
  {
  }
}
#endif /* USE_FULL_ASSERT */








我是新人,还没有家园币,暂时还没法设置悬赏,实在不好意思,麻烦大家了,多谢赐教!
LcwSwust 发表于 2024-8-6 12:44 | 显示全部楼层
运行正常吗?工程传上来

评论

[url=home.php?mod=space&uid=2830700]@winfpt[/url] :楼主应该看到答案了,_it.c里,在文件资源管理器里应该能搜到。要学会搜索。  发表于 2024-8-6 14:24
运行正常  发表于 2024-8-6 13:21
yuyy1989 发表于 2024-8-6 13:25 | 显示全部楼层
在定时器中断函数里自增的

评论

[url=home.php?mod=space&uid=2830700]@winfpt[/url] :hk32f030m_it.c,文件末尾  发表于 2024-8-6 16:31
没找到定时器终端函数,在哪个文件的哪个位置?  发表于 2024-8-6 16:29
 楼主| winfpt 发表于 2024-8-6 13:33 | 显示全部楼层

变量不用计算就可以自增吗?

https://bbs.21ic.com/forum.php?mod=attachment&aid=MTk0Mjg0MnxmOTQwODc5OHwxNzIyOTIyMjc5fDI4MzA3MDB8MzIzNjEzMg%3D%3D
春风路过 发表于 2024-8-6 13:35 | 显示全部楼层
这个真没必要隐藏,在"hk32f030m_it.c"文件中应该有。否则就是做成汇编了。基本没可能这么恶搞。
icecut 发表于 2024-8-6 15:27 | 显示全部楼层
2 种方式, 一种是你没找到,中断里面自增.
第二种是把硬件计数器定义成变量. 计数器可以自增
 楼主| winfpt 发表于 2024-8-6 16:59 | 显示全部楼层

变量不用计算就可以自增吗?

已找到答案,多谢大家不吝赐教!
春风路过 发表于 2024-8-6 17:19 | 显示全部楼层
winfpt 发表于 2024-8-6 16:59
已找到答案,多谢大家不吝赐教!

要把答案分享给众人,基本的论坛礼仪。现在这些人都这样吗?要大家给自己答案,却不把解决告诉大家。足见人品!

评论

[url=home.php?mod=space&uid=3069604]@LcwSwust[/url] :我才发现他发的工程,原来还以为是乱发一气的。打开一看果然有一个这样名字的文件,我只是从stm32工程里面推导它会有一个这样的文件。因为它们太爱抄了,居然连名字都不会改一下,哎。  发表于 2024-8-7 15:06
已有人回复正确答案,见[url=home.php?mod=space&uid=3422476]@yuyy1989[/url] 的回复 :hk32f030m_it.c,文件末尾  发表于 2024-8-6 22:46
估计楼主觉得大家都看到答案了,你在5楼有答案、yuyy1989也有答案,楼主发的链接里能下载工程。  发表于 2024-8-6 20:56
forgot 发表于 2024-8-7 09:01 | 显示全部楼层
肯定是在定时器的终端里面做的++,找到定时器的中断函数看看,另外告诉你一下在查找的时候要选中工程,不然默认只查找当前文件
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

10

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部