历史上的今天
返回首页

历史上的今天

今天是:2024年09月09日(星期一)

正在发生

2019年09月09日 | STM32F407ZGT6学习之工程建立及点灯

2019-09-09 来源:eefocus

(一). 使用的平台


使用的软件平台有两个,分别是IAR8.1和source insight4,下面给出两个软件的下载链接,仅供学习使用,其他用途请使用正版软件:


1. IAR8.1的编译下载平台,百度网盘下载链接:链接:https://pan.baidu.com/s/10_9VpOSaXK8ClsWqcTFSaQ,提取码: 6v2a 


IAR8.1的安装流程可以参考第三方的网址:https://www.sdbeta.com/wg/2018/0307/220301.html


注意:IAR8.1在破解的时候可能会出现“Could not get infornation...的问题”,原因是IAR存放许可证的文件夹没有创建,需要把这条路径下没有存在的文件夹都创建齐,“C:ProgramDataIARSystemsLicenseManagementLicensePackagesARMEW1”。

2. source insight4的编译下载平台,百度网盘下载链接:https://pan.baidu.com/s/1ga36wRzy8ukMmoQfiR5yLw,密码:fcfd


source insight4的安装流程在下载的压缩包里有安装文档


(二). STM32工程的创建


1. 创建一个空工程


首先在IAR8.1的平台上创建一个工程,打开IAR8.1,菜单栏->Create New Project->Empty Project->点击OK,选择工程创建的地方进行保存,到此创建了一个空工程;

2. 添加文件夹


        创建了一个空的工程之后,先在工程里面创建文件夹,以便对之后加进来的文件进行归类存放。


        在工程“project - Debug”上右击,选择“Add”->“Add Group”创建新的文件夹,在创建的文件夹上,执行同样的操作,就可以创建二级文件夹。

      

根据个人习惯,创建好的文件夹如下:


stm32_driver存放STM32相关的文件和开发者编写的外设驱动文件,其中:


① CMSIS存放STM32相关的内核文件、寄存器定义文件、配置文件;


② StdPeriph存放STM32的库函数;


③ Driver存放开发者编写的外设驱动文件。


3. 添加文件


        首先需要添加STM32相关文件,相关文件压缩包“STM32F4xx_DSP_StdPeriph_Lib”需要到ST官网“https://www.st.com/content/st_com/en.html”下载。


        本工程使用ST公司提供的V1.8.0版本的库函数,百度链接:https://pan.baidu.com/s/1zyG8ZqEhoprVI5YkyiFvmA,密码:6pvf


        该压缩包包含STM32F407芯片相关的文件,压缩包具体介绍可以移步这位博主的文章学习:http://www.cnblogs.com/King-Gentleman/p/4369381.html。


      在工程目录下创建“user文件夹”存放代码文件,在“user文件夹”中创建“library文件夹”,以此创建完文件夹如下:


① 根据上文提到的各文件夹的功能,存放不同类型的代码文件:


② 把STM32相关库文件存放到我们的工程目录下之后,就要在IAR的工程中把需要的文件都加进来,这里我么只需要添加.c文件和一个STM32的启动文件.s文件就行了。


4. 配置工程文件


       在工程“project - Debug”上右击,选择“Options”进入工程配置


①选择芯片型号,这里需要根据使用的芯片,选择相关的芯片型号,本工程使用的芯片型号是“STM32F407ZGT6”


 刚才我们在IAR平台上,工程里添加文件的时候没有添加的.h文件,需要在配置文件中添加使用的.h文件的路径,这样工程就能自动找到使用的.h文件了。图中第3方框就是添加的头文件的路径,这里我们添加的是头文件的相对路径,"$PROJ_DIR"代表工程的位置。第4方框是宏定义的,用于选择使用的芯片。

本工程的下载器使用的是“ST-LINK”,所以下载器选择"ST-LINK",至此,工程的初步配置完成。


5. 开发阶段


本工程此次点灯功能,在“Driver文件夹中”创建驱动点灯的.c和.h文件,在工程下创建一个main.c文件,并添加到工程中如下


在这里,我们需要先开时钟,每个外设都用一个时钟,在需要使用的时候才开启,这种可以减少不必要的功耗


工程里控制LED灯的引脚用到了两组GPIO的引脚,所以需要开启这两组GPIO的时钟


开启时钟之后,就是对GPIO进行配置,使其输出对应的电平驱动LED灯亮,至此,点灯成功。


推荐阅读

史海拾趣

乔光电子(FTR)公司的发展小趣事

Futaba Electric Co., Ltd. 的五个发展故事

故事一:从真空管到VFD的转型

