文档介绍:转。。在<<STM32不完全手册里面>>,用的是STM32F103RBT6,,里面定义了STM32的堆栈大小以及各种中断的名字及入口函数名称,还有启动相关的汇编代码。,从其里面的内容看来,它只定义了3个串口,4个定时器。实际上STM32的系列产品有5个串口的型号,也只有有2个串口的型号,定时器也是,做多的有8个定时器。比如,如果你用的STM32F103ZET6,,你可以正常使用串口1~3的中断,而串口4和5的中断,则无**常使用。又比如,你TIM1~4的中断可以正常使用,而5~8的,则无法使用。  ,;;hd适用于大容量产品;:小容量:FLASH≤32K中容量:64K≤FLASH≤128K大容量:256K≤FLASH;********************(C)COPYRIGHT2011STMicroelectronics********************;*FileName      :;*Author        :MCDApplicationTeam;*Version        :;*Date          :11-March-2011;*Description      :STM32F10xHighDensityDevicesvectortableforMDK-ARM;*              toolchain.;*              Thismoduleperforms:;*              -SettheinitialSP;*              -SettheinitialPC==Reset_Handler;*              -SetthevectortableentrieswiththeexceptionsISRaddress;*              -Configuretheclocksystemandalsoconfiguretheexternal;*                SRAMmountedonSTM3210E-EVALboardtobeusedasdata;*                memory(optional,tobeenabledbyuser);*              -Branchesto__mainintheClibrary(whicheventually;*                callsmain()).;*              AfterResettheCortexM3processorisinThreadmode,;*              priorityisPrivileged,andtheStackissettoMain.;*说明:          此文件为STM32F10x高密度设备的MDK工具链的启动文件;*              该模块执行以下操作:;*              -设置初始堆栈指针(SP);*              -设置初始程序计数器(PC)为复位向量,并在执行main函数前初始化系统时钟;*              -设置向量表入口为异常事件的入口地址;*              -复位之后处理器为线程模式,优先级为特权级,堆栈设置为MSP主堆栈;*<<<UseConfigurationWizardinContextMenu>>>  ;首先对栈和堆的大小进行定义,并在代码区的起始处建立中断向量表,其第一个表项是栈;顶地址,第二个表项是复位中断服务入口地址。然后在复位中断服务程序中跳转??C/C++标;准实时库的__main函数。假设STM32被设置为从内部FLASH启动中断向量表起始地位为0x8000000,;则栈顶地址存放于0x8000000处,而复位中断服务入口地址存放于0x8000004处。当STM32遇;到复位信号后,则从0x处取出复位中断服务入口地址继而执行复位中断服务程序,;然后跳转__main函数,最后来到C的世界。;DCD指令:作用是开辟一段空间,其意义等价于C语言中的地址符“&”。开始建立的中断向量;,分别指向各个中断服务