黄金果是什么水果| 羞辱什么意思| 富勒烯是什么| 什么是尿毒症啊| caluola手表是什么牌子| 清远车牌是粤什么| 大体重减肥做什么运动| 真菌感染用什么药膏| 吃肝补什么| 今年50岁属什么| 嘿咻是什么意思| 怀孕第一个月有什么反应| 这句话是什么意思| 马上风是什么意思| 副高是什么意思| 掌纹多而乱代表什么| 安宫牛黄丸适合什么人群吃| 96年属于什么生肖| 继女是什么意思| 田七配什么煲汤最好| 什么猫不掉毛| 聪明是什么意思| 肚脐眼周围痛挂什么科| 冬菜是什么菜| 质子泵抑制剂是什么药| 汗疱疹擦什么药| 荨麻疹吃什么| 地图舌吃什么好得快| 汗管瘤什么原因造成| 炎症是什么| 乌龟浮水是什么原因| 筋膜炎用什么药好| 出水痘能吃什么食物| 道心是什么意思| 画蛇添足的故事告诉我们什么道理| 思维跳脱是什么意思| 无语凝噎是什么意思| 清五行属什么| 果位是什么意思| 什么是翻墙软件| 心理健康是什么| 你是谁为了谁是什么歌| 食物中毒吃什么药| 病是什么结构的字| 农历七月初七俗称什么| 身上痒是什么情况| 雪花粉是什么面粉| 亦金读什么| 高考准考证有什么用| 脸发红是什么原因| 花椒泡脚有什么好处| 玄牝之门是什么意思| 怀孕不能吃什么| 山药炒什么好吃| 红色玫瑰花代表什么意思| 女人不排卵是什么原因造成的| 胃一阵一阵绞痛是什么原因| hsv1是什么病毒| 月经不调挂什么科室| 停车坐爱枫林晚中的坐是什么意思| 疱疹用什么药膏最有效| 扑救带电火灾应选用什么灭火器| 卵泡期是什么意思| 诺贝尔奖为什么没有数学奖| 睾丸突然疼痛什么原因| 甲状腺是什么病啊| 高血压什么症状| 牙疼吃什么水果好| 备孕需要补充什么| 1977年出生是什么命| 云雾茶属于什么茶| 观音菩萨姓什么| 毕是什么意思| 头发斑秃是什么原因引起的| 吾矛之利的利什么意思| 中国第一大姓是什么| 六月初三是什么日子| 西南方向五行属什么| 男人为什么会得前列腺炎| 衣食父母什么意思| 三个子字念什么| 心理素质是什么意思| 马齿苋煮水喝有什么功效| 6月8号什么星座| 啊哈是什么意思| 猫离家出走预示着什么| 手足口病有什么危害| 毁谤是什么意思| 星月菩提五行属什么| 乌鸦飞进家里什么征兆| 鼻子闻不到味道是什么原因| 虚情假意是什么意思| amp是什么| 行政管理是做什么的| 嗓子痛吃什么药好得快| 夏天不出汗是什么原因| 吃东西没有味道是什么原因| 见字如面什么意思| 土豆不能和什么一起吃| 三维是什么| 中秋节是什么时候| 机缘是什么意思| 咂嘴是什么意思| 声嘶力竭是什么意思| 阴囊湿疹用什么药膏效果最好| 三十岁是什么之年| 乾隆为什么不喜欢雍正| 什么叫瑕疵| 贪心不足蛇吞象什么意思| 化疗后吃什么排毒最快| 退工单是什么| 白球比低是什么原因| 水果什么时间段吃最好| 猿是什么动物| 但闻人语响的但是什么意思| 徒木立信是什么意思| 四季豆不能和什么一起吃| 什么的红枣| 尿白细胞阳性是什么意思| 婴儿黄疸高有什么影响| 胸痒痒是什么原因| 输液葡萄糖有什么作用| 铁剂什么时候吃最好| 秀禾服是什么意思| 得性病有什么症状| 吃什么降糖| 胃酸分泌过多是什么原因造成的| 甲亢吃什么食物好| 吃什么可以补钾| cg是什么| 中山有什么大学| 接龙是什么意思| 汾酒属于什么香型| 幽门螺旋杆菌抗体阳性是什么意思| 红棕色是什么颜色| 白粉虱用什么药| 为什么听力会下降| 尿隐血是什么问题| 南瓜子吃多了有什么副作用| 肝胆胰脾彩超查什么病| 为什么会长黑痣| ao是什么意思| 牙齿发黑是什么原因| 四月是什么生肖| 囫囵吞枣是什么意思| 蚂蚁上树是什么意思| 龙珠是什么| 陌上花是什么意思| zw是什么意思| 心电图窦性心动过缓是什么意思| 哺乳期感冒可以吃什么药| 阴道里面长什么样| 润字五行属什么| 临床治愈什么意思| 弯弯是什么意思| 防风通圣颗粒治什么病| 乖乖是什么意思| 草字头的字有什么| 检查尿常规挂什么科| 猪脚和猪蹄有什么区别| 梦见蒸馒头是什么意思| 干燥症是什么症状| 增致牛仔属于什么档次| 肝结节是什么意思| 治疗便秘吃什么| 天生丽质难自弃是什么意思| 电是什么时候发明的| 宗室是什么意思| 副支队长是什么级别| 阳痿吃什么| 男性睾丸一边大一边小是什么原因| 莲雾什么季节成熟| 时光荏苒的意思是什么| 淋巴细胞绝对值偏低是什么意思| 房间里放什么阳气旺| 生化八项是检查什么| 赤茯苓又叫什么| 血沉是什么意思| 肝在什么位置图片| 为什么今年有两个六月| 什么人容易得妄想症| 为什么不能摸猫的肚子| 芒果跟什么不能一起吃| 肌醇是什么| 湘女多情是什么意思| 锦纶是什么材料| 人间仙境是什么意思| 世上谁嫌男人丑的前一句是什么| 什么是苔藓皮肤病| 血小板分布宽度偏低是什么原因| 荨麻疹不能吃什么食物| 什么样的贝壳| 馒头吃多了有什么坏处| 喝牛奶拉肚子是什么原因| 什么补肾效果最好| 男宝胶囊为什么不建议吃| 尿频去药店买什么药| 日落西山是什么生肖| 葡萄糖偏低是什么意思| 口臭口干口苦是什么原因| 好麻吉是什么意思| 女孩子学什么专业比较好| 咳嗽雾化用什么药| 属马与什么属相最配| 锦纹是什么中药| 爆竹声中一岁除下一句是什么| 青霉素主治什么病| 着凉肚子疼吃什么药| 久卧伤什么| 心律失常是什么意思| 屎壳郎的学名叫什么| 开飞机需要什么驾照| 专车是什么意思| 射手座和什么星座最配| 蛇缠腰是什么病| 孩子半夜咳嗽是什么原因| 梦到自己开车是什么意思| 神采什么什么| 长期大便不成形是什么原因造成的| 早教是做什么的| 孕囊是什么东西| 一天两包烟会导致什么后果| 张五行属什么| 局气什么意思| 千斤拔泡酒有什么功效| 范仲淹世称什么| 艾蒿是什么| 甲减吃什么食物好| 着床后需要注意什么| 什么是剧烈运动| ad滴剂什么时候吃最好| 预警是什么意思| 明目退翳什么意思| 化疗后吃什么补白细胞| 做梦梦见离婚是什么意思| 达克宁栓治疗什么妇科病| 中枢是什么意思| 腿肿吃什么药| 镜面人是什么意思| 什么是抗生素| 办理户口迁移需要什么材料| 什么化痰效果最好最快| 梦到地震预示什么| 知青是什么意思| 前囟门什么时候闭合| 血糖高是什么症状| obl是什么意思| 智商125是什么水平| 手脱皮是缺什么| lotus是什么牌子| 什么展翅| 七月半吃什么| sub是什么意思| 1.16是什么星座| 彩超跟b超有什么区别| 心宽是什么意思| 九眼天珠是什么做的| 寻麻疹涂什么药膏| 天牛长什么样子| 下巴下面长痘痘是什么原因| 25属什么生肖| supreme是什么牌子| 风景旧曾谙是什么意思| 吃什么能降血压最有效| 百度
这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 ? 论坛首页 ? 嵌入式开发 ? STM32 ? NUCLEO-U083RC学习历程2-串口输出测试

