
本帖最后由 kebao_1 于 2016-3-28 18:40 编辑 最近由于项目需求,接触了一下NUCLEO-l053的开发板。刚开始使用mbed开发,实在不顺手。 今天看到了STM32CubeMX软件,尝试了论坛上的一两个例程。 用STM32CubeMX把NUCLEO-l053的串口和led调通了,看到论坛上没有关于STM32CubeMX的串口的教程,就上传一个!! 也为自己做个笔记,好了,来干的!! 新建工程:选择NUCLEO-l053 ![]() 配置串口和led: 由于我们这里选择的是开发板,所以软件已经自动给我们配置好了led的参数 只需要配置串口就可以了,NUCLEO-l053上面的串口连接的是PA2,PA3属于USART2控制,所以如图配置 ![]() 其他的就不用设置了, 使用的默认的即可 另外修改波特率的地方在这里 ![]() 然后产生代码就可以了 给工程写个名字 自定义一个路径 选择编译器 其他默认 ![]() 论坛上提示在这个窗口的另一个界面要选择copy的选项,我的是默认选择的,就不贴图了 然后软件会提示 open project,点击它。 这样就会进入keil编译器中,要想实现功能我们需要在mian.c里面添加一些代码 定义头文件的位置,加一行定义,红色部分为添加内容 #include "stm32l0xx_hal.h" /* USER CODE BEGIN Includes */ #include "stdio.h" /* USER CODE END Includes */ 在稍微靠下的Private variables位置,添加一段 其中要注意的是 HAL_UART_Transmit(&huart2 , (uint8_t *)&ch, 1, 0xFFFF);的huart2,它随UART_HandleTypeDef huart2;的定义 UART_HandleTypeDef huart2; /* USER CODE BEGIN PV */ /* Private variables ---------------------------------------------------------*/ #ifdef __GNUC__ #define PUTCHAR_PROTOTYPE int __io_putchar(int ch) #else #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f) #endif // __GNUC__ // PUTCHAR_PROTOTYPE { HAL_UART_Transmit(&huart2 , (uint8_t *)&ch, 1, 0xFFFF); return ch; } /* USER CODE END PV */ 最后在main函数中 /* USER CODE BEGIN 3 */ while (1) { printf("hello world\r\n"); HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_SET); HAL_Delay(500); HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_RESET); HAL_Delay(500); } } /* USER CODE END 3 */ 这样代码就改完了,编译,运行 串口就会打印 hello world 完了 |
不错,感谢楼主的教程。 |
支持一下![]() |
谢谢~ |
不错的分享![]() |
学习,谢谢分享 |
【STM32C0测评】Nucleo-C092开发板驱动DS1302实验
【ST云实验室先锋计划】兔哥的IO-LINK 云上体验
拷打cubemx【003】——找不到的芯片包
新版STM32Cube for Visual Studio Code开发体验
【STM32N6570-DK评测】3.CubeMX关于DCMIPP和CSI的BUG整理及摄像头使用
经验分享常被误解的开、关总中断
【STM32C0测评】Nucleo-C092开发板功耗测试
【STM32C0测评】Nucleo-C092开发板IIC通信测试(硬件IIC)
【STM32C0测评】Nucleo-C092开发板IIC通信测试(软件IIC)
【STM32C0测评】Nucleo-C092开发板IIC通信测试(硬件软件IIC一网打尽)