我在微控制器STM32F373发现中点亮LED的问题
I have a problem lighting an LED in a microcontroller stm32f373 discovery
我在微控制器设备发现STM32F373
中遇到了一个问题。我使用了STM32 Cube MX,并且该程序执行了HAL库,但LED没有点亮。根据STM指令进行工作。第4课。HAL图书馆。STM32立方体MX。LED和按钮链接俄语
- 设置电源,输入和输出的引脚发现
- 打开RCC-> HSE总线
- 在时钟配置中,启用了HSE。由操作配置如下时钟
- 添加了一个无尽的循环。
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
HAL_Delay(5000); //1 minut
HAL_GPIO_TogglePin(GPIOD, GPIO_PIN_8);
HAL_Delay(5000);
HAL_GPIO_TogglePin(GPIOD, GPIO_PIN_8);
HAL_GPIO_TogglePin(GPIOD, GPIO_PIN_9);
HAL_Delay(5000);
HAL_GPIO_TogglePin(GPIOD, GPIO_PIN_9);
}
- 我做的一切正确吗?
- 解释LED可能不会发亮的原因。
- 微控制器的引脚具有自己的标识符。我在哪里可以找到腿部信息?这个合适的发现设备描述吗?
- 我使用了本课程作者提供的英语文档,仅是我的控制器的版本。STM32F3 HAL和低层驱动器STM32F373XX的描述
LED PIN PC9,PC8
您需要使用HAL_Delay
的第二个延迟。否则,您切换LED,跳到while
的开始,然后再次切换LED。因此,可能仅根据I/O。
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
HAL_Delay(500);
HAL_GPIO_TogglePin(GPIOD, GPIO_PIN_8);
HAL_Delay(500);
HAL_GPIO_TogglePin(GPIOD, GPIO_PIN_8);
}
您需要在将引脚设置为输出并尝试切换它们之前,为LED连接到LED连接到的GPIO外围设备。
在RCC->AHBENR
中,有位点可以打开和关闭单个GPIO端口时钟,GPIOD位于位20,因此RCC->AHBENR |= (1 << 20);
会这样做。将根据您使用的库定义现有的定义,因此请使用这些库代替(1 << 20)
魔术号码。
编辑编辑后,您在底部添加了LED是PINS PC8&amp;PC9,您的代码正在切换PD8和PD9。检查应该是哪种方式。
您是否将GPIO配置为STM32Cubemx中的输出?
启用了中断?如果没有,您会注意到在调试时,hal_delay永远不会返回。尝试放置几个断点,看看您的时环是否实际执行。
相关文章:
- 警告处理为错误这里有什么问题
- 在执行其他功能的同时播放动画(LED矩阵和Arduino/ESP8266)
- 最小硬币更换问题(自上而下方法)
- 为"adjacent"变量赋值时出现问题
- 我的神经网络不起作用 [XOR 问题]
- 在Ubuntu 16.04上安装Cilk时出现问题
- C++我的数学有什么问题,为什么我的代码不能正确循环
- 编译包含字符串的代码时遇到问题
- Project Euler问题4的错误解决方案
- 问题:什么是QAbstractItemView::NoEditTriggers的反面
- 在编译C++代码(具有dlib和opencv)到WASM时面临问题
- 在进程中对同一管道进行读取和写入时C++管道出现问题
- 静态数据成员的问题-修复链接错误会导致编译器错误
- C++ 雷神库 - 使用资源加载器类时出现问题(不命名类型)
- 一个关于在C++中重载布尔运算符的问题
- 首要问题的答案让值班员搞错了
- setlocale的C++土耳其字符串问题
- 我在微控制器STM32F373发现中点亮LED的问题
- 使用 ARDUINO 和处理在 8x8 LED 矩阵上显示数据时出现问题
- 尝试在多个 LED 上的 arduino 上淡入淡出的奇怪问题