STM32F103ZET入门

1.F103指的是增强型  Z 是144脚  E是512k的闪存。

2.下载可用usb转串口 ,用的是下载软件。安装CH340的驱动

也可用j-link硬件仿真,其中mdk配置为硬件仿真,flash选中对应的即可。

3.mdk4——arm或者mdk5作为编辑软件,需要破解。否则在flash字库实验时会报错the size of the image(199988)

大于linker最大传输。

既然大家都使用的是 Cortex-M3 核,也就是说,本质上大家都是一样的,这样 ARM 公司

为了能让不同的芯片公司生产的 Cortex-M3 芯片能在软件上基本兼容,和芯片生产商共同提出

ALIENTEK  战舰 STM32F103 V3  开发板教程

59

STM32 F1  开发指南(库函数 版) )

了一套标准 CMSIS 标准(Cortex Microcontroller Software Interface Standard) ,翻译过来是

“ARM Cortex™ 微控制器软件接口标准”。

stm32f10x_it.c 里面是用来编写中断服务函数,中断服务函数也可以随意编写在工程

里面的任意一个文件里面.

stm32f10x_conf.h 文件打开可以看到一堆的#include,这里你建立工程的时候,可以注释掉一

些你不用的外设头文件

MDK5 向后兼容 MDK4 和 MDK3 等,以前的项目同样可以在 MDK5 上进行开发(但是头文

件方面得全部自己添加).

头文件找不到,这里大家要注意,对于任何一个工程,我们都需要把工程中引用到的所有头文件的路径都包含到

进来 。回到工程主菜单,点击魔术棒 ,出来一个菜单,然后点击 c/c++选项.然后点击

Include Paths 右边的按钮。弹出一个添加 path 的对话框,然后我们将图上面的 3 个目录添

加进去。记住,keil 只会在一级目录查找,所以如果你的目录下面还有子目录,记得 path

一定要定位到最后一级子目录。然后点击 OK.

在main函数 #include“XXXX。h”

Stm32f10x.it  意义不大,中断空函数

FWLIB  官方固件库函数,用到哪些添加哪些就好

GPIO

1.APP文件夹中添加   .C  .H

2..h文件中 #include stm32f10X。H    然后.c文件再去包含.h

3.先要时钟初始化,然后端口初始化  

4.GPIO——pin可以分成ABCDE,每个端口16个管脚·

5.每次在APP文件夹中添加.C文件都需要添加头文件路径。

6.  GPIO的工作模式:

输入浮空模式:外部高电平 读为1反之为0

输入上拉模式:外部高电平 读为1反之为0(上拉电阻作用:抗干扰)

输入下拉模式:同上?

模拟输入模式:读取进来直接到片内AD

输出模式:开漏输出0 就输出0 ,开漏只能输出低电平

          开漏输出1 端口随着外设的电压变化(温度的测量)

开漏复用输出:由片内外设模块输出信号(COM口)

*推挽输出模式:输出1就是1  输出0就是0,并不随着外围电平变化。(LED的输出)

推挽复用输出模式:由片内外设模块输出信号

Gpio.c

Misc.c要用

rcc.c时钟使能

Stm32GPIO的初始化 读取输入输出电平函数  设置输出电平

Stm32很多时钟原因:耗电 抗干扰

头文件里边写函数声明或者宏定义

三极管接在蜂鸣器之前而不是直接由IO口输出是因为需要功率放大,蜂鸣器才可以使用

Static静态变量有记忆功能,

键盘10ms延时防抖。模式分为支持连续按和不连续

映射:把寄存器和32位地址连接起来,首地址(基地址)+偏移地址

STM32五个时钟源

HSI (内部8M振荡器)

HSE(外部8M)

PLL倍频器

LSE(外接32Khz的震荡)

LSI(内部振荡器40khz)

输出内部时钟MCO(PA8)

Stm32f10X_rcc.H配置时钟

SystemInit

SetSysClock配置系统时钟

Systemcoreclock是配置好的时钟结果

Systick滴答定时器简单做延时,或者心跳时钟。24位的倒计时,自动重载。

Systick可以产生中断,

正点原子的delay函数是用滴答定时器写出来的,

Delay_init是用于选择时钟源和延时因子。不执行因子就是0。

GPIO复用为内置外设得功能引脚的时候 叫复用。

片上外设的引脚映射到其他引脚叫重映射。原来的脚就不用了,方便布线。

AFIO时钟是复用时钟。Stm32f10x--gpio.h里面有一个函数GPIO_PinRemapConfig

中断:内核中断和外部中断(可屏蔽中断),F103一共60个外部中断。

抢占优先级的数越小(0-3)优先级越高

NVIC_PriorityGroupConfig  中断分组

Misc.c是中断文件

先分组然后初始化中断,设置响应和抢占优先级。