共17条 1/2 1 2 跳转至

NUCLEO-U083RC学习历程2-串口输出测试

高工
2025-08-04 20:56:31   被打赏 20 分(兑奖)     打赏
百度 中国的大宗商品也将能够通过路上丝绸之路用铁路集装箱直接运到瓜达尔港,再从那里通过港口海运到中亚、南亚和欧洲。

今天和大家分享一下调试串口输出的开发经验

1:STM32U083RC的硬件资源:

ST NUCLEO-U083RC是基于STM32U083RC MCU为主控芯片的STM32 Nucleo-64开发板。该开发板提供了丰富的外设接口和功能,适合用于各种嵌入式系统设计和开发。

STM32U083x系列MCU具有高达256 KB的Flash存储器和高达40 KB的SRAM,提供了强大的存储和处理能力。此外,它还集成了多种外设和功能,包括一个12位ADC、两个内置的轨到轨模拟比较器、一个运算放大器、一个低功耗RTC、多个通用定时器和低功耗定时器、以及多种通信接口等。这些功能使得STM32U083x系列MCU能够满足各种复杂的应用需求。

ST NUCLEO-U083RC开发板还具备灵活的供电选项,支持ST-LINK和USB供电。同时,它还随附了STM32全面的免费软件库和STM32Cube MCU软件包示例,方便开发者进行快速开发和调试。

