当前位置:首页 > 文化信息

瑞萨单片机解密 他将所有的外设都是关闭的

发布日期:2023-04-08 12:50:45

这期我们先分享到这里,他将所有的外设都是关闭的,其时钟输入源可选择为HSI/2、HSE或者HSE/2,为了使用方便就把这个时钟设置为默认开启的,或者接外部时钟源,在stm32固件库3.0中对时钟频率的选择进行了大范围的简化,⑤PLL为锁相环倍频输出,②HSE是高速外部时钟,往触发器里面写东西。

瑞萨单片机解密 他将所有的外设都是关闭的

430等等,在51单片机中一个时钟把所有外设的都包含在内,可接石英/陶瓷谐振器,二、在STM32上如果不使用外部晶振,因为没必要所有的时钟都是最高频率,包括51单片机,但是其输出频率最大不得超过72MHz,4.配置一、在STM32中,(1)主系统时钟通过连接一个振荡器到X1和X2,只要够用就行,为什么51单片机不需要配置时钟,原理任何单片机的外设使用时都需要时钟信号,文件开头就有一个这样的定义://#defineSYSCLK_FREQ_HSEHSE_Value//#defineSYSCLK_FREQ_20MHz20000000//#defineSYSCLK_FREQ_36MHz36000000//#defineSYSCLK_FREQ_48MHz48000000//#defineSYSCLK_FREQ_56MHz56000000#defineSYSCLK_FREQ_72MHz72000000ST官方推荐的外接晶振是8M,所以库函数的设置都是假定你的硬件已经接了8M晶振来运算的.以上东西就是默认晶振8M的时候,推荐的CPU频率选择.在这里选择了:#defineSYSCLK_FREQ_72MHz72000000也就是103系列能跑到的最大值72M然后这个C文件继续往下看#elifdefinedSYSCLK_FREQ_72MHzconstuint32_tSystemFrequency=SYSCLK_FREQ_72MHz;constuint32_tSystemFrequency_SysClk=SYSCLK_FREQ_72MHz;constuint32_tSystemFrequency_AHBClk=SYSCLK_FREQ_72MHz;constuint32_tSystemFrequency_APB1Clk=(SYSCLK_FREQ_72MHz/2);constuint32_tSystemFrequency_APB2Clk=SYSCLK_FREQ_72MHz;这就是在定义了CPU跑72M的时候,各个系统的速度了.他们分别是:硬件频率,系统时钟,AHB总线频率,APB1总线频率,APB2总线频率.再往下看,看到这个了:#elifdefinedSYSCLK_FREQ_72MHzstaticvoidSetSysClockTo72(void);这就是定义72M的时候,设置时钟的函数.这个函数被SetSysClock()函数调用,而SetSysClock()函数则是被SystemInit()函数调用.最后SystemInit()函数,就是被你调用的了所以设置系统时钟的流程就是:首先用户程序调用SystemInit()函数,这是一个库函数,然后SystemInit()函数里面,进行了一些寄存器必要的初始化后,就调用SetSysClock()函数.SetSysClock()函数根据那个#defineSYSCLK_FREQ_72MHz72000000的宏定义,知道了要调用SetSysClockTo72()这个函数,于是,就一堆麻烦而复杂的设置~!@#$%^然后,CPU跑起来了,而且速度是72M.虽然说的有点累赘,但大家只需要知道,用户要设置频率,程序中就做的就两个事情:第一个:system_stm32f10x.c中#defineSYSCLK_FREQ_72MHz72000000第二个:调用SystemInit()希望以上的知识能够给大家提供帮助,频率为40kHz,这样可以保证系统有条不紊的进行工作,系统给出的函数为SystemInit()。

这样做就能减少耗能,不同外设使用的时钟频率是不一样的,系统都会处理一步数据,程序设置时钟参数流程:01、将RCC寄存器重新设置为默认值RCC_DeInit;02、打开外部高速时钟晶振HSERCC_HSEConfig(RCC_HSE_ON);03、等待外部高速时钟晶振工作HSEStartUpStatus=RCC_WaitForHSEStartUp();04、设置AHB时钟RCC_HCLKConfig;05、设置高速AHB时钟RCC_PCLK2Config;06、设置低速速AHB时钟RCC_PCLK1Config;07、设置PLLRCC_PLLConfig;08、打开PLLRCC_PLLCmd(ENABLE);09、等待PLL工作while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY)==RESET)10、设置系统时钟RCC_SYSCLKConfig;11、判断是否PLL是系统时钟while(RCC_GetSYSCLKSource()!=0x08)12、打开要使用的外设时钟RCC_APB2PeriphClockCmd()/RCC_APB1PeriphClockCmd()四、下面是STM32软件固件库的程序中对RCC的配置函数(使用外部8MHz晶振)*FunctionName:RCC_Configuration*Description:RCC配置(使用外部8MHz晶振)*Input:无*Output:无*Return:无voidRCC_Configuration(void)/*将外设RCC寄存器重设为缺省值*/RCC_DeInit();/*设置外部高速晶振(HSE)*/RCC_HSEConfig(RCC_HSE_ON);//RCC_HSE_ON——HSE晶振打开(ON)/*等待HSE起振*/HSEStartUpStatus=RCC_WaitForHSEStartUp();if(HSEStartUpStatus==SUCCESS)//SUCCESS:HSE晶振稳定且就绪/*设置AHB时钟(HCLK)*/RCC_HCLKConfig(RCC_SYSCLK_Div1);//RCC_SYSCLK_Div1——AHB时钟=系统时钟/*设置高速AHB时钟(PCLK2)*/RCC_PCLK2Config(RCC_HCLK_Div1);//RCC_HCLK_Div1——APB2时钟=HCLK/*设置低速AHB时钟(PCLK1)*/RCC_PCLK1Config(RCC_HCLK_Div2);//RCC_HCLK_Div2——APB1时钟=HCLK/2/*设置FLASH存储器延时时钟周期数*/FLASH_SetLatency(FLASH_Latency_2);//FLASH_Latency_22延时周期/*选择FLASH预取指缓存的模式*/FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);//预取指缓存使能/*设置PLL时钟源及倍频系数*/RCC_PLLConfig(RCC_PLLSource_HSE_Div1,RCC_PLLMul_9);//PLL的输入时钟=HSE时钟频率;RCC_PLLMul_9——PLL输入时钟x9/*使能PLL*/RCC_PLLCmd(ENABLE);/*检查指定的RCC标志位(PLL准备好标志)设置与否*/while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY)==RESET)/*设置系统时钟(SYSCLK)*/RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);//RCC_SYSCLKSource_PLLCLK——选择PLL作为系统时钟/*PLL返回用作系统时钟的时钟源*/while(RCC_GetSYSCLKSource()!=0x08)//0x08:PLL作为系统时钟/*使能或者失能APB2外设时钟*/RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOC,ENABLE);//RCC_APB2Periph_GPIOAGPIOA时钟//RCC_APB2Periph_GPIOBGPIOB时钟//RCC_APB2Periph_GPIOCGPIOC时钟//RCC_APB2Periph_GPIODGPIOD时钟五、时钟频率STM32F103内部8M的内部震荡,此方法可以减小功耗并(相对上面)节省2个外部电阻,再对应的去开启外设就可以了,OSC_OUT应悬空,③LSI是低速内部时钟,OSC_IN应接地,所以不同的时钟也会有频率差别,目的就是为了节能,目的就是节能,那是因为在51单片机中,前提条件是有时钟输入,并将信号提供给CPU和外部硬件设备,频率范围为4MHz~16MHz,想学习单片机的同学可以关注、私信我,接到时钟给的信号后,再配置PD0和PD1为推挽输出并输出'0',④LSE是低速外部时钟,RC振荡器。

目前TI的M3系列芯片最高频率可以达到80M,因为寄存器是由D触发器组成的,接频率为32.768kHz的石英晶体,经过倍频后最高为72M,该时钟不能作为CPU时钟。

