gpt4 book ai didi

putty - 使用 PuTTY 从 STM32 打印

转载 作者:行者123 更新时间:2023-12-04 13:21:14 29 4
gpt4 key购买 nike

我想打印来 self 的 STM32 Nucleo-L073RZ 微 Controller 的消息。我该怎么办?我应该使用 UART 吗?哪里可以获得相应的代码?

#include "stm32l0xx.h"
#include "stm32l0xx_nucleo.h"
#include "stm32l0xx_hal.h"
#include "stdio.h"

static void GPIO_Init (void);
static void UART_Init (void);

int main(void)
{
HAL_Init();
GPIO_Init();
printf("Hello");
while(1)
{

}

}

static void GPIO_Init(void)
{
BSP_LED_Init(LED2);
BSP_LED_On(LED2);

GPIO_InitTypeDef GPIO_InitStruct;
__HAL_RCC_GPIOA_CLK_ENABLE();


/*Configure GPIO pin : PA13*/
GPIO_InitStruct.Pin = GPIO_PIN_13;
GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING;
GPIO_InitStruct.Pull = GPIO_PULLUP;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);

/* EXTI interrupt init*/
HAL_NVIC_SetPriority(EXTI4_15_IRQn, 0, 0);
HAL_NVIC_EnableIRQ(EXTI4_15_IRQn);
}
/*Uart Init Function*/
static void UART_Init(void)
{

}

void EXTI4_15_IRQHandler(void)
{
HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_13);
}

void HAL_GPIO_EXTI_Callback(uint16_t GPIO_PIN)
{
BSP_LED_Toggle(LED2);
counter();
}

int counter()
{
int i;
i = 0;
i++;
printf("/n %d", i);
}

如何在我的 PC 上显示计数器?我希望在 PuTTY 上看到中断的次数。我应该连接 UART 还是可以打印?

最佳答案

您可以在 Nucleo 上使用 UART

所有 Nucleo 开发板都有一个内置的 UART 转 USB 模块,可自动将数据传输到计算机上的串行端口。如果在 Windows 上,打开您的控制面板,转到设备管理器,在 COM 端口下您应该会看到您的 Nucleo。

初始化UART外设

引用您的 Nucleo 用户手册以查看哪些 UART 引脚连接到 USB 端口(STM32CubeMX 可能已经映射了这些)。

初始化外设时,选择波特率,如9600,记住

配置腻子

输入Nucleo的COM端口和您之前选择的波特率,并选择Serial作为传输方式。如果启用了某些硬件流控制选项,您可能必须禁用它们

传输代码

HAL 具有通过 UART 传输的功能。像 HAL_UART_Transmit(...) 这样的东西。您必须查看如何具体使用该功能,那里有很多很棒的教程。

我个人使用 sprintf 在 UART 上打印格式良好的字符串,如下所示:

char buf[64];
sprintf(buf, "Value of counter: %d\r\n", i);

// change huartX to your initialized HAL UART peripheral
HAL_UART_Transmit(&huartX, buf, strlen(buf), HAL_MAX_DELAY);

关于putty - 使用 PuTTY 从 STM32 打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52385728/

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