gpt4 book ai didi

c - 获取按钮点击stm32板的 react 时间

转载 作者:行者123 更新时间:2023-11-30 16:54:38 25 4
gpt4 key购买 nike

我正在尝试用C语言在stm32板上制作一个 react 时间游戏。我不确定如何返回确切的 react 时间,目前我做了一个循环,每次循环都会增加50毫秒,但没有得到被打断。

if ((GPIOA->IDR & USER_GPIO_PIN) != 0x0)
{
//code
}

因此,当您单击按钮(USER_GPIO_PIN)时,它应该打破循环并返回准确的 react 时间数字(不知道如何执行此操作)或估计值

LCD_GLASS_DisplayString((uint8_t*)"text");

那么有什么函数可以获取按下按钮之间的时间差吗?

另外,我尝试添加随机延迟以使游戏更有趣(一定延迟后LED灯闪烁,你必须按下按钮),但我尝试的随机功能似乎不起作用。

srand(time(NULL));
uint32_t randomDelay = rand();

最佳答案

软件中的随机功能只是一个包含大量随机数的表。 srand 函数指示您将在表中开始查找的位置。

换句话说,您需要一个“随机”数字(又名种子)作为开始,以便启动该过程。获取此种子的一种方法是像您一样查看当前时间。如果这不起作用,我会看看如何使用 srand (记住它只能在初始化中使用一次)以及函数 time(NULL) 返回什么

stm32(以及大多数其他 MCU)确实在硬件本身中内置了自己的随机生成器。通过配置一组定义的硬件寄存器即可使用此功能。 ST MicroElectronics 非常友善地为我们提供了示例代码和捆绑在一起的 HAL 库,称为“STM32Cube”,您可以在配置时将其用作指南。对于stm32f7系列,请参见文件stm32f7xx_hal_rng.c

关于c - 获取按钮点击stm32板的 react 时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40494510/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com