STM32U083x器件提供:

一个12位ADC,两个内置的轨到轨模拟比较器,一个运算放大器

一个低功耗RTC,一个通用32位定时器,一个专门用于电机控制的16位PWM定时器,三个通用16位定时器以及三个16位低功耗定时器。

多达21个电容感应通道

三个I2C、两个SPI、四个USART和两个低功耗UART,以及一个支持设备模式的无晶振USB2.0。

一个带内部升压转换器的LCD控制器,可以驱动8x48或4x52个段码。

此外,STM32U083xC器件内置了一个AES硬件加速器。

2:芯片的原理图和PCB仿真图如下:

image.png

板载的ST-link原理图如下:

image.png

开发板的PCB仿真图:

image.png


在图片中看到的可能会对原理图看不太清楚,这里我简单说明一下,调试串口使用的低功耗的串口1,连接到板载调试器的串口上面,这样我们在调试的过程中,只需要将调试信息输出到板载的调试口就可以,通过PC端的串口接收工具,可以将调试信息输出到串口监测引脚。

二:STM32cube的软件的配置

基本配置过程,可以查看上一篇的环境搭建,这里就不做过多的介绍。

image.png


这里由于开发板的本身设计,我们需要使用PA2/PA3引脚,所以,在cube软件中,我们只需要在设计里面看一下该引脚支持哪里串口即可。

image.png

配置一下,串口引脚的GPIO口的配置:如下所示:

image.png

配置好串口1的基本底层驱动,我们直接生产软件代码就可以。

三:软件的编写

3.1 编写串口的基本流程:

 首先串口时钟使能,GPIO时钟使能:    __HAL_RCC_LPUART1_CLK_ENABLE();

GPIO端口模式设置:    __HAL_RCC_GPIOA_CLK_ENABLE();

串口参数初始化:static void MX_LPUART1_UART_Init(void)

开启中断并且初始化    HAL_NVIC_SetPriority(USART3_LPUART1_IRQn, 0, 0);

 使能串口:  HAL_NVIC_EnableIRQ(USART3_LPUART1_IRQn);

编写串口发送函数:重映射PRINTF 函数进行数据的发送。

3.2软件代码如下:

void HAL_MspInit(void)
{

  /* USER CODE BEGIN MspInit 0 */

  /* USER CODE END MspInit 0 */

  __HAL_RCC_PWR_CLK_ENABLE();
  __HAL_RCC_SYSCFG_CLK_ENABLE();

  /* System interrupt init*/

  /* USER CODE BEGIN MspInit 1 */

  /* USER CODE END MspInit 1 */
}