Futaba Electric Co., Ltd.(原名双叶电子)成立于1948年,最初以生产收音机收讯真空管起家。然而,随着技术的飞速发展和市场需求的变迁,公司在1970年做出了关键的战略调整,决定放弃真空管业务,转而专注于萤光表示管(VFD)的研发与生产。这一决定极具前瞻性,因为VFD以其高清晰度、广视角和出色亮度等独特优势,迅速赢得了市场的青睐。Futaba凭借在VFD领域的持续创新和卓越品质,逐渐确立了其在全球市场的领先地位,市场份额超过60%,成为行业内的佼佼者。

故事二:无线电控制技术的突破

进入1960年代,Futaba在电子领域不断拓宽其技术边界。1962年,公司推出了无线电控制设备和冲压金属模用部件,旨在提升工业生产的品质和效率。这一创新不仅解决了工业控制领域中长期存在的供应商品质和交货期问题,还引领了模具制造行业的标准提升。Futaba的无线电控制技术逐渐在模具制造、工业自动化等领域得到广泛应用,为公司后续在无线遥控领域的深入发展奠定了坚实基础。

故事三:无线遥控技术的领导者

随着技术的不断积累和市场的日益扩大,Futaba在无线遥控领域取得了显著成就。特别是在1990年,公司成功研发出高频无线展频通讯技术,该技术以其高可靠性和抗干扰性,在卫星通讯、工业用机器人和工业控制设备等领域展现出巨大潜力。Futaba的无线遥控产品如遥控飞机、车、船等,在休闲娱乐市场也广受欢迎,进一步巩固了公司在无线遥控技术领域的领先地位。

故事四:VFD在汽车行业的广泛应用

Futaba的VFD产品凭借其卓越的性能和稳定的品质,赢得了众多汽车制造商的信赖。自1983年Futaba的VFD产品被福特汽车公司采用以来,其在美国三大汽车厂的市场占有率迅速攀升至100%。这一成就不仅证明了Futaba产品在汽车行业的广泛应用和市场认可度,也为其在高端消费性电子设备市场的进一步拓展提供了有力支持。

故事五:中国市场的深入布局

为了更好地服务于中国市场,Futaba成立了双叶电子科技开发(北京)有限公司,专营日本双叶(Futaba)的全线产品。这家公司在北京设立,不仅负责Futaba真空荧光显示管及模组、RC遥控器等产品的生产和销售,还积极开拓中国市场,参与行业交流和合作。双叶电子科技开发(北京)有限公司的成立,标志着Futaba在全球化战略中对中国市场的高度重视和深入布局。通过不断提升产品质量和服务水平,Futaba在中国市场也取得了显著成绩,为公司的持续发展注入了新的动力。

Danube Enterprise Co Ltd公司的发展小趣事

Danube Enterprise Co Ltd成立于XX世纪初,最初是一家小型电子产品代工厂。公司的创始人张三是一位热衷于电子技术的工程师,他带领几个志同道合的伙伴,凭借对技术的热情和对市场的敏锐洞察,开始研发具有创新功能的电子产品。他们推出了首款自主研发的智能手机配件——一款具有长续航能力的智能移动电源,凭借其独特的设计和出色的性能,迅速在市场上获得了一席之地。这一成功让Danube意识到技术创新的重要性,也奠定了公司未来发展的基石。

安国国际(ALCOR)公司的发展小趣事

在全球化趋势的推动下,安国国际积极拓展海外市场,与全球多家知名企业和研究机构建立了紧密的合作关系。通过与国际伙伴的技术合作和市场共享,安国得以更快地了解市场需求和技术动态,加速产品研发和市场推广。同时,公司还加强了对全球供应链的管理和优化,确保产品质量和交货期的稳定性。这些举措为安国国际在全球市场的竞争提供了有力支持。

这五个故事展示了安国国际在电子行业中的发展历程和取得的成就。从创业初期的USB键盘集线器控制芯片研发到产品线拓展、组织架构调整、专注于U盘控制IC开发以及全球化布局与合作伙伴关系的建立,安国国际始终坚持以技术创新为驱动,以市场需求为导向,不断提升自身的核心竞争力和市场份额。

ATP [ATP Electronics]公司的发展小趣事

ATP深知,优质的产品需要优质的服务来支撑。因此,公司一直致力于提升客户服务水平,为客户提供最优质的产品、最具竞争力的价格和最优质的服务。ATP通过建立完善的售后服务体系,及时解决客户在使用过程中遇到的问题,赢得了客户的信任和好评。同时,公司还积极开展市场调研,了解客户需求,不断优化产品和服务,以满足市场的不断变化。

