stm832详解文档格式.docx

上传人:b****4 文档编号:6437963 上传时间:2023-05-06 格式:DOCX 页数:16 大小:23.04KB
下载 相关 举报
stm832详解文档格式.docx_第1页
第1页 / 共16页
stm832详解文档格式.docx_第2页
第2页 / 共16页
stm832详解文档格式.docx_第3页
第3页 / 共16页
stm832详解文档格式.docx_第4页
第4页 / 共16页
stm832详解文档格式.docx_第5页
第5页 / 共16页
stm832详解文档格式.docx_第6页
第6页 / 共16页
stm832详解文档格式.docx_第7页
第7页 / 共16页
stm832详解文档格式.docx_第8页
第8页 / 共16页
stm832详解文档格式.docx_第9页
第9页 / 共16页
stm832详解文档格式.docx_第10页
第10页 / 共16页
stm832详解文档格式.docx_第11页
第11页 / 共16页
stm832详解文档格式.docx_第12页
第12页 / 共16页
stm832详解文档格式.docx_第13页
第13页 / 共16页
stm832详解文档格式.docx_第14页
第14页 / 共16页
stm832详解文档格式.docx_第15页
第15页 / 共16页
stm832详解文档格式.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

stm832详解文档格式.docx

《stm832详解文档格式.docx》由会员分享,可在线阅读,更多相关《stm832详解文档格式.docx(16页珍藏版)》请在冰点文库上搜索。

stm832详解文档格式.docx

RESET)

1)、设置为复用Push-Pull模式。

GPIO_Pin_8;

GPIO_Speed_50MHz;

GPIO_Mode_AF_PP;

GPIO_Init(GPIOA, 

&

GPIO_InitStructure);

2)、选择输出时钟源。

时钟的选择由时钟配置寄存器(RCC_CFGR)中的MCO[2:

0]位控制。

RCC_MCOConfig(RCC_MCO);

参数RCC_MCO为要输出的内部时钟:

RCC_MCO_NoClock 

--- 

无时钟输出

RCC_MCO_SYSCLK 

输出系统时钟(SysCLK)

RCC_MCO_HSI 

输出内部高速8MHz的RC振荡器的时钟(HSI)

RCC_MCO_HSE 

输出高速外部时钟信号(HSE)

RCC_MCO_PLLCLK_Div2 

输出PLL倍频后的二分频时钟(PLLCLK/2)

注:

由于STM32 

GPIO输出管脚的最大响应频率为50MHz,如果输出频率超过50MHz,则输出的波形会失真。

4、可编程电压监测器(PVD)

STM32内部自带PVD功能,用于对MCU供电电压VDD进行监控。

通过电源控制寄存器中的PLS[2:

0]位可以用来设定监控电压的阀值,通过对外部电压进行比较来监控电源。

当条件触发,需要系统进入特别保护状态,执行紧急关闭任务:

对系统的一些数据保存起来,同时对外设进行相应的保护操作。

1)、系统启动后启动PVD,并开启相应的中断。

PWR_PVDLevelConfig(PWR_PVDLevel_2V8);

....

位置58 

DMA2_Channel3 

DMA2 

Channel3 

global 

interrupt

位置59 

DMA2_Channel4_5 

Channel4 

and 

Channel5 

interrupts

2)、系统控制寄存器组

STM32的固件库中有如下定义:

typedef 

struct

vuc32 

CPUID;

vu32 

ICSR;

VTOR;

AIRCR;

SCR;

CCR;

SHPR[3];

SHCSR;

CFSR;

HFSR;

DFSR;

MMFAR;

BFAR;

AFSR;

SCB_TypeDef;

/* 

System 

Block 

Structure 

*/

它们对应ARM手册中的名称为

CPUID 

Base 

Register

ICSR 

Interrupt 

State 

VTOR 

Vector 

Table 

Offset 

AIRCR 

Application 

Interrupt/Reset 

SCR 

CCR 

Configuration 

SHPR 

Handlers 

Priority 

SHCSR 

Handler 

CFSR 

Configurable 

Fault 

Status 

Registers

HFSR 

Hard 

DFSR 

Debug 

MMFAR 

Mem 

Manage 

Address 

BFAR 

Bus 

AFSR 

Auxiliary 

3)、系统时钟寄存器组

CTRL;

LOAD;

VAL;

CALIB;

SysTick_TypeDef;

CTRL 

