你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【经验分享】带你简单的了解和学习一下STM32f1精英版(入门级)

[复制链接]
STMCU小助手 发布时间:2021-11-30 22:30
前言
第一次写博客,写的不好请见谅,有哪里写错了可以直接反馈给我,谢谢!

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

20210722223936114.png


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

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

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

首先,对你最重要的不是去看那些书籍,你会发现根本看不下来(个人经历哈),一定要去看视频,看视频,看视频。

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

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

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

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

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

如何点亮一个LED灯呢,给大家瞧瞧代码,

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

下面就附上我的小代码:

  1. #include "led.h"
  2. #include "stm32f10x.h"

  3. void led_init()
  4. {
  5.         GPIO_InitTypeDef GPIO_InitStructure;
  6.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
  7.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE,ENABLE);//使能PB和PE
  8.         
  9.         GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
  10.         GPIO_InitStructure.GPIO_Pin=GPIO_Pin_5;
  11.         GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;         
  12.         GPIO_Init(GPIOB,&GPIO_InitStructure);//初始化PB5
  13.         GPIO_SetBits(GPIOB,GPIO_Pin_5);//PB5置1
  14.         
  15.         GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
  16.         GPIO_InitStructure.GPIO_Pin=GPIO_Pin_5;
  17.         GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;         
  18.         GPIO_Init(GPIOE,&GPIO_InitStructure);//初始化PE5
  19.         GPIO_SetBits(GPIOE,GPIO_Pin_5);//PE5置1
  20. }
复制代码

头文件:声明函数
  1. #ifndef __led_H
  2. #define __led_H

  3. void led_init(void);


  4. #endif
复制代码

主函数:

  1. #include "stm32f10x.h"
  2. #include "delay.h"
  3. #include "led.h"

  4. int main(void)
  5. {
  6.         
  7.         delay_init();//延时函数初始化,可以到该函数去看看,就是C语言的延时
  8.         led_init();//调用led函数里面的初始化,让输出口工作,才能让灯亮灭
  9.         while(1)
  10.         {
  11.         GPIO_SetBits(GPIOB,GPIO_Pin_5);        //这里是用的置1函数,大家也可以用sys.h定义接口直接置1和0
  12.         delay_ms(500);        //延时500MS
  13.         GPIO_ResetBits(GPIOB,GPIO_Pin_5);//这里置0,Reset置0,Set置1
  14.     delay_ms(500);        
  15.                
  16.         GPIO_SetBits(GPIOE,GPIO_Pin_5);//对LED1进行操作
  17.         delay_ms(500);               
  18.         GPIO_ResetBits(GPIOE,GPIO_Pin_5);               
  19.         delay_ms(500);        
  20.         }
  21.         
  22.         
  23. }

复制代码


收藏 评论0 发布时间:2021-11-30 22:30

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版