历史上的今天
返回首页

历史上的今天

今天是:2024年10月06日(星期日)

2018年10月06日 | stm32f103系列与stm32f407系列的区别

2018-10-06 来源:eefocus

1、首先是启动文件上存在区别,107的启动文件当中在进入主函数之前并没有时钟的初始化,但是407在main之前就有SystemInit()

103如下:

Reset_Handler    PROC

                 EXPORT  Reset_Handler             [WEAK]

     IMPORT  __main

                 LDR     R0, =__main

                 BX      R0

                 ENDP

407如下:

Reset_Handler    PROC

                 EXPORT  Reset_Handler             [WEAK]

        IMPORT  SystemInit

        IMPORT  __main

                 LDR     R0, =SystemInit

                 BLX     R0

                 LDR     R0, =__main

                 BX      R0

                 ENDP

因而,我们在写103程序的时候要注意在main函数之前写SystemInit()函数,这样才能保证时钟正常,但是407就少了这一步了


http://wenku.baidu.com/link?url=r5v2IIFS4VaX1Mhc2UpMYslk_6zlp-_AyymjC10Uk_dKwfYjgR8Dr2gEI7Hnz1dMqB3v_3c0cCLRees5vTwbsIvSxNR_Y79wOeaG9CRxSHq


关于SystemInit()与滴答定时器在stm32f103中的使用说明如下:


void SysTick_Configuration(void)
{
 
  if (SysTick_Config(SystemCoreClock / 100))                //SysTick配置函数
  { 
     
    while (1);
  }  
 
  NVIC_SetPriority(SysTick_IRQn, 0x0);                       //SysTick中断优先级设置
}
关键在于SysTick_Config(SystemCoreClock / 100)的理解

该函数的作用是打开计数器,设置计数周期,并使能中断。他所传入的参数,即计数周期。

周期计算方法是:默认情况下处理器在初始化时会调用SystemInit(),把系统频率设为72Mhz,即SystemCoreClock=72000000;

          可以简单理解为系统一秒数72000000次,那么如果我需要10ms的定时周期,只需要让重载数为720000,就可达到要求

NVIC_SetPriority(SysTick_IRQn, 0x0); 设置优先级为最高,应根据自己的需要进行调整

 

最后就是进入中断处理函数了

void SysTick_Handler(void)
{
   
}


推荐阅读

史海拾趣

EMC Technology RF Labs公司的发展小趣事

随着产品质量的不断提升和技术的不断创新,RF Labs开始积极拓展市场。他们不仅在国内市场上取得了良好的销售业绩,还成功进入了国际市场。RF Labs与多家国际知名电子企业建立了合作关系,共同研发新产品、开拓新市场。这些合作不仅为RF Labs带来了更多的商业机会,也进一步提升了公司的国际影响力。

Denyo Europa Gmbh公司的发展小趣事

随着技术的成熟,Denyo Europa Gmbh公司开始将目光投向国际市场。公司利用自身的技术优势,结合对目标市场的深入调研,制定了一系列市场拓展策略。通过与当地合作伙伴的紧密合作,公司成功将产品打入多个国家和地区,实现了业务的全球化布局。这一过程中,公司不仅积累了宝贵的国际市场经验,也为公司的持续发展奠定了坚实基础。

Crydom公司的发展小趣事

Denyo Europa Gmbh公司在电子行业中崭露头角,始于一次技术创新的突破。公司研发团队经过数年的努力,成功开发出一种新型高效能电池技术,这种电池不仅容量大,而且充电速度快,安全性能高。这一技术的推出,迅速赢得了市场的认可,也为公司带来了可观的收益。公司因此逐渐在电子行业中建立了自己的技术领先地位。

Hoffman_Enclosures__Inc.公司的发展小趣事

