C 车载LED,不带';t打开/关闭
我刚开始使用STM32F407VGT发现工具包,我想打开/关闭板上的LED。我使用CubeMX生成初始化代码,SystemWorkBench Eclipse进行编译,还使用ST-LINK STM32对我的电路板进行编程。在CubeMX中,我将PD12-PD15端口初始化为输出。我使用HAL_GPIO_WritePin函数来设置我的LED灯。在编译和编程到设备后,什么都没有发生。。。请告诉我我做错了什么C 车载LED,不带';t打开/关闭,c,stm32,led,stm32cubemx,C,Stm32,Led,Stm32cubemx,我刚开始使用STM32F407VGT发现工具包,我想打开/关闭板上的LED。我使用CubeMX生成初始化代码,SystemWorkBench Eclipse进行编译,还使用ST-LINK STM32对我的电路板进行编程。在CubeMX中,我将PD12-PD15端口初始化为输出。我使用HAL_GPIO_WritePin函数来设置我的LED灯。在编译和编程到设备后,什么都没有发生。。。请告诉我我做错了什么 int main(void) { /* USER CODE BEGIN 1 */ /
int main(void)
{
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
/* MCU Configuration--------------------------------------------------------*/
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();
/* USER CODE BEGIN Init */
/* USER CODE END Init */
/* Configure the system clock */
SystemClock_Config();
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
/* Initialize all configured peripherals */
MX_GPIO_Init();
/* USER CODE BEGIN 2 */
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
HAL_GPIO_WritePin(GPIOD, GPIO_PIN_13, GPIO_PIN_SET);
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
}
/* USER CODE END 3 */
}
问题解决了!ST-LINK似乎没有正确上传十六进制,我使用了AC6上传,所有东西似乎都工作正常您验证了吗,端口/引脚配置为数字输出吗?是的,我在CubeMX中完成了。单击ex.PD12端口并将其设置为GPIO_输出您是否在电路板数据表上检查PD13是否确实连接到LED?有时CubeMX会出错……而不是用万用表检查电路板本身的实际连接。在STM32H743-Nucleo2板上,CubeMX项目中3个LED中的2个显示在错误的引脚上,用户手册中至少有一个显示在错误的引脚上。当你这样做的时候,你也可以检查一下,当你的程序运行的时候,你的pin码是否真的被驱动得很高。你确定吗?我想了解更多细节,所以,在我从CubeMX生成代码,然后在AC6中打开项目,构建它并通过ST-LINK上传之后,一切都正常工作。然后我对代码做了一些修改,比如toogling LED,并构建了它,然后再次尝试通过ST-LINK上传,但板上什么也没发生。但如果我通过AC6上传,一切都会很顺利。这真的很奇怪,但我不知道它有什么问题你说的“通过AC6上传”是什么意思?是否有AC6 jtag/swd探头?我是指顶部调试按钮旁边的绿色“运行”按钮menu@David:您有没有忘记按电路板上的重置按钮来激活加载的程序?