stm32学习
平凡之路_嵌入式
这个作者很懒,什么都没留下…
展开
-
stm32的SystemInit()函数(转)
第一课 时钟频率 STM32F103内部8M的内部震荡,经过倍频后最高可以达到72M。目前TI的M3系列芯片最高频率可以达到80M。 在stm32固件库3.0中对时钟频率的选择进行了大大的简化,原先的一大堆操作都在后台进行。系统给出的函数为SystemInit()。但在调用前还需要进行一些宏定义的设置,具体的设置在system_stm32f10x.c文件中。文件开头就有一个转载 2014-11-12 16:04:29 · 484 阅读 · 0 评论 -
STM32访问外部存储器的时序计算
具体可以参考STM32的应用笔记AN2784 此处说明时序的设置。 当使用一个外部异步存储器时,用户必须按照存储器的数据手册给出的时序数据,计算和设置下列参数: ● ADDSET:地址建立时间 ● ADDHOLD:地址保持时间 ● DATAST:数据建立时间 ● ACCMOD:访问模式 这个参数允许 FSMC可以灵活地访问多种异步的静态存储器。共有4种扩展模式允许以不同的时原创 2015-08-31 15:10:05 · 1122 阅读 · 0 评论 -
STM32中GPIO的8种工作模式!(转)
一、推挽输出:可以输出高、低电平,连接数字器件;推挽结构一般是指两个三极管分别受两个互补信号的控制,总是在一个三极管导通的时候另一个截止。高低电平由IC的电源决定。 推挽电路是两个参数相同的三极管或MOSFET,以推挽方式存在于电路中,各负责正负半周的波形放大任务,电路工作时,两只对称的功率开关管每次只有一个导通,所以导通损耗小、效率高。输出既可以向负载灌电流,也可以从负载抽转载 2014-12-23 13:07:20 · 1796 阅读 · 0 评论 -
stm32晶振不起振的问题
1.外部晶振虚焊,重新补焊2.外部晶振的电容不匹配,换个电容试一试3.芯片挂了,换一个MCU试一试4.STM32f103有内部晶振。刚刚上电时,所有Clock都是源于内部晶振,所以当片内没有程序或内部程序没有使能外部晶振时,外部晶振是不会起振的。 在RCC_Configuration(void)看相关设置,有没有启动外部晶振HSE.PS:如果使用内部RC振荡器而不使用外部晶振,请按原创 2015-02-05 11:19:11 · 2430 阅读 · 0 评论 -
stm32多功能双向5v兼容的IO口的理解
stm32f103xx的很多IO口具有多功能双向5v兼容的能力,这些端口是: PA口 :PA8-PA15 PB口: PB2-PB4,PB6-PB15 PC口: PC6-PC12 PD口: PD0-PD15 PE口: PE0-PE15标准51属于5v系统,而c8051和STM32属于3.3V系统,而VDD电压最高为3.6V,器内部也没有升压电路,因此st原创 2014-12-07 15:50:33 · 8462 阅读 · 0 评论 -
stm32单定时器四通道输入捕获(转)
输入捕获作为定时器的一个功能,在工业测速上有很大的应用。STM32的一些定时器具有四个外部通道,可利用一个定时器采集外部四路脉冲频率,节约硬件资源和软件代码如需要测量一个或多个外部方波脉冲频率,频率低于单片机运行频率,可如下操作:(以TIM4为例)初始化:(省略GPIO配置,将TIM4的四个通道引脚配置为上拉或浮空输入,省略定时器RCC配置,省略中断NVIC配置)转载 2014-12-12 10:10:59 · 5022 阅读 · 0 评论 -
stm32的低功耗模式和RTC闹钟唤醒
一 、STM32待机模式简介很多单片机都有低功耗模式,STM32也不例外。在系统或电源复位以后,微控制器处于运行状态。运行状态下的HCLK为CPU提供时钟,内核执行程序代码。当CPU不需继续运行时,可以利用多个低功耗模式来节省功耗,例如等待某个外部事件时。用户需要根据最低电源消耗,最快速启动时间和可用的唤醒源等条件,选定一个最佳的低功耗模式。STM32的低功耗模式有3种:1原创 2014-12-02 10:26:28 · 9973 阅读 · 1 评论 -
STM32的USART注意
在USART的发送端有2个寄存器,一个是程序可以看到的USART_DR寄存器,另一个是程序看不到的移位寄存器,对应USART数据发送有两个标志,一个是TXE=发送数据寄存器空,另一个是TC=发送结束。XE--写寄存器DR清零RXNE--读寄存器DR清零,也可软件手动清零 TC-- 读/写寄存器DR清零,也可软件手动清零先说TC。即Transmission Complete原创 2014-11-28 13:44:08 · 855 阅读 · 0 评论 -
stm32变更外部晶振时如何配置外部时钟(转)
本文转载自千牛卫大将军《stm32变更外部晶振时如何配置时钟》由于stm32的库默认是外部晶振8M的情况下实现的,所以配置串口波特率的时候也是按8M,包括主频。如果采用外部晶振12M,配置时钟为72MHZ 。1)PLL倍频这样改:8M:RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMU转载 2014-11-12 16:15:06 · 3751 阅读 · 0 评论 -
fsmc接口的使用注意
FSMC全称“静态存储器控制器”。使用FSMC控制器后,可以把FSMC提供的FSMC_A[25:0]作为地址线,而把FSMC提供的FSMC_D[15:0]作为数据总线。(1)当存储数据设为8位时,(FSMC_NANDInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_8b) 地址各位对应FSMC_A[25原创 2015-01-08 12:33:36 · 2846 阅读 · 0 评论