stm32
残影SAMA
这个作者很懒,什么都没留下…
展开
-
STM32 启动文件选择
STM32 启动文件选择- startup_stm32f10x_ld_vl.s: for STM32 Low density Value line devices- startup_stm32f10x_ld.s: for STM32 Low density devices- startup_stm32f10x_md_vl.s: for STM32 Medium density转载 2014-01-01 22:40:09 · 1384 阅读 · 0 评论 -
Systick
? 首先我们要明白什么是SysTick定时器?Sys 系统 ,tick 滴答声 ,系统滴答滴答很形象地表示了它是一个系统节拍器。SysTick 是一个24 位的倒计数定时器,当计到0 时,将从RELOAD 寄存器中自动重装载定时初值。只要不把它在SysTick 控制及状态寄存器中的使能位清除,就永不停息。? 为什么要设置SysTick定时器?(1)产生操作系统转载 2014-01-02 15:59:28 · 1822 阅读 · 3 评论 -
STM32时钟设置
大家都知道在使用单片机时,时钟速度决定于外部晶振或内部RC振荡电路的频率,是不可以改变的。而ARM的出现打破了这一传统的法则,可以通过软件随意改变时钟速度。这一出现让我们的设计更加灵活,但是也给我们的设计增加了复杂性。为了让用户能够更简单的使用这一功能,STM32的库函数已经为我们设计的更加简单方便。 在比较靠前的版本中,我们需要向下面那样设置时钟:ErrorStatus H转载 2014-01-01 22:32:11 · 705 阅读 · 0 评论 -
STM32启动过程解析
相对于ARM上一代的主流ARM7/ARM9内核架构,新一代Cortex内核架构的启动方式有了比较大的变化。ARM7/ARM9内核的控制器在复位后,CPU会从存储空间的绝对地址0x000000取出第一条指令执行复位中断服务程序的方式启动,即固定了复位后的起始地址为0x000000(PC = 0x000000)同时中断向量表的位置并不是固定的。而Cortex-M3内核则正好相反,有3种情况:1转载 2014-01-03 20:50:11 · 652 阅读 · 0 评论 -
STM32中assert_param的使用
在STM32的固件库和提供的例程中,到处都可以见到assert_param()的使用。如果打开任何一个例程中的stm32f10x_conf.h文件,就可以看到实际上assert_param是一个宏定义;在固件库中,它的作用就是检测传递给函数的参数是否是有效的参数。所谓有效的参数是指满足规定范围的参数,比如某个参数的取值范围只能是小于3的正整数,如果给出的参数大于3,则这个assert_转载 2014-01-03 22:47:42 · 510 阅读 · 0 评论 -
STM32的串口通信(uart)
在基础实验成功的基础上,对串口的调试方法进行实践。硬件代码顺利完成之后,对日后调试需要用到的printf重定义进行调试,固定在自己的库函数中。b) 初始化函数定义:void USART_Configuration(void); //定义串口初始化函数c) 初始化函数调用:void UART_Configuration(void); //串口初始化函数转载 2014-01-06 20:32:36 · 1132 阅读 · 0 评论 -
stm32之DMA彻底研究
原文地址:stm32之DMA彻底研究 作者:number007cool在做实验之前,首先必须明白什么是DMA,DMA的作用又体现在哪里。DMA,即直接内存存储,在一些数据的传输中,采用DMA方式,从而将CPU解放出来。让CPU有足够的时间处理其他的事情。stm32使用DMA的相关操作:1、DMA的配置要配置的有DMA传输通道选择,传输的成员和方向、普通模式还是循转载 2014-01-11 16:11:50 · 641 阅读 · 0 评论