4、复位和时钟控制
4.1、复位
STM32 有三种复位类型:系统复位、电源复位和备份域复位。
4.1.1 系统复位
系统复位时,除了时钟控制CSR 寄存器里的那些复位标志和在备份域的寄存器没有复位,
其它的寄存器都将复位。(see Figure 3)
当以下条件任何一个发生时,将产生一个系统复位:
1、 在NRST 脚上出现低电平。(External Reset)
2、 窗口看门狗计时到。 (WWDG Reset)
3、 独立看门狗计时到。 (IWDG Reset)//这两个看门狗的名称如译得不对,望见谅
4、 软件复位。 (SW Reset) (see Section : Software Reset)
5、 低电压管理复位。(see Section : Low-power management Reset)
通过检查控制/状态寄存器RCC_CSR里的复位标志可以识别复位源。(see Section 4.3.10:
Control/status register (RCC_CSR))。
软件复位
如要强行软件复位芯片,必须将在Cortex-M3应用中断和复位控制寄存器里的
SYSRESETREQ位置1。如需了解更多的细节,请参考Cortex-M3技术参考手册。
低电压管理复位
有两种方式产生低电压复位:
1、 当进入STANDBY模式时,产生复位。
通过复位用户选项字节里的_nRST_STDBY位来使能这种复位,在这种情况下,只要进
入STANDBY模式被成功的执行,进入STANDBY模式被器件复位所取代。
2、 当时入STOP模式时,产生复位。
通过复位用户选项字节里的_Nrst_STOP位来使能这种复位,在这种情况下,只要进入
STOP模式被成功的执行,进入STOP模式被器件复位所取代。
为了得到更多的用户选项字节里信息,请参考STM32F10X FLASH编程手册。
5、普通用途和可选择功能的I/O(GPIO 和
AFIO)
5.1、GPIO 功能描述
每个普通用途I/O 口有两个32 位配置寄存器(GPIOx_CRL,GPIOx_CRH)两个32 位数据
寄存器(GPIOx_IDR,GPIOx_ODR),一个32 位置位/复位寄存器(GPIOx_BSRR),一个16
位复位寄存器(GPIOx_BRR)和一个32 位锁存寄存器(GPIOx_LCKR)。
每个I/O 口的特殊硬件特性都列表于数据手册里,GPIO 口的每个口可以被软件独立的配置
许多模式:
——输入悬浮
——输入上拉
——输入下拉
——模拟输入
——输出开漏
——输出上拉
——可选择功能上拉
——可选择功能开漏
每一个I/O 口可以自由的编程,但是,I/O 口寄存器必须以32 位字访问(不允许半字或字节
访问)。GPIOx_BSRR 和GPIOx_BRR 寄存器的目的是可以以原子的读/修改来访问每一个
GPIO 寄存器。这种方式,在读和修改之间不会有发生IRQ 这样的冒险。
Figure 9 说明了每个I/O 的基本结构。
用户149535 2008-8-10 18:35
jizzll_617398179 2008-8-10 00:07
用户1373524 2008-8-3 08:49
jizzll_617398179 2008-8-1 00:40
用户152939 2008-7-16 17:07
用户1090342 2008-7-9 18:40