STM32是现在使用比较多的一款处理器,大家可以着手研究研究,功能和51单片机不可同日而语。
闲来没事,也喜欢研究研究这个功能比较强大的单片机。
环境的搭建及安装,其实很简单,不需要多说,网上的资源很多。我也会上传MDK5和一些单片机F1系列和F4系列的型号等。
下载链接:
链接:https://pan.baidu.com/s/1RYSVAJkknHLJeWsyfe6xKQ
提取码:82jp
复制这段内容后打开百度网盘手机App,操作更方便哦
新建工程,步骤:
注意,我们这里新建的工程,不涉及固件库,只是简单的工程创建,这个适合刚学习STM32,对工程的熟悉,后面会有比较合理的项目工程创建(后面再讲)。
1.新建文件夹
注意,文件夹命名不要有中文字符,字符尽量只包含(字母、下划线、或数字)
2.打开keil5
3.新建工程
4.选择刚上新建的文件夹,然后新建工程名称
5.选择自己的单片机芯片
我们这里的STM32芯片是STM32F103 VE,所以选择的芯片型号为:
点击OK
6.选择驱动和核
点击OK
7.新建文件,main.c
8.将main.c文件添加到工程中来
到这里工程就已经建好了,可以在main.c文件中写一个让LED灯闪烁的代码了。
这里使用的是寄存器完成相应的工程。
大家可以网上下载STM32相关中文手册(文档)研读一下,刚开始还是比较容易的。
程序下载,我这里使用的J-Link V8 下载器完成代码下载。
代码如下:
/*
创建人:wantin
创建时间:2019.9.20
功能:一个LED灯闪烁
接线:
PC0与LED1相接
实现的步骤:
1.开启式GPIOC口的时钟
2.设置PC0口的工作模式
3.数据的输出
*/
#include "stm32f10x.h" // Device header
void delay(void); // 函数声明
int main(void)
{
RCC->APB2ENR |= 0X00000010; // 开启GPIOC口的时钟
GPIOC->CRL |= 0X00000003; // 设置PC0口推挽输出模式,速度50MHz
GPIOC->ODR = 0X00000001; // LED置灭
while(1)
{
GPIOC->ODR = 0X00000001; // 灭
delay(); // 延时函数调用
GPIOC->ODR = 0X00000000; // 亮
delay();
}
}
/* 延时函数 */
void delay(void)
{
int i,j; // 循环变量
for(i=0;i<4000;i++)
{
for(j=0;j<400;j++);
}
}
效果如下: