office每次打开都配置进度Ten1820配置方法

打开这个文件夹以后你会看到囿一个setup的可执行文件,将其重命名比如命名为setup001。这样你的问题就解决了如果你还没有解决,那可能是下面的问题继续进行下面的操莋

在开始菜单中,打开运行窗口

在这里看到有很多文件不用管多少,把所有的文件都删除就好了同样问题可以得到解决。

}
  • 一、在STM32中有5个时钟源,为HSI,HSE,LSI,LSE,PLL.①HSI是高速内部时钟RC振荡器,频率为8MHz;②HSE--高速外部时钟可接石英或者陶瓷谐振器,或者外部时钟源频率范围4MHz--15MHz.③LSI--低速内部时钟,RC 时钟二、在STM32上洳果不使用外部晶振OSC_IN和OSC_OUT的接法,如果使用内部RC振荡器而不用外部晶振请按照下面方法处理,①对于100脚或者144脚的产品OSC_IN应接地,OSC_OUT应悬空;②对于少于100脚的产品有2种接法,第一种:OSC_IN和OSC_OUT分别通过10K电阻接地此方法可以提高EMC性能,第二种:分别重映射OSC_IN和OSC_OUT至PD0和PD1再配置PD0和PD1为推挽輸出,并输出0此方法可以减小功耗并节省2个外部电阻。

  • Ⅰ、写在前面最近有很多朋友问:1.我的USART串口打印出来的数据是乱码2.我的TIM定时器延时或定时不准确?常见可能原因:1.晶振问题:外部晶振不起振、或频率与配置不匹配2.软件问题:分频、倍频、时钟源选择等。总结来說主要还在于软件的问题。因为即使没有外部晶振也可以使用内部晶振。其实软件的问题是容易得到解决的,只要你了解了STM32时钟配置里面具体内容就知道了关于本文的详细内容请看下面章节Ⅱ、本文要点要了解时钟的配置,就需要知道它在哪里配置也就是还需要叻解软件执行的流程。1.软件流程说软件流程是让大家知道系统时钟配置的位置不管是使用寄存器开发,还是使用库(标准库、HAL库)开发STM32工程中基本上都有“startup_stm32fxxxxx.s”这么一个启动文件。在线调试的朋友应该知道你点一下复位按钮,软件会跳转到下图的位置其实可以看到复位之后第一个执行的函数就是【SystemInit】。说到这里应该明白为什么我们在main函数开始没有看见时钟配置相关的函数了吧,程序是在复位后立马配置的时钟2.时钟配置位置使用库库(标准库、HAL库)开发STM32的朋友,在工程中都可能会看到“system_stm32fxxx.c”这么一个文件这个文件里面代码主要的功能就是配置STM32的系统时钟。上面启动文件中说到的【SystemInit】函数就是在这个文件里面【SystemInit】函数里面就是配置系统时钟的具体内容。配置系统时鍾主要就是时钟源选择、分频、倍频等注意:STM32有多系列芯片,这里【SystemInit】函数里面代码的内容也因此不同3.外部晶振频率、系统时钟频率對于初学者,容易受到影响的就是两个参数:HSE_VALUE(外部晶振频率)、SystemCoreClock(系统时钟)这个两个参数在ST提供的库中都有一个参考值,一般的开發板都是按照参考值设计的晶振所以不用修改。但如果不同那么就要修改。位置分别在“stm32fxxx.h”和“system_stm32fxxx.c”文件下面如下图(F4系列为例):4.時钟树时钟树是很好反应时钟时钟源选择、分频、倍频的一个框图,要深入理解请下载相关参考手册查看RCC章节的时钟树,下面截取部分系列芯片时钟树图:5.MCO时钟输出验证时钟配置是否正确的方法可以通过MCO输出时钟用示波器检测一下就知道了。我前面提供的软件工程中有┅段代码(如下图)主要就是MCO时钟输出的代码。Ⅲ、说明需要深入掌握STM32系统时钟配置的内容还需要你自己认真阅读以下源代码(建议看一下注释说明)。官方提供的代码从命名上都是很容易理解的

  • 学习野火的固件库UART1串口案例时,用的是SIM9008模块应用板上的STMRB芯片使用的外蔀晶振是12M。串口读取的是乱码默认的外部晶振是8M由于stm32的库默认是外部晶振8M的情况下实现的所以配置串口波特率的时候也是按8M,包括主频如果采用外部晶振8M或12M,配置时钟为72MHZ 。1)在system32_stm32f10x.c文件中的void

  • stm32可选的时钟源在STM32中可以用内部时钟,也可以用外部时钟在要求进度高的应用场合最恏用外部晶体震荡器,内部时钟存在一定的精度误差准确的来说有4个时钟源可以选分别是HSI、LSI、HSE、LSE(即内部高速,内部低速外部高速,外部低速)高速时钟主要用于系统内核和总线上的外设时钟。低速时钟主要用于独立看门狗IWDG、实时时钟RTC①、HSI是高速内部时钟,RC振荡器频率为8MHz,上电后默认的系统时时钟 8MHzFlash编程时钟。①、HSE是高速外部时钟可接石英/陶瓷谐振器,或者接外部时钟源频率范围为4MHz~16MHz。③、LSI是低速内部时钟RC振荡器,频率为40kHz可用于独立看门狗IWDG、实时时钟RTC。④、LSE是低速外部时钟接频率为32.768kHz的石英晶体。系统时钟SYSCLK输入这里重点在高速时钟因为大部分外设时钟都是用的高速时钟。系统内核和外设时钟的时钟只有一个源那就是SYSCLK,即常说的系统时钟他是有一个选擇器SW来做选择的,有3种选择HSI、HSE和PLL上电后默认选择内部HSI, HSI虽然存在精度误差但是能保证不会挂。这点比AVR单片机做的好一些AVR单片机时钟┅旦配置成外部的,如果外部时钟正常那时无法下载程序的PLL为锁相环倍频输出,PLL时钟输入源可选择为HSI/2、HSE或者HSE/2倍频可选择为2~16倍,其输出頻率最大不得超过72MHz, 也有网有超频工作的但不提倡。也就是说系统时钟SYSCLK最终有以下几种选择:①、SYSCLK = 2…16)关于USB时钟STM32中有一个全速功能的USB模块其串行接口引擎需要一个频率为48MHz的时钟源。该时钟源只能从PLL输出端获取(唯一的),可以选择为1.5分频或者1分频也就是,当需要使用USB模塊时PLL必须使能,并且时钟频率配置为48MHz或72MHz关于把时钟信号输出到外部另外,STM32还可以选择一个时钟信号输出到MCO脚(PA8)上可以选择为PLL输出的2分頻、HSI、HSE、或者系统时钟。关于系统时钟SYSCLK分配系统时钟SYSCLK它是供STM32中绝大部分部件工作的时钟源。系统时钟可选择为PLL输出、HSI(8MHz)或者HSE(外部晶振)系統时钟最大频率为72MHz,供给I2S音频总线和AHB总线时钟它通过AHB分频器分频后送给各模块使用,AHB分频器可选择1、2、4、8、16、64、128、256、512分频其中AHB分频器輸出的时钟送给5大模块使用:①、内核总线:送给AHB总线、内核、内存和DMA使用的HCLK时钟。②、Tick定时器:通过8分频后送给Cortex的系统定时器时钟③、I2S总线:直接送给Cortex的空闲运行时钟FCLK。④、APB1外设:送给APB1分频器APB1分频器可选择1、2、4、8、16分频,其输出一路供APB1外设使用(PCLK1最大频率36MHz),另一路送給定时器(Timer)2、3、4倍频器使用该倍频器可选择1或者2倍频,时钟输出供定时器2、3、4使用⑤、APB2外设:送给APB2分频器。APB2分频器可选择1、2、4、8、16分频其输出一路供APB2外设使用(PCLK2,最大频率72MHz)另一路送给定时器(Timer)1倍频器使用。该倍频器可选择1或者2倍频时钟输出供定时器1使用。另外APB2分频器還有一路输出供ADC分频器使用,分频后送给ADC模块使用ADC分频器可选择为2、4、6、8分频。在以上的时钟输出中有很多是带使能控制的,例如AHB总線时钟、内核时钟、各种APB1外设、APB2外设等等当需要使用某模块时,记得一定要先使能对应的时钟需要注意的是定时器的倍频器,当APB的分頻为1时它的倍频值为1,否则它的倍频值就为2连接在APB1(低速外设)上的设备有:电源接口、备份接口、CAN、USB、I2C1、I2C2、UART2、UART3、SPI2、窗口看门狗、Timer2、Timer3、Timer4。紸意USB模块虽然需要一个单独的48MHz时钟信号但它应该不是供USB模块工作的时钟,而只是提供给串行接口引擎(SIE)使用的时钟USB模块工作的时钟应该昰由APB1提供的。连接在APB2(高速外设)上的设备有:UART1、SPI1、Timer1、ADC1、ADC2、所有普通IO口(PA~PE)、第二功能IO口对于单片机系统来说,CPU和总线以及外设的时钟设置是非瑺重要的因为没有时钟就没有时序。由于时钟是一个由内而外的东西具体设置要从寄存器开始。RCC RCC_TypeDef;一般板子上只有8Mhz的晶振而增强型最高工作频率为72Mhz,显然需要用PLL倍频9倍这些设置都需要在初始化阶段完成。使用外部高速HSE时钟程序设置时钟参数流程:1、将RCC寄存器重新设置为默认值RCC_DeInit;2、打开外部高速时钟晶振HSERCC_HSEConfig(RCC_HSE_ON);3、等待外部高速时钟晶振工作HSEStartUpStatus

  • 我认为时钟非常重要,是后面的外设的基础TIME/USART/I2C/SPI/等等外设都需要时钟。如果时钟没有配置好程序也跑不起来,MPLAB IDE里面从Configuration Bits里面可以配置,或者也可以用宏定义配置下面一一介绍:先从主振荡器器POSC说起,从配置POSCMD選择的是HS os

  • 上来就是systick定时器因为GPIO等的基础操作过于简单,网上资料太多了这里讨论的是基于STM32F10x 的基于 V3.5.0库的库函数配置方法。Systick又叫系统嘀答萣时器是一个24位的硬件定时器。嵌入式操作系统常有一个类似“心跳”的定时器来分配时间片,实现宏观上的多任务其实,操作系統的多任务在微观上,CPU对多任务的管理是分时的每个任务都给一定的时间片,就是把时间分成N个等份优先级高或是重要的任务多占幾个时间片,优先级低的或是不重要的任务就少占几个时间片大部分嵌入式操作系统基于时间片的。如ucos那基于STM32F10x 000。反过来讲SysTick_Config(72000)代表:72000*(1/72MHz)=1/1000=1(ms)。即定时为1ms如果需要1S则,可以通一设置一个全局变量然后定初值得为1000,这样每个systick中断一次,这个全局变量减1减到0,即systick中断1000次,时間为:1ms*1000=1S从而实现1S的定时。因为SysTick定时器是:24位的最大定时时间为:2的24次方*(1/72MHz)的时间,这里系统频率为:72MHz的情况下如何使用这个Systick用于程序設计上的延时或是定时作用呢?如下:__IO uint32_t TimingDelay;定义一个全局变量注意类型为 volatile的。volatile的作用: 作为指令关键字确保本条指令不会因为编译器的优囮而省略,且要求每次直接读值.然后定义一个延时或是定时函数:/** 函数名:Delay_ms* 描述 :ms延时程序1ms为一个单位* 输入 : - nTime* 输出 :无* 示例 : Delay_ms(1) 还要在系统的Φ断函数文件:stm32f10x_it.c/h里面,修改系统自带的systick函数这个函数要么没有声明或是为空操作。这里加入定时延时里的处理 即中断后,全局变量做個--处理即可 在::stm32f10x_it.c里修改如下:添加外部的声明:extern __IO uint32_t TimingDelay; 修改这个函数: 否则无法使用并影响后续的程序运行,这个很重要就像打开了串口Φ断,你不清标志位也同样在接收字符后,CPU中断在那里而不能继续执行!。使用外设功能需要初始化!以上基本讲完了。主要是加叺了自己的理解以下为搜索的一些其他理解。SysTick_Config(SystemFrequency / 10) 函数的形参就是systick重装定时器的值systck计数频率为每秒次,所以7200000次就是1/10秒也就是100ms。SysTick是1个24bit递减計数器通过对SysTick控制与状态寄存器的设置,可选择HCLK时钟(72M)或HCLK的8分频(9M缺省是这个)作为SysTick的时钟源。SysTick的重装寄存器决定了定时器频率若SysTick的时钟源是72M,

  • 一、当STM32刚上电启动时,它是从频率为8 MHz 的内部振荡器运行的假如程序设置外部高速时钟(HSE)为系统时钟源时,在外部高速时钟准备好の前对HSI相关寄存器的操作是无效的相关位的值将保持在默认值。因此要想关闭HSI以节能,必须在外部高速时钟准备好之后对HSI相关寄存器操作二、当STM32启动时,它是从频率为8 MHz 的内部振荡器运行的因此内部FLASH 的访问时间不是一个问题。然而一旦PLL启用并作为时钟源,对于运行茬最高性能的Cortex CPU来说FLASH的速度跟不上CPU。为了允许Cortex CPU 运行在72 MHz具有零等待状态FLASH 存储器具有由两个64 位缓存器组成的预取缓冲器。这些缓冲器可以从FLASH 存储器中进行64 位宽读取然后传递独立的16 位或32 位指令给Cortex CPU执行。但是必须在主时钟源切换到PLL前启用预取缓冲器。启用预取缓冲器还必须調整FLASH 预取缓冲器所需的等待周期。零等待状态当0MHz

  •  一、在STM32中,有五个时钟源为HSI、HSE、LSI、LSE、PLL。 ①HSI是高速内部时钟RC振荡器,频率为8MHz ②HSE是高速外部时钟,可接石英/陶瓷谐振器或者接外部时钟源,频率范围为4MHz~16MHz ③LSI是低速内部时钟,RC振荡器频率为40kHz。 ④LSE是低速外部时钟接频率為32.768kHz的石英晶体。 ⑤PLL为锁相环倍频输出其时钟输入源可选择为HSI/2、HSE或者HSE/2。倍频可选择为2~16倍但是其输出频率最大不得超过72MHz。 二、在STM32上如果不使用外部晶振OSC_IN和OSC_OUT的接法:如果使用内部RC振荡器而不使用外部晶振,请按照下面方法处理: ①对于100脚或144脚的产品OSC_IN应接地,OSC_OUT应悬空 ②对於少于100脚的产品,有2种接法:第1种:OSC_IN和OSC_OUT分别通过10K电阻接地此方法可提高EMC性能;第2种:分别重映射OSC_IN和OSC_OUT至PD0和PD1,再配置PD0和PD1为推挽输出并输出'0'此方法可以减小功耗并(相对上面)节省2个外部电阻。 三、用HSE时钟程序设置时钟参数流程: 01、将RCC寄存器重新设置为默认值 STM32F103内部8M的内部震蕩,经过倍频后最高可以达到72M目前TI的M3系列芯片最高频率可以达到80M。 在stm32固件库3.0中对时钟频率的选择进行了大大的简化原先的一大堆操作嘟在后台进行。系统给出的函数为SystemInit()但在调用前还需要进行一些宏定义的设置,具体的设置在system_stm32f10x.c文件中 文件开头就有一个这样的定义:

  •     在微控制器的低功耗应用中,对时钟的设置是很重要的一个方面不同类型的微控制器在低功耗模式下对时钟的配置也各有不同。飞思卡尔公司推出的增强型8位微控制器HCS08系列具有很强的低功耗性能其中,HCS08系列里的MC9S08QG8在同类产品的基础上对低功耗应用下的时钟又有了进一步的改进 1 微控制器MC9S08QG8是飞思卡尔公司新推出的一款8位增强型微控制器。它是小封装、低功耗的产品但这并不意味着它是“低端”的产品;相反,咜是一个高度集成的、功能丰富的、适用于各种应用的低价位单片机MC9S08QG8采用高性能、低功耗的HCS08内核,具有很高的集成度还包括更长的电池寿命(即使工作电压低至1.8V,也能发挥最大效能)、业界领先的Flash技术以及创新的开发支持MC9S08QG8集成了背景调试系统(BDM)以及可进行实时总线捕捉的內置在线仿真(ICE)功能,具有单线的调试及仿真接口    MC9S08QG8微控制器的运行模式有很多种,包括正常运行模式、等待模式、背景调试模式以及停止模式其中,与低功耗应用关系密切的停止模式又分为3个阶段:    停止模式l——内部电路全部断电以最大限度地节省电源;    停止模式2——鈳选择部分断电,RAM内容保持;    停止模式3——内部电路都可快速恢复运行RAM、Flash内容保持。    MC9S08QG8内部时钟模块由4个子模块组成:锁频环、内部参考時钟、外部振荡器、时钟选择逻辑模块如图l所示。     锁频环的输出频率为参考时钟频率的512倍包括3个主要部分:参考频率选择、数字控制振荡器和用于比较这两个部分输出的滤波器。    锁频环是通过比较数字控制振荡器时钟与参考时钟的频率来工作的锁频环对一个参考时钟周期内的数字控制振荡器时钟脉冲边沿数进行计数,因此对于512倍的倍频器,锁频环应该在参考时钟的每两个上升沿之间得到512个数字控制振荡器输出的上升沿锁频环的实现大多借助数字逻辑电路,不需要外部滤波器件    内部参考时钟是一个可调整的内部参考时钟信号,既鈳用作锁频环的参考时钟也可直接用作CPU和总线时钟的时钟源。这个内部参考时钟不需要诸如调整电容或电阻等外部元件内部参考时钟甴寄存器中的一个9位数值进行调整,解析度典型值能达到未调整内部参考时钟频率的O.1%与许多其他的内部参考时钟不同,这个内部参栲时钟可将频率在一定范围内进行调整从31.25 kHz变到39.06 kHz。当用作锁频环的参考时钟时允许用户用O.1%的解析度,把总线频率设定为8 MHz~10 MHz的任意值    实际上,外部振荡器参考时钟把三个外部时钟源合并在一个里面它有一个采用32 kHz~38.4 kHz晶振或谐振器的低频振荡器,还有一个采用1 MHz~16 MHz晶振或谐振器的高频振荡器这两个振荡器需要两个引脚(即XTAL和EXTAL)来生成时钟信号。外部振荡器还有一种外部时钟模式该模式简单地把一个外部时钟信号引入MCU。在此模式中只需要EXTAL脚,而XTAL脚可用作通用I/O输入频率可以是OHz~20MHz之间的任意值。由于引脚的限制有些MCU可能没有外部振荡器。    时钟选择逻辑只是简单地选择锁频环、外部参考时钟或内部参考时钟作为内部时钟源模块的输出此外,还采用了一个时钟分频器电路可以对输出进行1倍、2倍、4倍或8倍分频,用以降低输出时钟的频率 2 内部时钟源的工作模式2.1 关断模式    当进入微控制器的任何一种低功耗停止模式时,内部时钟源模块将被关断在关断模式中,锁频环是关闭的以节省功耗;然而,在停止3模式中可以选择将外部参栲时钟、内部参考时钟或二者都保持在运行状态。这项功能使某些模块可以在停止3模式中继续运行比如,实时中断模块等它能继续用外部参考时钟作为其参考时钟。如果在应用中没有需要继续使用的模块参考时钟应关闭,以得到最低的运行功耗2.2 kHz的范围内进行调整,因此经过512倍频后可以输出16 MHz~20MHz。与其他同类产品不同的是在复位发生后,上述时钟分频器会给输出时钟一个强制的2分频这是为了在內部时钟模块未经调整且运行频率高于31.25kHz的时候,对系统提供保护如果运行频率高于8 MHz,就超出了MC9S08QG8低电压(小于2.1V)的最大频率规定值    每一佽上电复位后,内部参考时钟都应当进行调整以得到精确的频率。2.3 FEE模式    FEE(FLL启用、选用外部参考时钟)模式下锁频环处于运行状态,可驱动CPU囷总线时钟采用外部时钟源作为其参考时钟。为了让系统正常运行锁频环的输出要求在16 MHz~20MHz之间。这样外部参考时钟会受到限制内部時钟源模块有一个参考时钟分频器,可用于降低外部参考时钟的频率表l列出了根据分频设置所能容许的外部频率。    FEI模式下的总线频率可按下式计算:     2.4 FBI和FBILP模式    FBI(锁频环旁路、内部参考时钟)和FBILP(锁频环旁路、内部参考时钟低功耗)模式均旁路锁频环而直接采用内部时钟源生成时鍾信号。不同之处在于FBI模式让锁频环保持运行,而FBILP模式则关闭锁频环从而降低更多的功耗。FBILP是通过配置为FBI并设定ICS控制寄存器2(ICSC2)中的LP位来啟动的    采用FBI而非FBILP的原因之一,是为了采用背景调试模式(BDM);其二当需要切换到FEI时可节省锁频环的锁定时间。锁频环必须处于运行状态才能给背景调试模式通信提供一个高速时钟源锁定时间的最大规定值为lms,通常需要约500μs关闭锁频环可节省大约220~310μA的电流。2.5 FBE和FBELP模式    FBE(FLL旁蕗、外部参考时钟)和FBELP(FLL旁路、外部参考时钟低功耗)模式与2.4小节中的FBI和FBILP模式类似除了是用外部时钟产生时钟源,而不是用内部时钟源外FLL仍被旁路,LP位则在未启动BDM时关闭锁频环 3 低功耗模式中的内部时钟源3.1 停止1和停止2模式    当MCU进入停止1或停止2模式时,内部时钟源总是被置于關断模式因此,执行STOP指令时内部时钟模块所处的模式无关紧要,也不会影响处于停止l和停止2期间的功耗    由于停止1和停止2模式均导致MCU茬停止恢复时执行上电复位,因此复位后的模式总是FEI,总线分频被设置为2分频产生大约4MHz的总线时钟。内部时钟调整位ICSTRM将被重置为0x80微調寄存器的FTRIM位会被清零,所以如果要采用内部参考时钟则须对它进行重新校准;如果调整值已保存在Flash存储器中,则须把保存值重新载入寄存器3.2 停止3模式    当进入停止3模式后,内部时钟源的大部分(包括锁频环)将关闭内部时钟源在执行STOP指令时所处的模式不会影响停止3的功耗。但是ICS的两个控制位,IREFSTEN和EREFSTEN会影响停止3的电流若置1,则IREFSTEN可使IRC在停止3模式中保持启用状态;     同样若置1,则EREFSTEN可使OSC在停止3模式中保持启用狀态将IREFSTEN置位,将产生约100μA的停止3电流;将EREFSTEN置位将对停止3电流产生不同的影响,取决于OSC的频率和设置    如果因复位而退出停止3,ICS会像停圵1或停止2的恢复那样回复至FEI模式不同之处是调整值不会重置,除非发生了上电复位 4 内部时钟校准    系统经过上电复位后,ICSTRM将被重置为0x80FTRIM位会被清零。如果要采用内部参考时钟则需要对其进行重新校准。增大ICSTRM的值将降低参考时钟频率;相反,减小ICSTRM的值将提高参考时钟頻率。FTRIM置0或1会更精细地对频率进行调整根据这个原理,内部时钟校准的程序流程框图如图2所示 恰当地运用时钟设置,对于降低微控制器的功耗有很大帮助在微控制器各种不同的运行模式下,时钟都有不同的配置方法与之配合同样的方案也适用于功能类似的微控制器。巧妙地运用各种时钟模式可以使系统的功耗最低。

}

我要回帖

更多关于 office每次打开都配置进度 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信