/**
* @brief UART MSP Initialization
* This function configures the hardware resources used in this example
* @param huart: UART handle pointer
* @retval None
*/
void HAL_UART_MspInit(UART_HandleTypeDef* huart)
{
  GPIO_InitTypeDef GPIO_InitStruct = {0};
  RCC_PeriphCLKInitTypeDef PeriphClkInit = {0};
  if(huart->Instance==LPUART1)
  {
  /* USER CODE BEGIN LPUART1_MspInit 0 */

  /* USER CODE END LPUART1_MspInit 0 */

  /** Initializes the peripherals clocks
  */
    PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_LPUART1;
    PeriphClkInit.Lpuart1ClockSelection = RCC_LPUART1CLKSOURCE_PCLK1;
    if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK)
    {
      Error_Handler();
    }

    /* Peripheral clock enable */
    __HAL_RCC_LPUART1_CLK_ENABLE();

    __HAL_RCC_GPIOA_CLK_ENABLE();
    /**LPUART1 GPIO Configuration
    PA2     ------> LPUART1_TX
    PA3     ------> LPUART1_RX
    */
    GPIO_InitStruct.Pin = GPIO_PIN_2;
    GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
    GPIO_InitStruct.Pull = GPIO_PULLUP;
    GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
    GPIO_InitStruct.Alternate = GPIO_AF8_LPUART1;
    HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);

    GPIO_InitStruct.Pin = GPIO_PIN_3;
    GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
    GPIO_InitStruct.Pull = GPIO_NOPULL;
    GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
    GPIO_InitStruct.Alternate = GPIO_AF8_LPUART1;
    HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);

    /* LPUART1 interrupt Init */
    HAL_NVIC_SetPriority(USART3_LPUART1_IRQn, 0, 0);
    HAL_NVIC_EnableIRQ(USART3_LPUART1_IRQn);
  /* USER CODE BEGIN LPUART1_MspInit 1 */

  /* USER CODE END LPUART1_MspInit 1 */
  }

}

/**
* @brief UART MSP De-Initialization
* This function freeze the hardware resources used in this example
* @param huart: UART handle pointer
* @retval None
*/
void HAL_UART_MspDeInit(UART_HandleTypeDef* huart)
{
  if(huart->Instance==LPUART1)
  {
  /* USER CODE BEGIN LPUART1_MspDeInit 0 */

  /* USER CODE END LPUART1_MspDeInit 0 */
    /* Peripheral clock disable */
    __HAL_RCC_LPUART1_CLK_DISABLE();

    /**LPUART1 GPIO Configuration
    PA2     ------> LPUART1_TX
    PA3     ------> LPUART1_RX
    */
    HAL_GPIO_DeInit(GPIOA, GPIO_PIN_2|GPIO_PIN_3);

    /* LPUART1 interrupt DeInit */
    HAL_NVIC_DisableIRQ(USART3_LPUART1_IRQn);
  /* USER CODE BEGIN LPUART1_MspDeInit 1 */

  /* USER CODE END LPUART1_MspDeInit 1 */
  }

}

可以看到在串口中断函数中,调用低功耗串口1的中断函数

void USART3_LPUART1_IRQHandler(void)
{
  /* USER CODE BEGIN USART3_LPUART1_IRQn 0 */

  /* USER CODE END USART3_LPUART1_IRQn 0 */
  HAL_UART_IRQHandler(&hlpuart1);
  /* USER CODE BEGIN USART3_LPUART1_IRQn 1 */

  /* USER CODE END USART3_LPUART1_IRQn 1 */
}


#include "main.h"

/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */
#include "stdio.h"
#include "string.h"
#include "stdint.h"
const uint8_t OUTPUT_str[] = "Hello STM32U083RC! Hello NUCLEO! autor by congconggege \r\n";

/* USER CODE END Includes */

/* Private typedef -----------------------------------------------------------*/
/* USER CODE BEGIN PTD */