1.F103指的是增强型  Z 是144脚  E是512k的闪存。

2.下载可用usb转串口 ,用的是下载软件。安装CH340的驱动

也可用j-link硬件仿真,其中mdk配置为硬件仿真,flash选中对应的即可。

3.mdk4——arm或者mdk5作为编辑软件,需要破解。否则在flash字库实验时会报错the size of the image(199988)

大于linker最大传输。

既然大家都使用的是 Cortex-M3 核,也就是说,本质上大家都是一样的,这样 ARM 公司

为了能让不同的芯片公司生产的 Cortex-M3 芯片能在软件上基本兼容,和芯片生产商共同提出

ALIENTEK  战舰 STM32F103 V3  开发板教程

59

STM32 F1  开发指南(库函数 版) )

了一套标准 CMSIS 标准(Cortex Microcontroller Software Interface Standard) ,翻译过来是

“ARM Cortex™ 微控制器软件接口标准”。

stm32f10x_it.c 里面是用来编写中断服务函数,中断服务函数也可以随意编写在工程

里面的任意一个文件里面.

stm32f10x_conf.h 文件打开可以看到一堆的#include,这里你建立工程的时候,可以注释掉一

些你不用的外设头文件

MDK5 向后兼容 MDK4 和 MDK3 等,以前的项目同样可以在 MDK5 上进行开发(但是头文

件方面得全部自己添加).

头文件找不到,这里大家要注意,对于任何一个工程,我们都需要把工程中引用到的所有头文件的路径都包含到

进来 。回到工程主菜单,点击魔术棒 ,出来一个菜单,然后点击 c/c++选项.然后点击

Include Paths 右边的按钮。弹出一个添加 path 的对话框,然后我们将图上面的 3 个目录添

加进去。记住,keil 只会在一级目录查找,所以如果你的目录下面还有子目录,记得 path

一定要定位到最后一级子目录。然后点击 OK.

在main函数 #include“XXXX。h”

Stm32f10x.it  意义不大,中断空函数

FWLIB  官方固件库函数,用到哪些添加哪些就好

GPIO

1.APP文件夹中添加   .C  .H

2..h文件中 #include stm32f10X。H    然后.c文件再去包含.h

3.先要时钟初始化,然后端口初始化  

4.GPIO——pin可以分成ABCDE,每个端口16个管脚·

5.每次在APP文件夹中添加.C文件都需要添加头文件路径。

6.  GPIO的工作模式:

输入浮空模式:外部高电平 读为1反之为0

输入上拉模式:外部高电平 读为1反之为0(上拉电阻作用:抗干扰)

输入下拉模式:同上?

模拟输入模式:读取进来直接到片内AD

输出模式:开漏输出0 就输出0 ,开漏只能输出低电平

          开漏输出1 端口随着外设的电压变化(温度的测量)

开漏复用输出:由片内外设模块输出信号(COM口)

*推挽输出模式:输出1就是1  输出0就是0,并不随着外围电平变化。(LED的输出)

推挽复用输出模式:由片内外设模块输出信号

Gpio.c

Misc.c要用

rcc.c时钟使能

Stm32GPIO的初始化 读取输入输出电平函数  设置输出电平

Stm32很多时钟原因:耗电 抗干扰

头文件里边写函数声明或者宏定义

三极管接在蜂鸣器之前而不是直接由IO口输出是因为需要功率放大,蜂鸣器才可以使用

Static静态变量有记忆功能,

键盘10ms延时防抖。模式分为支持连续按和不连续

映射:把寄存器和32位地址连接起来,首地址(基地址)+偏移地址

STM32五个时钟源

HSI (内部8M振荡器)

HSE(外部8M)

PLL倍频器

LSE(外接32Khz的震荡)

LSI(内部振荡器40khz)

输出内部时钟MCO(PA8)

Stm32f10X_rcc.H配置时钟

SystemInit

SetSysClock配置系统时钟

Systemcoreclock是配置好的时钟结果

Systick滴答定时器简单做延时,或者心跳时钟。24位的倒计时,自动重载。

Systick可以产生中断,

正点原子的delay函数是用滴答定时器写出来的,

Delay_init是用于选择时钟源和延时因子。不执行因子就是0。

GPIO复用为内置外设得功能引脚的时候 叫复用。

片上外设的引脚映射到其他引脚叫重映射。原来的脚就不用了,方便布线。

AFIO时钟是复用时钟。Stm32f10x--gpio.h里面有一个函数GPIO_PinRemapConfig

中断:内核中断和外部中断(可屏蔽中断),F103一共60个外部中断。

抢占优先级的数越小(0-3)优先级越高

NVIC_PriorityGroupConfig  中断分组

Misc.c是中断文件

先分组然后初始化中断,设置响应和抢占优先级。

猜你喜欢

转载自blog.csdn.net/Bluenapa/article/details/72594311