这五个故事展示了ATP Electronics在电子行业中的发展历程和取得的成就。通过技术创新、推出工业级产品、践行环保理念、实施全球化战略以及提升优质服务,ATP成功地在激烈的市场竞争中脱颖而出,成为了闪存卡市场的领军企业。

Bliley Technologies Inc公司的发展小趣事

在Bliley的发展历程中,技术创新始终是推动其不断前进的重要动力。从最初的石英晶体生产,到后来的恒温控制晶体振荡器(OCXO)、温度补偿晶振(TCXO)和压控晶体振荡器(VCXO)等先进产品的开发,Bliley始终站在行业技术的最前沿。公司拥有一支专业的研发团队,致力于开发更高效、更稳定、更精确的频率控制产品。这些技术创新不仅提升了Bliley的产品竞争力,也推动了整个电子行业的发展。

BREL International Components公司的发展小趣事

品质是BREL International Components公司发展的基石。公司从原材料采购到生产流程控制,再到产品检测,都严格遵循国际质量标准。BREL还建立了完善的品质管理体系,通过定期的质量检查和持续改进,确保每一件产品都达到客户的要求。正是这种对品质的执着追求,让BREL的产品在市场上赢得了良好的口碑,品牌价值不断提升。

问答坊 | AI 解惑

机器人运动学初级篇(1)

本帖最后由 paulhyde 于 2014-9-15 09:36 编辑 里面有各种机器人的运动原理和方案  …

查看全部问答>

正确的布局和元件选择是控制EMI的关键

摘要:理解电压调节器的物理特性对于设计符合EMI和EMC兼容性要求的电源系统至关重要。开关调节器(降压、升压、反激以及SEPIC拓扑结构)的物理特性对于元件选择、电磁设计以及PCB布局具有特殊的指导意义。漏感、ESR和ESL的寄生效应是优化电路性能的关 ...…

查看全部问答>

在VxWorks下如何打印文件

最近在做VxWorks下的打印功能,可是VxWorks不像Windows或Linux那样提供“所见即所得”的GDI函数接口, 所以对于在VxWorks下做可打印和可显示的GDI函数接口一头雾水,无从下手,最近看到了介绍打印机控制语言 PCL和PostScript,感觉里面介绍的东西 ...…

查看全部问答>

建文件

怎么才能在建立的项目中.c文件中添加一子文件如.h文件…

查看全部问答>

C51中printf跟直接用SBUF有什么区别?

我知道printf是格式化输出,那么我只要传一个8位数,它们是不是就没有区别? 另外有个很重要的,printf只要我用了,就会不停得往串口输出数,哪怕我没把它放在循环语句中是不?比如我这样: while(1){ while(RI){      n=S ...…

查看全部问答>

NE555上面写着16M/38M......我可能想多了

刚接触555的时候,我知道555最高频率不会超过500K,后来听说有所提高,刚才百度的时候,看到一个说最高2M。   最近,我在整理我的元器件,无意发现,有几块NE555上面写着 16M或者38M。 但是百度了没反应。 想去 ALLDATESHEET,发现进不去 ...…

查看全部问答>

STM8!8位单片机的终结者吗?!

网上现在 STM8 火爆,价格便宜,据说128K  flash 的20元,只是现在还不好买,性价比不错,而且是5V的,从网上下载了 STM8 用户手册粗看了一下,感觉是我最偏爱的 6502(类拟飞思卡尔 6800) 内核的升级版,但是指令系统比现在的飞思 ...…

查看全部问答>

提个似乎很少人去研究的问题~STM32选项字的那两个用户字节~

也就是STM32选项字中,可以被用户使用的两个字节: 位于:0x1FFFF804,0x1FFFF806.这个理论上用STM32的库函数FLASH_ProgramOptionByteData是可以写入的.但我试了,写入后,无论是读FLASH->OBR,还是直接从地址读,都读不出我之前写入的字~ Program ...…

查看全部问答>

【为C2000做贡献】基于多DSP的无人机飞行控制软件设计

基于多DSP的无人机飞行控制软件设计摘要:结合正在参与的某型同定翼飞机控制系统的设计,分析在多CPU飞控机上飞行控制软件的设计,飞行控制计算机是以3块DSP2812作为控制单元,一 块主CPU两块从CPU,两块从CPU各自分担一部分工作,减轻了主CPU的负担,相 ...…

查看全部问答>

verilog硬件语言

在学习夏宇闻老师的数字系统设计verilog硬件语言的过程中,学习流水线的的设计及理解有点摸透不清,,请教高人指点。。。。…

查看全部问答>