论坛» 嵌入式开发» STM32

【炫Q-STM32】NUCLEO-G070RB边玩边学(一)-起步停车

专家
2021-01-29 20:33 1楼

俗话说的好,万事开头难,感觉现在自己的状态挺尴尬的,

一般来说,玩开发板都是用搭建开发环境和点灯起步的,各种点灯,

但是又觉得点灯有些low,想做些高级的又做不来,

那就废话少说,还是点灯吧,点灯的代码基本没啥难度,

首先打开CubeMX可以选择NUCLEO G070RB,

好处就是一些基本接口都给定义好了,不用再去查原理图了,

000.png


本期目标:点灯+串口输出

专家
2021-01-29 20:43 2楼

今天论坛挺卡的,不知道是在维护还是遭受了攻击,上传图片都挺费劲的,争取能顺利点灯吧,灯的位置已经定义好啦,PA5,其实点灯的代码很简单,为区别默认的固件,延时5秒

/* USER CODE BEGIN 3 */ HAL_Delay(5000); HAL_GPIO_TogglePin(LED_GPIO_Port, LED_Pin);

也可以用

HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_SET); HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_RESET);

编译,下载,自动运行,小灯就慢悠悠地闪起了

专家
2021-01-29 20:50 3楼

下一步,串口输出,有了串口输出,以后调试程序就可以刷一些日志了,

平时不太善于用调试模式,喜欢看一些文本日志,

正巧NUCLEO的板子集成了一个usb串口,方便很多,如果没有记错的化是COM12,

说干就干,拷贝一些代码进来,首先是IO库

#include "stdio.h"

然后写个函数,为啥这么写就可以,也不清楚,抄的

int fputc(int ch, FILE *f) { HAL_UART_Transmit(&huart2, (uint8_t *)&ch, 1, 0xFFFF); return ch; }

其中的huart2是看串口定义文件里找的,同时瞟见速率是115200

下面就可以周期输出啦

printf("Hello G070!\r\n");

论坛各种卡顿,为防止丢失,马上发出


专家
2021-01-29 20:52 4楼

打开COM12,速率115200,为毛是乱码?!

001.png

专家
2021-01-29 20:56 5楼

翻看CubeMX的串口参数,7bit什么鬼,一般串口参数都是N,8,1吧,改为8bit试试

002.png


专家
2021-01-29 20:58 6楼

似乎可以交差啦

003.png

还是挺方便的,这就算作起步吧,顺便停车,如果周末有时间,争取继续下一个话题,做什么还没想好。

工程师
2021-02-02 22:49 7楼

代码写的非常不错哦

工程师
2021-02-02 23:27 8楼

厉害了

专家
2021-02-03 19:12 9楼

学习学习!

工程师
2021-02-06 23:56 10楼

代码写的非常不错哦

共16条 1/2 1 2 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册]