STM32单片机入门 篇一:单片机编程:从点亮LED开始
创作立场声明:本文仅作学习交流用途。如有错误,烦请指出,将不胜感激。
能点开这篇文章,想必对单片机不至于一无所知。
所谓单片机,也就是单片微型计算机。可以做一些简单的控制、显示、计算等,配合一些传感器、蓝牙、电机等模块还可以做非常多的东西。电子发烧爱好者如果想做一些小创造,或者本科生需要做一些简单的控制,用单片机是非常方便的。
常用单片机有Arduino单片机、51单片机、STM32单片机。
一般说来,在性能方面STM32>51>Arduino,在价格方面STM32<51
本专栏就是STM32的入门指南。如无意外会一直更新,评论开放,随时可以一起讨论。
笔者非电气相关专业,仅爱好者,也是非常非常新的新手。
如有错误,请指出!我会十分感谢您的指点!
硬件和知识需求
C语言编程知识
最基础的数字电路模拟电路知识
一块STM32开发板(本文采用的是STM32F407 YS-F4Pro开发板)
一根配套 数据线,用来连接电脑和单片机
一台电脑
LED灯,面包板,杜邦线(非必需)
软件需求
本文采用的是64位Windows10系统电脑,使用软件包括STM32CubeMX、IAR。除了IAR,Keil4、Keil5也是可以的,不过更推荐IAR。需要下载链接、破解方法和配置方法的可私聊。
Keil5图标显示似乎出了些问题= =
这里简要介绍下STM32CubeMX,这是个不大的免费图形化编程程序,它可以在图形化的基础上,生成初始化代码,提供项目给不同的IDE软件,包括但不限于IAR和Keil。非常好用。
STM32编程有三种语言,我们这里采用C语言:
汇编语言
C语言(最常用)
C++语言
C语言也有不同的方法,寄存器编程、标准库编程和HAL库编程。寄存器编程类似汇编语言,效率高,但繁琐,复杂程序里很麻烦,而标准库是老东西了,已经不维护不更新了,现在官方推广的是HAL库。我这用的也是HAL库。
配置流程
分三步走:
STM32CubeMX软件生成初始化程序
在IAR或者Keil中打开初始化程序进行编辑,然后仿真下载程序,也就是俗称的烧写程序到芯片
连接超简单的硬件电路,单片机GPIO口---LED---单片机GND口,最后调试!开亮!要有光!
简陋到一定地步的电路
配置STM32CubeMX
图形化编程真的很happy啊。
首先我们打开软件,点击New Project,也就是新建一个项目。
出现 CPU芯片和开发板型号选择界面,这个界面可以搜索得到自己的芯片。
我们在图左侧直接输入自己的芯片,我这里用的是STM32F407IG。
也可以用下面的选项卡,一步步选择自己的芯片型号。
右边会显示搜索结果, 鼠标点击选择自己的芯片,如图,笔者的芯片是第二行的,已选择。
再点击Start Project:
点击Datasheet会有芯片信息的PDF这时我们就正式新建了项目了。
简单介绍下此时的界面:
右边红色部分是各种引脚类型设置,默认都是disable,需要的时候再设置。比如说我设置RCC时钟,就要点击RCC,然后选择相应的设置。
蓝色部分就是芯片的各引脚了,黄色引脚是电源引脚,比如VCC之类的,灰色的是没设置过的引脚,浅绿色是特殊功能引脚。如果要设置,直接鼠标左键选择引脚,然后选择设置成不同类型。
黑色部分是不同配置表,我们需要配置前三个表。第四个表是功率计算,一般不需要。
配置pinout表
首先选择自己的需要的输出引脚,用来输出高电平给LED灯。这个界面可以通过鼠标滚轮来放大缩小,按住滚轮或者同时按鼠标左右键来移动图形。
我这里选择的是PE6、PE5和PH9,左键点击之后选择GPIO_Output。也就是普通输出口。
选择之后会变成图2
然后对右边的栏进行设置。如下图。
打开RCC设置,选择外部晶振Crystal/Ceramic Resonator。观察仔细的同学可能就注意到了,此时右边PH0,PH1变成了绿色,不要慌,这是正常的。这俩是接外部晶振的。这里的外部是相对于芯片的外部,不是板子外部,这个东西依然是在开发板的板子上的。
打开SYS设置,点击Debug,选择Serial Wire。这个是用ST-Link仿真调试的时候需要选。
插一句题外话,芯片内部有内置时钟的,但大量工程师经验证明芯片内部的并不够可靠,所以一般STM32工控板都会在芯片之外,加一个精度更高的外部晶振。
外部晶振的频率需自己查询工控板的开发板手册得知,我的截图来自开发板 主板原理图,资料可以通过联系商家或者开发工程师获取。
查询资料可知我这里的是外部输入频率8MHz,然后同样查询可知这个芯片的最大频率是128MHz。
记住这两个数字!
配置Clock Configuration表
然后我们在界面左上方,选择Clock Configuration时钟配置表。
按照图片里的数字顺序进行配置。
另外,假如你的外部晶振不是8MHz的话,配置流程一样,但是输入数字不一样,数字需要自己另外计算。
首先你要得到图里黄色部分的最大频率,你的目的就是要让输入的频率,经过一系列乘除操作之后,在黄色部分的结果等于此处的最大频率。
第一个黄色部分的频率也就是芯片最大频率,我这里是168MHz。
右边两个黄色部分的最大频率,软件已经用绿色字体写出。
然后你再进行简单的乘除运算就好。例如我这里的流程是:
8 /8 *336 /2 =168
这里除以8是为了让得数为1
168 /1 /4 = 42
168 /1 /2 = 82
这么一套流程下来,我们就配置好了第二个表。
一般来说,这个地方,大部分简单程序都是这样配置的。记住这套操作就行。
配置Configuration表
现在打开第三个配置表:Configuration配置
左边一般来说不用管。
右边会有自己需要配置的东西。
我们点亮智慧的LED灯只需要配置GPIO口就好。
所以点击上图里的红色按钮,弹出界面,按照下图配置每一行:
我选择了三个引脚做GPIO口输出,所以这里就有三行,分别对应PE5、PE6、PH9三个引脚。
选择一行或多行,可以看到配置的具体选项。
逐一说明一下:
GPIO output level:这个很简单,High就是高电平输出,Low就是低电平输出。
GPIOmode:选择Output Push Pull 我们一般用这个3.3V输出且有电流。
GPIO Pull-Up Pull-Down:一般做输入口的时候才配置。所以我们选择No pull-up and no pull-down,就是啥都不要。
Maximum output speed:根据需要选择高中低最高速,低的话功耗低,我们点灯不需要高速,选Low就好
UserLabel:自己随意添加标识Label,到了C语言里就是一个宏定义。
最后点击Apply,配置任务就大功告成!
STM32CubeMX生成初始化工程文件
点击软件界面最左上角的菜单栏Project
看左上角!左上角!
然后选择Settings,按照图里的顺序进行设置。
第一个蓝色圈是项目名,第二个红色的是项目保存路径。
第三个黑色的就比较重要了!如果你后续用IAR,这里请选择EWARM,用Keil 4就MDK-ARM V4、用Keil 5就MDK-ARM V5,其他软件的话自己百度一下。
上图里的Linker Settings是堆和栈的选择,一般默认就好。
接下来在相同页面选择Code Generator,然后勾选一下图里第二个红线圈的选项。
其他保持默认就行。
激动人心的一步来了。
还是选择菜单栏的Project,点击Generate Code,就生产了初始化程序!
如果需要的话,点击Generate Report,会产生一个说明的PDF文档。
至此初始化程序,大功告成!!!
之后的IAR和Keil工程配置和程序仿真下载,会在篇2里详细说明。
“我是不会鸽的!”
(咕咕咕)
备注:在STM32CubeMX软件的pinout配置表里,左边栏的各引脚和功能对应关系如下:
MiddleWares:第三方高级应用
Peripherals:
ADC模数转换
DAC数模转换
CAN通信
CRC校验
DCMI 摄像头
ETH网络功能
FSMC外部存储器扩展
I2C通信
I2S通信
IWDG独立看门狗
RCC时钟
Crystal/CeramicResonator 晶体/陶瓷谐振器 8MHz的晶振 外部的 很准(内部没那么可靠)
(选择之后PH0 PH1会亮深绿并RCC_OSC_IN RCC_OSC_OUT)(看开发板原理图
LSE低速时钟(需要RTC时要选中)
HSE高速时钟
RNG随机数
RTC实时时钟
SDI读Sd卡
SPI接口
SYS系统相关
ST-Link仿真器的话需要选择Debug:Serial Wire
TIM一共14个定时器
UART串口
WWDG窗口看门狗
- 相关商品推荐
MUZHTEN 慕单 airtag ios蓝牙防丢定位器
MUZHTEN 慕单 airtag ios蓝牙防丢定位器
15.2元起Apple 苹果 AirTag 智能跟踪器
Apple 苹果 AirTag 智能跟踪器
173.24元起MUZHTEN 慕单 airtag ios蓝牙防丢定位器
MUZHTEN 慕单 airtag ios蓝牙防丢定位器
15.6元起MIJIA 米家 智能追光氛围灯带 2m
MIJIA 米家 智能追光氛围灯带 2m
72元起Xiaomi 小米 1S 显示器挂灯
Xiaomi 小米 1S 显示器挂灯
185元起MUZHTEN 慕单 airtag 蓝牙防丢定位器
MUZHTEN 慕单 airtag 蓝牙防丢定位器
14.6元起iFLYTEK 科大讯飞 翻译机4.0 黑色
iFLYTEK 科大讯飞 翻译机4.0 黑色
2690元起watchbond 适用华为GT4表带GT3米兰尼斯watch4手表3pro磁吸watchgt4新pronew智能B6环7荣耀magic钛金属夏天钢2e男款陶瓷
watchbond 适用华为GT4表带GT3米兰尼斯watch4手表3pro磁吸watchgt4新pronew智能B6环7荣耀magic钛金属夏天钢2e男款陶瓷
17.18元起MUZHTEN 慕单 宠物定位器防丢器
MUZHTEN 慕单 宠物定位器防丢器
14.7元起星菲扬 适用iwatch表带磁吸applewatchultra2表带se米兰尼斯s9苹果手表表带8代7/6/5金属不锈钢s8男女款45mm运动透气
星菲扬 适用iwatch表带磁吸applewatchultra2表带se米兰尼斯s9苹果手表表带8代7/6/5金属不锈钢s8男女款45mm运动透气
5.44元起DRH 智能戒指 DAY&NIGHT日夜系列之太极 18#
DRH 智能戒指 DAY&NIGHT日夜系列之太极 18#
988元起SUBOR 小霸王 翻译笔小学初高中英汉语单词扫读扫描笔电子词典点读学习机
SUBOR 小霸王 翻译笔小学初高中英汉语单词扫读扫描笔电子词典点读学习机
95元起【官款】适用applewatch高山回环尼龙iwatch表带S8ultra苹果手表S9/8/7/6se代野径户外运动海洋表带41/49mm45
【官款】适用applewatch高山回环尼龙iwatch表带S8ultra苹果手表S9/8/7/6se代野径户外运动海洋表带41/49mm45
10.24元起Ninebot 九号 车载电动充气泵打气筒轮胎压数显 自行车打气筒篮足气球泳圈充气筒 充气宝
Ninebot 九号 车载电动充气泵打气筒轮胎压数显 自行车打气筒篮足气球泳圈充气筒 充气宝
199元起慕单防丢器钥匙防丢蓝牙防丢器防丢失提醒手机防丢失寻找老人儿童定位器钱包狗狗宠物防丢离身智能器
慕单防丢器钥匙防丢蓝牙防丢器防丢失提醒手机防丢失寻找老人儿童定位器钱包狗狗宠物防丢离身智能器
10元起官款适用小米手环8/7/6/5/4腕带手表3表带nfc三四五六七八代智能替换带2运动硅胶软个性潮男高级女生薰衣草 经典黑
官款适用小米手环8/7/6/5/4腕带手表3表带nfc三四五六七八代智能替换带2运动硅胶软个性潮男高级女生薰衣草 经典黑
4.15元起-
MUZHTEN 慕单 蓝牙防丢定位器
10.3元(需用券)天猫精选此款目前活动售价12.3元,下单领取满8减2元优惠券,叠加礼金,实付低至10.3元,近期好价。叠加优惠券:满8减... 阅读全文6 已打分 +1 0 已打分 +1 8去购买 天猫红包 -
MUZHTEN 慕单 airtag 蓝牙防丢定位器
14.6元(需用券)天猫精选此款目前活动售价33.6元,下单领取满30减18元优惠券叠加首购礼金,实付低至14.6元,近期好价。叠加优惠券:... 阅读全文2 已打分 +1 0 已打分 +1 4去购买 天猫红包 -
MUZHTEN 慕单 蓝牙防丢定位器
10元包邮(需用券)高灵敏度,使用便捷。天猫精选慕单旗舰店售价12元,领取2元优惠券,实付10元包邮到手。 阅读全文10 已打分 +1 0 已打分 +1 5去购买 天猫红包 -
MUZHTEN 慕单 airtag ios蓝牙防丢定位器
15.2元包邮(需用券)天猫该商品售价35.6元,下1单,领满30减15元优惠券,参加官方立减5.4元优惠,实付15.2元,近期好价。叠加活动:... 阅读全文5 已打分 +1 0 已打分 +1 1去购买 天猫红包 -
MUZHTEN 慕单 蓝牙防丢定位器
10元包邮(需用券)高灵敏度,使用便捷。前往淘宝首页点击天猫超市图标-点击右下角“惊喜口令”-输入【鸿运当头】,可领取0.2-5元天猫超市卡... 阅读全文67 已打分 +1 13 已打分 +1 154去购买 天猫红包 -
MUZHTEN 慕单 airtag 蓝牙防丢定位器
14.6元包邮(双重优惠)天猫精选此款目前活动售价33.6元,下单领取满30减18元优惠券,叠加礼金,实付低至14.6元,近期好价。叠加优惠券:满... 阅读全文8 已打分 +1 3 已打分 +1 14去购买 天猫红包 -
MUZHTEN 慕单 宠物定位器防丢器
14.7元(需用券)天猫精选此款目前活动售价35元,下单领取满30减15元优惠券,叠加页面礼金,实付低至14.7元,近期好价。叠加优惠券:满... 阅读全文0 已打分 +1 0 已打分 +1 1去购买 天猫红包 -
MUZHTEN 慕单 蓝牙防丢定位器
15.2元(需用券)无需接线安装,想放哪就放哪~天猫精选此款目前活动售价35.6元,下单领取满30减15元优惠券,参与立减5.4元优惠活动,... 阅读全文0 已打分 +1 0 已打分 +1 2去购买 天猫红包 -
MUZHTEN 慕单 airtag 蓝牙防丢定位器
15.82元(需用券)31号20点开始,活动入手好价15.82元叠加优惠券:满10减1元 阅读全文0 已打分 +1 0 已打分 +1 1去购买 天猫红包 -
今日必买:MUZHTEN 慕单 airtag 蓝牙防丢定位器
15.6元(需用券)无需接线安装,想放哪就放哪~天猫精选此款目前活动售价33.6元,领取18元优惠券,实付低至15.6元包邮。叠加优惠券:满... 阅读全文14 已打分 +1 2 已打分 +1 30去购买 天猫红包 -
MUZHTEN 慕单 蓝牙防丢定位器
20.6元(需用券)无需接线安装,想放哪就放哪~天猫现售35.6元,下1单,领满30减15元优惠券,实付20.6元,近期好价。叠加优惠券:满... 阅读全文0 已打分 +1 0 已打分 +1 0去购买 天猫红包 -
MUZHTEN 慕单 宠物定位器防丢器
13.7元包邮(需用券)天猫精选此款目前活动售价35元,下单领取满30减15元优惠券,叠加首购礼金,实付低至13.7元,近期好价。叠加优惠券:满... 阅读全文10 已打分 +1 2 已打分 +1 20去购买 天猫红包 -
MUZHTEN 慕单 airtag ios精准防丢定位器
16.6元(需用券)天猫精选此款目前活动售价33.6元,下单领取满30减14元优惠券,叠加页面3元首购礼金,实付低至16.6元,近期好价。叠... 阅读全文0 已打分 +1 1 已打分 +1 5去购买 天猫红包 -
MUZHTEN 慕单 airtag ios蓝牙防丢定位器
14.2元(需用券)天猫精选此款目前活动售价35.6元,下单领取满30减15元优惠券,参与立减5.4元优惠活动,首单礼金1,实付低至14.2... 阅读全文2 已打分 +1 2 已打分 +1 10去购买 天猫红包 -
youdao 网易有道 词典笔S6翻笔电子辞典英语小初高英语赠耳机
368.9元降价了!! 搜索超级满减-整点抢券-签到可获得减减卡-立即兑换即可领350-100折优惠券(100%可得) 大促直降15... 阅读全文0 已打分 +1 0 已打分 +1 3去购买 -
MIJIA 米家 人体传感器2S
60.29元高灵敏度模式,光照度检测,智能设备联动,3年超长续航~接入生态:米家连接协议:蓝牙Mesh入网是否需要搭配网关:需网关联... 阅读全文0 已打分 +1 0 已打分 +1 0去购买 京享红包 -
MUZHTEN 慕单 airtag 蓝牙防丢定位器
15.6元(需用券)天猫精选此款目前活动售价35.6元,下单立减3元,领取满10减1元优惠券,实付低至15.6元包邮。叠加活动:立减3元叠加... 阅读全文2 已打分 +1 2 已打分 +1 2去购买 天猫红包 -
momax 摩米士 便携式冰敷小旋风手持风扇 3000mAh
109元(需用券)京东此款目前活动售价140元下单参与满1件打8.5折优惠活动入会领129减10元送1000京豆【合10元】到手99元近期... 阅读全文3 已打分 +1 2 已打分 +1 12去购买 京享红包 -
即领即用:MUZHTEN 慕单 airtag ios蓝牙防丢定位器
15.2元包邮(需用券,可用签到红包)天猫精选此款目前活动售价35.6元,下单立减5.4元,领取15元优惠券,实付低至15.2元包邮。无需接线安装,想放哪就放... 阅读全文51 已打分 +1 8 已打分 +1 79去购买 天猫红包 -
百词斩 口袋便携单词机 512MB
惊喜价直播间揭晓覆盖全年龄段,2.7寸墨水屏,同步百词斩APP。京东此款20点进入“京东3C数码采销”直播间,可享专享价(真的很有力,直... 阅读全文2 已打分 +1 12 已打分 +1 17去购买 京享红包
相关文章推荐
- 最热
- 最新
-
经验攻略429128内容 87811人关注关注经验攻略
- 20元大洋,拼一台无级调速的落地直流扇
- 为什么国家大力发展电车,是不是被忽悠了?
- 智能居家好物 篇三:选对车载空气净化器,开启清新驾驶之旅
- 宝妈听劝!避开宝宝护眼误区!护眼吸顶灯“4不买”,养眼不踩坑
- 凯锐思创新高品质猫粮,助力科学养宠
-
Mini 4K 航拍无人机1449元包邮(送¥99桨叶保护罩)Mini 4K 航拍无人机
-
Watch S1 小米手表 运动智能手表526.26元(双重优惠)Watch S1 小米手表 运动智能手表
-
运动手环B3 运动手环179元(需用券)运动手环B3 运动手环
-
7 Pro 智能手环 夜跃黑TPU表带 (血氧、GPS、北斗)216.91元7 Pro 智能手环 夜跃黑TPU表带 (血氧、GPS、北斗)
-
TH1 时钟温湿度计 白色29.71元(需用券)TH1 时钟温湿度计 白色
-
WATCH FIT 3 智能手表 星云粉 氟橡胶表带929元(需用券)WATCH FIT 3 智能手表 星云粉 氟橡胶表带
-
CW300 2.5K室外摄像头 400万像素182.98元(需用券)CW300 2.5K室外摄像头 400万像素
-
Watch ULTIMATE DESIGN 非凡大师 智能手表 49.4mm20649元Watch ULTIMATE DESIGN 非凡大师 智能手表 49.4mm
-
蓝牙防丢定位器10.3元(需用券)蓝牙防丢定位器
-
万元内画质天花板!2米就可投百吋!Vidda C2 Pro 4K三色激光投影仪,我可以宅家沉浸式观看庆余年2了!596 125
-
答应我,一定要囤这些纸!!维达5款爆款纸测评,跟着买就对了!313 196
-
屏幕画质有惊喜!AI加持的Mini LED电视——Vidda X85 Ultra深度评测275 113
-
全家都要用的电动车,不纠结了!我买了雅迪M85,电动车界的SUV0 0全家都要用的电动车,不纠结了!我买了雅迪M85,电动车界的SUV
-
20元大洋,拼一台无级调速的落地直流扇0 020元大洋,拼一台无级调速的落地直流扇
-
UFCS+PPS+小米120W,兼容性优秀,小米120W氮化镓小布丁充电器评测0 0UFCS+PPS+小米120W,兼容性优秀,小米120W氮化镓小布丁充电器评测
-
一手掌握! -- 局域网内利用Portainer集中管理所有服务器上的Docker0 0一手掌握! -- 局域网内利用Portainer集中管理所有服务器上的Docker
-
为什么国家大力发展电车,是不是被忽悠了?0 0为什么国家大力发展电车,是不是被忽悠了?
-
粽子猎奇吃法大测评 | 小妖喊你吃粽子啦220 84粽子猎奇吃法大测评 | 小妖喊你吃粽子啦
-
就是不蘸糖!横评4种粽子黑暗吃法,别轻易尝试218 23就是不蘸糖!横评4种粽子黑暗吃法,别轻易尝试
-
你一定没有试过粽子还能这样吃~~端午节粽子礼包花样吃法129 6你一定没有试过粽子还能这样吃~~端午节粽子礼包花样吃法
-
2024高端旗舰扫地机器人选购攻略,追觅、科沃斯、石头爆卖单品正面刚!到底谁才是你的菜?518 4212024高端旗舰扫地机器人选购攻略,追觅、科沃斯、石头爆卖单品正面刚!到底谁才是你的菜?
-
可能是这个618你能买到的最合适4D的按摩椅,来自著名代工厂的性价比王者,瑞德玛8315来啦513 292可能是这个618你能买到的最合适4D的按摩椅,来自著名代工厂的性价比王者,瑞德玛8315来啦
-
硬件和知识需求
-
软件需求
-
配置流程
-
配置STM32CubeMX
已收藏
去我的收藏夹
值友3644960644
校验提示文案
darkengine
校验提示文案
值友3146675020
校验提示文案
lylnk
校验提示文案
greyGun
校验提示文案
云栖隐者
校验提示文案
陈东晖
校验提示文案
猫理沙
校验提示文案
最孤独的黑
校验提示文案
ChipsAhoy
校验提示文案
hackchen
校验提示文案
julietibm
校验提示文案
语蓝
校验提示文案
OoooCCCP
谁会这么财大气粗买个f0+以上系列。
要不430也OK呀。图形化编程完全OK。
校验提示文案
最孤独的黑
校验提示文案
猫理沙
校验提示文案
OoooCCCP
谁会这么财大气粗买个f0+以上系列。
要不430也OK呀。图形化编程完全OK。
校验提示文案
语蓝
校验提示文案
julietibm
校验提示文案
hackchen
校验提示文案
lylnk
校验提示文案
值友3644960644
校验提示文案
值友3146675020
校验提示文案
darkengine
校验提示文案
陈东晖
校验提示文案
云栖隐者
校验提示文案
greyGun
校验提示文案
ChipsAhoy
校验提示文案