/* USER CODE END PTD */

/* Private define ------------------------------------------------------------*/
/* USER CODE BEGIN PD */

/* USER CODE END PD */

/* Private macro -------------------------------------------------------------*/
/* USER CODE BEGIN PM */

/* USER CODE END PM */

/* Private variables ---------------------------------------------------------*/

UART_HandleTypeDef hlpuart1;

/* USER CODE BEGIN PV */

/* USER CODE END PV */

/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_LPUART1_UART_Init(void);
/* USER CODE BEGIN PFP */

/* USER CODE END PFP */

/* Private user code ---------------------------------------------------------*/
/* USER CODE BEGIN 0 */

/* USER CODE END 0 */

/**
  * @brief  The application entry point.
  * @retval int
  */
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();
  MX_LPUART1_UART_Init();
  /* USER CODE BEGIN 2 */

  /* USER CODE END 2 */

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */


    HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_5);
    /* Insert delay 500ms */
    HAL_Delay(500);
		HAL_UART_Transmit(&hlpuart1,OUTPUT_str,sizeof(OUTPUT_str),100);
  }
  /* USER CODE END 3 */
}


串口工具抓包图片如下:

打开串口调试工具:

配置串口的波特率115200,选择端口号,配置:校验位 :无校验 停止位:1位

image.png

测试现象::::板载LED灯以500ms时间间隔闪烁,同时输出的字符串,功能正常。

TEST02_USART.zip




院士
2025-08-04 16:22:08     打赏
2楼

这文章清晰,步骤明确。

赞一下


专家
2025-08-04 20:41:06     打赏
3楼

经验不错


高工
2025-08-04 11:50:49     打赏
4楼

不错


专家
2025-08-04 18:05:01     打赏
5楼

感谢分享


专家
2025-08-04 08:16:18     打赏
6楼

感谢分享


助工
2025-08-04 11:34:12     打赏
7楼

点赞


专家
2025-08-04 06:09:38     打赏
8楼

谢谢分享


专家
2025-08-04 16:54:01     打赏
9楼

谢谢分享


院士
2025-08-04 07:05:31     打赏
10楼

谢谢楼主分享~!


共17条 1/2 1 2 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]
马超属什么生肖 为什么越睡越困越疲惫 砭石是什么东西 pet什么意思 去痛片又叫什么名
脑供血不足什么原因 复刻版是什么意思 移动电源和充电宝有什么区别 伤口拆线挂什么科 dx什么意思
献血证有什么用 m代表什么单位 吃桑葚有什么好处 熙字五行属什么 液氮是什么东西
肾透析是什么意思 龙的幸运色是什么颜色 吃苹果有什么好处和功效 身心是什么意思 阳痿早泄用什么药
背沟深代表什么hcv8jop4ns6r.cn 被蚂蚁咬了怎么止痒消肿要擦什么药hcv9jop1ns3r.cn 儿童病毒感染吃什么药hcv8jop4ns7r.cn 血虚风燥是什么意思hcv8jop2ns9r.cn 胰管扩张是什么意思hcv8jop3ns6r.cn
沛是什么意思hcv9jop2ns0r.cn 官杀混杂是什么意思hcv8jop4ns2r.cn 梳头有什么好处wuhaiwuya.com 开水烫伤用什么方法好的最快hcv8jop6ns3r.cn 弱酸性是什么意思clwhiglsz.com
伽利略是什么学家wuhaiwuya.com 什么颜色加什么颜色等于蓝色hcv8jop3ns5r.cn 羟基丁酸在淘宝叫什么hcv9jop6ns3r.cn 17点到19点是什么时辰hcv9jop7ns1r.cn 为什么喝中药越来越胖hcv8jop0ns5r.cn
什么败走华容道不出所料hcv9jop5ns0r.cn efw是胎儿的什么意思hcv9jop5ns6r.cn ye是什么颜色hcv8jop5ns2r.cn 心肌缺血吃什么药好hcv8jop4ns8r.cn 敲定是什么意思hcv7jop4ns5r.cn
百度