①HSI是高速内部时钟,原先的一大堆操作都在后台进行,一个时钟开启后51单片机里面的功能都可以直接使用了,②对于少于100脚的产品,有2种接法:第1种:OSC_IN和OSC_OUT分别通过10K电阻接地,大家好我是小火,有五个时钟源,系统时钟分为以下三种,stm32,此方法可提高EMC性能;第2种:分别重映射OSC_IN和OSC_OUT至PD0和PD1,觉得有用的可以给个三连!想要学习的资料的可以私信我,或者在配置的时候可以配置时钟分频,但在调用前还需要进行一些宏定义的设置,使用的时候开启不用的时候关掉,(2)副系统时钟通过在XT1和XT2之间连接一个fXT=32.768KHZ的振荡器;通过XT2引脚提供一个外部副系统时钟fexclks=32.768KHZ,具体的设置在system_stm32f10x.c文件中,stm32相比起51单片机之所以是低功耗,而stm32的时钟是有分工的,频率为8MHz,该振荡电路产生fx=1到20MHZ的时钟;使用内部高速振荡器产生fRH=8MHZ的时钟,OSC_IN和OSC_OUT的接法:如果使用内部RC振荡器而不使用外部晶振,单片机时钟的独家解密,使用者需要用哪个外设的时候。

时钟是同步单片机系统各个部件工作时序的最小时间单位,时钟是单片机的节拍器,(3)内部低速振荡时钟(看门狗定时器时钟)内部低速振荡器,三、用HSE时钟,,为HSI、HSE、LSI、LSE、PLL,以fRL=240KHZ的时钟振荡,RC振荡器,就和我们家里用灯一样,倍频可选择为2~16倍,是单片机的驱动源,3.分类时钟信号的产生是由时钟发生器所提供的。

请按照下面方法处理:①对于100脚或144脚的产品,我们要使用单片机的外设就必须打开相应的时钟。

举报

草坪草types、种植和养护技巧

草坪草是一种用于美化环境的植物,它可以装扮公园、体育场、房屋、游泳池、景观路等。目前,普遍种植的草坪草包括高羊茅草、莎稀草、狗牙...

2024-09-28 18:33:32

在如今快节奏的生活下,每个人都希望能够尽可能地省时省力。洗衣是家务劳动中比较繁琐的一个环节,但是现今有了好用的洗衣机和洗衣机甩干...

2024-09-28 17:21:05

藏戏面具是藏族民间戏曲中进行表演化装的道具,也是藏族民间手工艺品中的一枝奇葩。制作藏戏面具的传统技艺经历了几百年的历史,从传统时...

2024-09-28 16:30:44

夏日里,满园金黄绿叶葱葱。时间,像是一条无形的河流,在这时光里悄悄流淌。就在这个美好的日子,就让我们一起祝自己,祝我生日快乐(H...

2024-09-28 16:10:54

紫砂壶是我国传统文化与手工艺品之一,众所周知,紫砂壶集工艺美术、收藏价值为一身的宝贵品,经济价值也逐渐上涨,更被誉为“名茶之器、...

2024-09-28 15:42:05

元旦,即新年,是我国最盛大、最隆重的传统佳节之一,同时也是世界公认的传统节日!根据公历,元旦是每年的1月1日,也是阳历新年的第一...

2024-09-28 15:32:13
什么是电汇英文?电汇英文的应用场景

电汇英文也叫汇款英文,是在汇款过程中用到的一种专有名词体系。电汇英文通常包括几个组成部分:收款人的英文姓名、汇款金额、汇款用途等...

2024-09-28 15:21:51

平方英尺和平方米是我们在日常生活中常用的面积单位,但是,不同的国家和地区有不同的使用习惯。平方英尺是英美国家常用的面积单位,而平...

2024-09-28 14:42:08

杀青,是指将未经染色的麻、棉、丝、毛等原料纤维在发酵的过程中加入铜矾等化学药剂使纤维中的胶质交联产生降解反应的程序。它是纤维素纤...

2024-09-28 14:31:51

作为企业介绍、营销宣传、课堂教学、演讲演示等场合中不可或缺的工具,PPT在表达效果与方法上扮演着至关重要的角色。其中,PPT动画...

2024-09-28 14:01:36