SysTick 

LOAD 

Reload 

Value 

VAL 

Current 

CALIB 

Calibration 

================================= 

DMA 

================================

1、DMA普通模式和循环模式的区别

循环模式:

用于处理一个环形的缓冲区,每轮传输结束时数据传输 

的配置会自动地更新为初始状态,DMA传输会连续不断地进行。

普通模式:

在DMA传输结束时,DMA通道被自动关闭,进一步的 

DMA请求将不被满足。

2、DMA传输需要指定的条件:

传输源:

DMA控制器从传输源读出数据;

传输目标:

DMA控制器将数据传输的目标;

触发信号:

用于触发一次数据传输的动作,执行一个单位的传输源至传输目标的数据传输。

可以用来控制传输的启动条件。

ADC 

1、STM32的内部温度传感器

STM32内部温度传感器与ADC的通道16相连,与ADC配 

合使用实现温度测量。

测量范围–40~125℃,精度 

±

1.5℃

1)、设置ADC相关参数

25℃

DAC 

============================= 

Advanced 

Timer 

=========================

General 

==========================

Real-Time 

Clock 

========================

=========================== 

Independent 

watchdog 

=====================

Windows 

Watchdog 

================================== 

FSMC 

SDIO 

USB 

===============================

1、STM32的USB中断说明 

STM32的USB模块可产生三种中断:

USB唤醒中断、USB高优先级中断和USB低优先级中断,这三种中断对应事件如下:

1)、USB唤醒中断 

- 

在中断向量表中的位置是42

这个中断在USB设备从暂停模式唤醒时产生,唤醒事件由USB_ISTR寄存器的WKUP位标识。

2)、USB高优先级中断 

在中断向量表中的位置是19

这个中断仅由USB同步(Isochronous)模式传输或双缓冲块(Bulk)传输模式下的正确传输事件产生,正确传输事件由USB_ISTR寄存器的CTR位标识。

3)、USB低优先级中断 

在中断向量表中的位置是20

这个中断由所有其它的USB事件产生,例如正确传输(不包括同步模式和双缓冲块模式)、USB复位等,事件标志位在USB_ISTR寄存器中。

在STM提供的STM32 

开发包中的例程包含了上述三种中断的处理方法。

例如在USB 

Speaker例程中,CTR_HP函数处理USB高优先级中断;

在所有例子中都有USB_Istr()函数处理USB低优先级中断。

bxCAN 

1、CAN波特率的设定计数

Etherne 

SPI 

1、SPI外设的NSS引脚设置为通用IO口

由于SPI外设的SPI_CR1寄存器中SSM置1时,NSS引脚可被被释放用于GPIO使用,因此无论是在SPI的主模式或是从模式下均可以将NSS引脚释放,由软件或硬件进行NSS管理;

1)、初始化SPI外设,设置NSS由软件管理:

SPI_NSS_Soft;

2)、如果NSS引脚用于其他外设时,需要使能NSS输出:

SPI_SSOutputCmd(SPIx, 

ENABLE);

2、SPI 

单线传输

此模式下限制:

只能用作输入或者输出,或者工作在半双工模式下。

I2C 

USART 

============================ 

Device 

Signature 

1、 

STM32F10xxx系列MCU内部含有一个出厂被固化的96bit唯一识别ID,该ID可以用于芯片加密、设备识别等一类特殊应用。

读取该ID的方法:

u32 

DevID[3];

DevID[0] 

*(vu32*)(0x1ffff7e8);

DevID[1] 

*(vu32*)(0x1ffff7ec);

DevID[2] 

*(vu32*)(0x1ffff7f0);

数组DevID[3]中即保存了MCU的ID。

256K 

Flash或以上容量的STM32,仅“Z”版本才有,之前的“A”版本没有。

2、

Flash 

1、STM32对内部Flash的保护措施 

所有STM32的芯片都提供对Flash的保护,防止对Flash的非法访问 

写保护和读保护。

1)、读保护即大家通常说的“加密”,是作用于整个Flash存储区域。

一旦设置了Flash的读保护,内置的Flash存储区只能通过程序的正常执行才能读出,而不能通过下述任何一种方式读出:

  通过调试器(JTAG或SWD);

  从RAM中启动并执行的程序;

2)、写保护是以四页(1KB/页) 

Flash存储区为单位提供写保护,对被保护的页实施编程或擦除操作将不被执行,同时产生操作错误标志。

