带你简单的了解和学习一下STM32f1精英版(入门级)

目录

前言

一、STM32简介+如何入门

二、入手STM32+动手敲LED代码

三、 开始进阶and结尾


前言

第一次写博客,写的不好请见谅,有哪里写错了可以直接反馈给我,谢谢!

附上一个我的精英板子:(线是在测试模块,板是咸鱼买的哈哈)

说实话,入门这个STM32我个人是走了挺多弯路的O(∩_∩)O哈哈~,从大一入学C语言“hello world”到51单片机开始点灯再到第一次参加比赛,路途是坎坷的,虽然这些东西的确比较基础(其实就是我菜),但是基础是最需打牢固的,学习单片机一定要注重打扎实基础,不然后面你就会遇到一堆问号??????,尤其是对刚入门的你来说,不要一看到别人在学就心急也想着学(当然不是说不给学,而是要注重基础

好了鸡汤不宜多灌,直接开讲STM32f1精英版 


一、STM32简介+如何入门

不要嫌烦哈哈,总要先看看啥是STM32吧,就我个人而言,其实它就是51的一个进阶版,说到底,学的东西其实八九不离十,你只要会了51单片机,那么入手就相当快了(当然不会51但是C语言也可以入门,大佬额。。。)以下是我对STM32的简介还有我的一些学习心得

首先,对你最重要的不是去看那些书籍,你会发现根本看不下来(个人经历哈),一定要去看视频,看视频,看视频,去哪看呢,关注“正点原子”,附上以下链接

【正点原子】手把手教你学STM32单片机教学视频 嵌入式开发初级篇(官方授权转载)_哔哩哔哩_bilibili

接下来就是日肝夜肝,学习知识,遨游知识的海洋,之后还有中级篇和高级篇。。。加油

记住不要去管什么寄存器版本、库函数版本、HAL库版本,入门个人建议直接从库函数开始

额好像跑题了,但是没关系,你们要的STM32简介其实里面就有,首先就是各种基础知识包括新建工程和烧录等等的学习,看不下去的就跳着看(啊啊啊啊,当初的折磨,我就是这样跳着看,但是建议认真看。。。嗯。。。)

然后呢,当你看了几章后,跃跃欲试,琢磨着操作一波,那么接下来该干嘛呢?


、入手STM32+动手敲LED代码

第二步嘛,就是满足自己的入手满足感了哈哈,首选当然就点亮第一个LED灯了,STM32精英版上就附带2个LED灯和一个电源指示灯,这样也是为了节省I/O口,节省资源。

如何点亮一个LED灯呢,给大家瞧瞧代码,如果没有源代码的可以到正点原子官网下载文件,以下附上网址:

正点原子资料下载中心 — 正点原子资料下载中心 1.0.0 文档 (openedv.com)

其他的一些资料都有可以参考的,如果没思路可以到这里搜搜,想当初全靠这和博客给我思路哈哈

下面就附上我的小代码:

#include "led.h"
#include "stm32f10x.h"

void led_init()
{
	GPIO_InitTypeDef GPIO_InitStructure;
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE,ENABLE);//使能PB和PE
	
	GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
	GPIO_InitStructure.GPIO_Pin=GPIO_Pin_5;
	GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;	 
	GPIO_Init(GPIOB,&GPIO_InitStructure);//初始化PB5
	GPIO_SetBits(GPIOB,GPIO_Pin_5);//PB5置1
	
	GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
	GPIO_InitStructure.GPIO_Pin=GPIO_Pin_5;
	GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;	 
	GPIO_Init(GPIOE,&GPIO_InitStructure);//初始化PE5
	GPIO_SetBits(GPIOE,GPIO_Pin_5);//PE5置1
}

 头文件:声明函数

#ifndef __led_H
#define __led_H

void led_init(void);


#endif

 主函数:

#include "stm32f10x.h"
#include "delay.h"
#include "led.h"

int main(void)
{
	
	delay_init();//延时函数初始化,可以到该函数去看看,就是C语言的延时
	led_init();//调用led函数里面的初始化,让输出口工作,才能让灯亮灭
	while(1)
	{
	GPIO_SetBits(GPIOB,GPIO_Pin_5);	//这里是用的置1函数,大家也可以用sys.h定义接口直接置1和0
	delay_ms(500);	//延时500MS
	GPIO_ResetBits(GPIOB,GPIO_Pin_5);//这里置0,Reset置0,Set置1
    delay_ms(500);	
		
	GPIO_SetBits(GPIOE,GPIO_Pin_5);//对LED1进行操作
	delay_ms(500);		
	GPIO_ResetBits(GPIOE,GPIO_Pin_5);		
	delay_ms(500);	
	}
	
	
}


三、 开始进阶and结尾

哈哈,然后烧录进去之后你就会发现,咦!这不是挺简单的吗,然后你的STM32征程就此开始了,慢慢地你就会学的更多,如果可以自己就多买些零件来玩,毕竟它接口确实很多。像我们学生党,最主要就是学到后参加比赛,比如校内举行的专业比赛,还有就是省的电子设计比赛,最后就是全国电子设计大赛,哈哈,下个月就要参加电赛了,已经进入紧张的备战阶段了,祝愿一切顺利!大家以后有机会一定要去参加呀,一定会让你有所收获,加油!

我还是个小菜鸟,有问题欢迎一起探讨,有时间会继续更新的,坚持!

题外话:

挺喜欢彭于晏说的一句话:“我就是没有才华,所以才用命去拼!”

学习32之路固然辛苦,但要是坚持下来了,那不是很酷?哈哈哈

  • 17
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不说二话的自家人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值