1945年,一位名叫Harry Hoffman的年轻人凭借对工厂安全的深刻关注,发明了压力机安全保护装置。这一装置能够在操作人员的手处于危险区域时迅速停止机器,有效保护了工人的安全。这一创新不仅为Hoffman公司奠定了技术基础,也标志着公司正式步入工业电气机柜和温控产品的研发与制造领域。Harry Hoffman的这项发明不仅解决了当时工厂安全的一大难题,也为公司后续的发展奠定了坚实的基础。

ACEINNA公司的发展小趣事

面对客户日益多样化的需求,Hoffman提供了超过12,000种标准产品以及量身定制的解决方案。公司拥有一支专业的研发团队和完善的生产体系,能够根据客户的具体需求,快速设计出符合要求的电气机柜和温控产品。这种灵活的定制化服务不仅满足了客户的个性化需求,也进一步增强了客户对公司的信任和忠诚度。

Dantona Industries公司的发展小趣事

作为一家有社会责任感的企业,Dantona Industries始终关注环境保护和社会公益。他们积极推广绿色生产理念,采用环保材料和生产工艺,减少对环境的影响。同时,公司还积极参与社会公益活动,为贫困地区的教育、医疗等事业提供援助。这些举措不仅展现了公司的社会担当精神,也为公司赢得了良好的社会声誉和品牌形象。

问答坊 | AI 解惑

水下通信器

为解决游泳池中通信基本靠吼的状况而生,这种外观很太空的通信工具漂浮在游泳池上,呼叫亲朋好友和泡妞必备啊…

查看全部问答>

wifi搜索路由器的过程

wifi搜索路由器的过程是怎样的…

查看全部问答>

wince 4.2和5.0区别

给位好,我想问大家一个问题就是wince4.2和5.0差别大吗?? 我现在想把一个5.0下的dll网卡驱动放到4.2的环境下面使用,不知道这样能否行得通??? 各位高手大侠请不吝赐教啊!!! 谢谢先…

查看全部问答>

8279等芯片的供电电压是多少?

还有74ls373,244,08,32,14,80c51等芯片。…

查看全部问答>

STM32的RCC配置

RCC 寄存器结构,RCC_TypeDeff,在文件“stm32f10x_map.h”中定义如下: typedef struct { vu32 CR; vu32 CFGR; vu32 CIR; vu32 APB2RSTR; vu32 APB1RSTR; vu32 AHBENR; vu32 APB2ENR; vu32 APB1ENR; vu32 BDCR; vu32 CSR; } RCC_TypeDef; 这些寄存 ...…

查看全部问答>

角度测量:电解质型倾角传感器优势谈

角度测量:电解质型倾角传感器优势谈      长期以来,电解质型倾角传感器稳定工作的应用范围从高性能航空电子系统延伸到高精度地震监测仪器以及消费电子领域。近年来,微电子机械系统(MEMs)加速计和倾角传感器的应用越来越普 ...…

查看全部问答>

请问:怎么定义一个在代码中的数组?

以前C51中这样定义的:uint code Parameter[5]={    1660, 1040,  300,  100,   50}现在在IAR中定义不行啊。…

查看全部问答>

MPLAB IDE V7.22编译PIC18FXX

我用MPLAB  IDE V7.22编译器,可以编译PIC16FXX,在编译PIC18FXX时总提示“建立失败”,不知是哪里设置错了,哪位大侠能指点一下呢?谢了!…

查看全部问答>

有没有人了解4:2 compressor?

看到论文上说用4:2 compressor代替加法树可以节省面积,自己也试着实现过,但是资源没怎么节省,可能要用优化的4:2 compressor。…

查看全部问答>

【TI首届低功耗设计大赛】开始设计了。。。

MSP430FR5969是一款功耗极低的单片机,拿到评估板不难发现其有一个1mF的大电容,能使其断开电源后可以依靠电容供电工作一会。 1.接下来刷了一下OutOfBox开箱程序,这个代码包含:GPIO,ADC,中断,低功耗模式,UART通信,板载超级电容电压检测,FRA ...…

查看全部问答>