读与写设置的效果见下表:

读保护  写保护   

对Flash的操作功能

有效   有效   CPU只能读,禁止调试和非法访问。

有效   无效   CPU可以读写,禁止调试和非法访问,页0~3为写保护。

无效   有效   CPU可读,允许调试和非法访问。

无效   无效   CPU可以读写,允许调试和非法访问。

2、当Flash读保护生效时,CPU执行程序可以读受保护的Flash区,但存在两个例外情况:

1)、调试执行程序时;

2)、从RAM启动并执行程序时

STM32还提供了一个特别的保护,即对Flash存储区施加读保护后,即使没有启用写保护,Flash的第 

~ 

页也将处于写保护状态,这是为了防止修改复位或中断向量而跳转到RAM区执行非法程序代码。

3、Flash保护相关函数

FLASH_Unlock();

04C04c9A

ex

4)、Options->

Linker->

Output->

Output 

File->

Format->

Other 

选项前的钩选上并把Output格式改为intel-extended

经过以上设置,在Rebuld 

All之后会在\Debug\Exe下生成.hex格式目标文件 

3、IAR编译输出BIN格式的目标文件

1)、Options->

C/C++ 

Compiler->

Generate 

debug 

information 

选项前的钩去掉

2)、Options->

Assembler->

3)、Options->

Override 

default 

选项前的钩选上并把文件名的后缀改成.bin

选项前的钩选上并把Output格式改为row-binary

All之后会在\Debug\Exe下生成.bin格式目标文件 

MDK 

1、在MDK代码编辑环境下不能使用Goto 

Definition(用于查找某个变量的类型及定义)、Goto 

Reference(用于查找某个函数申明的原型)功能

解决:

打开Project->

Target-Options->

Output,将Browse 

Information复选框勾上。

2、当使用STM32固件库与RTX 

Kernel时,使用isr_evt_set(),事件无响应

编辑STM32固件库的“32f”文件:

...

IMPORT 

SVC_Handler 

;

name 

changed 

according 

to 

RTX 

usage

DebugMonitor

PendSV_Handler 

修改加入

SysTick_Handler 

DCD 

SVC_Handler

Reserved

SysTick_Handler

3、

======================================================================

本贴被Grant编辑过,最后修改时间:

2009-08-19,01:

14:

11.

 

2008-09-29,18:

37:

47

资料

邮件

回复

引用回复 

↑↑ 

↓↓

编辑

删除

【1楼】Grant

积分:

2419

派别:

等级:

------

来自

STM8S使用常用问题汇总

==================================================================

按外设模块 

====================================================================== 

=============================== 

Beep 

=================================

1、STM8S提供一个Beep引脚。

通过简单的配置即可输出1K、2K、4K三种频率信号驱动外部蜂鸣器。

由于默认情况下Beep输出引脚PD4为TIM2_CC1功能,为此我们需要打开“Option 

Bytes”的AFR7选项。

打开STVP,选择你使用的MCU型号,找到"

Option 

Bytes"

标签。

将AFR7改为"

Port 

D4 

Alternate 

Function 

= 

Beep"

菜单栏选择"

Program"

->

"

tab"

,成功后,即可正常使用Beep输出功能。

Power/RESET 

1、STM8S为双电源MCU,外设工作电压为3V~,内核工作电压为。

因MCU内部已集成 

低功耗电压(LPVR)调节器,MCU工作仅需提供一个供电电源。

在电源电路设计时,需要注意芯片VCAP引脚上要提供滤波电容,该电容用于对内部供电滤波,容值不小于470nF为宜,瓷片和Ta电容均可,尽量选择较低ESR(等效串联电阻值)的型号。

2、MCU芯片自带上电复位(POR)与掉电复位(BOR),工作时供电需注意POR、BOR工作范围。

1)、POR 

Power-On 

Reset 

上电复位 

POR的功能是在VDD电压由低向高上升越过规定的阀值(VIT+)之前,保持芯片复位,当越过这个阀值(VIT+)后的一小段时间后(Reset 

temporization),结束复位开始取复位向量执行指令。

2)、BOR 

Brown-Out 

掉电复位

BOR的功能是在VDD电压由高向低下降越过规定的阀值(VIT-)后,将在芯片内部产生复位。

3、芯片复位地址指向0x6000(内部Bootloader存放首地址),在检查无Boot操作,PC指向0x8080地址。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2