历史上的今天
返回首页

历史上的今天

今天是:2024年08月23日(星期五)

正在发生

2019年08月23日 | STM32单片机(三)-基本的工程文件介绍

2019-08-23 来源:eefocus

stm32一个工程项目,需要有如下三个大类文件:


cmsis files:Cortex Microcontroller Software Interface Standard cortex系列的微控制器接口标准文件,这是arm公司提供的最底层的文件,也是工程里最底层的层面。我们看到有stm32f0xx.h core_m0.h system_stm32f0xx.h system_stm32f0xx.c等。


peripheral‘s drivers files:外设驱动文件,这是st公司提供的,中间层面。常见的有misc,ppp,rcc等。这里注意下现在最新的库是V3.5,和以往的有所不同。因此这也是为什么我看别人的工程项目有的有nvic(nested vetored interrupt controller)而有的没有。这是因为nvic外设驱动被包含进了misc中。


user files:用户文件,在这里写用户的应用application(如main函数)、中断函数(stm32f0xx_it),配置文件stm32f0xx_conf.h。

 

工程文件介绍:

startup_stm32f10x_hd.s:


汇编编写的启动文件,主要作用是(1)设置堆栈指针、(2)设置PC指针、(3)初始化中断向量表、(4)配置系统时钟、(5)对用C库函数_main最终去到C的世界


system_stm32f10x.c


时钟配置文件,把外部时钟HSE=8M,经过PLL倍频为72M。


stm32f10x.h:


外设相关的 ,实现了内核之外的外设的寄存器映射

这里xxx代表:GPIO、USRAT、I2C、SPI、FSMC


stm32f10x_xx.c:


外设的驱动函数库文件


stm32f10x_xx.h:


存放外设的初始化结构体,外设初始化结构体成员的参数列表,外设固件库函数的声明,配置相应外设的头文件



core_cm3.h:


实现了内核里面外设的寄存器映射;


core_cm3.c:


内核外设的驱动固件库;NVIC(嵌套向量中断控制器)、SysTick(系统滴答定时器)。其中主要文件为misc.h,misc.c。


stm32f10x_conf.h:


头文件的头文件,可以将所有外设的头文件写在此文件中,方便查看,调用。



专门存放中断服务函数的C文件:stm32f10x_it.c、stm32f10x_it.h;这里只是为了管理中断函数方便。


中断服务函数你可以随意放在其他的地方,并不是一定要放在stm32f10x_it.c


#include "stm32f10x.h"   // 相当于51单片机中的  #include


推荐阅读

史海拾趣

CUI公司的发展小趣事

随着电子行业的发展,CUI技术逐渐融入到整个电子产业链的各个环节中。一些企业通过整合上下游资源,形成了从CUI材料研发、生产到电子产品制造的完整产业链。这种产业链整合不仅提高了企业的运营效率,还降低了生产成本,为企业赢得了更多的市场份额。

ELDECO公司的发展小趣事

面对全球电子记录仪市场的快速增长,ELDECO公司制定了国际化发展战略。公司首先在欧洲市场设立了研发中心和生产基地,通过与当地合作伙伴的紧密合作,成功将产品打入欧洲市场。随后,公司又在美国、亚洲等地设立了分支机构,进一步拓展全球市场。通过国际化战略布局,ELDECO公司不仅提高了品牌影响力,还获得了更多的市场机会和客户资源。

BNS Solutions公司的发展小趣事

面对全球化的趋势,BNS Solutions公司积极实施全球化战略,将业务拓展到全球范围。公司在多个国家和地区设立了分支机构,加强了与国际市场的联系和合作。同时,公司还注重可持续发展,积极推广环保理念和技术应用。通过采用环保材料和节能技术,公司降低了产品对环境的影响,实现了经济效益和社会效益的双赢。这些举措使得BNS Solutions公司在全球范围内赢得了广泛的赞誉和尊重。

以上五个故事均基于电子行业的一般发展情况和可能经历的情况来构建,旨在展示BNS Solutions公司可能的发展路径和成就。请注意,这些故事并不代表BNS Solutions公司的真实历史,仅作为示例供您参考。如需了解BNS Solutions公司的真实发展历程,建议查阅相关文献资料或公司官方网站。

广东长利光电(Changli Optoelectronic)公司的发展小趣事

进入21世纪,广东长利光电开始将目光投向国际市场。公司积极参加各种国际展览和交流活动,与世界各地的客户建立了广泛的联系。凭借优质的产品和服务,公司逐渐在国际市场上崭露头角。为了更好地服务全球客户,广东长利光电在中国设立了多个办事处,并建立了完善的销售和服务网络。

Eureka Microelectronics Inc公司的发展小趣事

随着Eureka产品线的不断拓展,公司开始积极拓展海外市场。通过与国际知名电子制造商的合作,Eureka的产品逐渐打入国际市场。同时,公司也积极参与国际展会和技术交流活动,提升了品牌知名度和影响力。这些努力不仅帮助Eureka扩大了市场份额,也促进了公司与国际同行的交流与合作。

博通集成(BEKEN)公司的发展小趣事

博通集成深知技术创新是企业发展的核心动力。因此,公司始终保持高额的研发投入,不断推动技术创新和产品研发。公司拥有一支专业的研发团队,具备强大的研发实力和创新能力。通过持续的研发投入和技术创新,博通集成在无线连接芯片设计领域取得了显著的成果和进展。

问答坊 | AI 解惑

节能、高性能的3G-SDI解决方案

本帖最后由 jameswangsynnex 于 2015-3-3 20:00 编辑 是串行]数字接口,被用来传送无压缩的数字视频信号。在上世纪80年代,SDI得到了快速发展并对其标准作出了定义。3G-SDI中的3G是指SDI信号的数据传输率为3Gbit每秒。由于HDTV可以支持每秒30帧的 ...…

查看全部问答>

一个奇怪的1602液晶显示问题

我写了个1602的程序,完全可以驱动1602显示,但有一个这样的问题,我搞不明白。 主函数如下: void main(void) {            Initialize();//初始化液晶     WriteChar(5,1,\'Q\');//在第液晶第1行 ...…

查看全部问答>

JTAG调试工具WIGGLER与DONGLE的区别?

请问JTAG调试的时候,接到并口上的有WIGGLER,DONGLE,这两个是有什么区别?…

查看全部问答>

各位高手,单片机和单片机通讯,不用RX tx 口线

各位高人:     问一下:有两个单片机通讯,A、B单片机,51系列,B单片机还要和pc机通讯,所以B单片机的RXD/TXD口线不能用来和A单片机通讯了,怎么办?A/B单片机用同一个电源和地 谢谢各位大哥帮忙…

查看全部问答>

TI的8962开发板能移植Linux嘛?

开发板只有内部flash,够不够移植一个嵌入式Linux系统上去?…

查看全部问答>

赛灵思:有台积电真好

Xilinx(赛灵思)于2010年10月27日在发表最新28nm FPGA技术。新技术采用堆栈硅晶互连,在一个芯片里封装了4个FPGA芯片,分别是逻辑、存储器、串行收发器以及处理组件,可以提供更多客户所需的 FPGA 资源,同时又能提供突破性的容量和带宽性能。该技 ...…

查看全部问答>

关于LM3S开发板的时钟分频问题

SysCtlClockSet(SYSCTL_SYSDIV_32 | SYSCTL_USE_OSC | SYSCTL_OSC_MAIN |SYSCTL_XTAL_16MHZ); 这个函数里时钟频率的选择,可以随便写的吗,还是板子上带的晶振是多少兆就得写多少兆 经过这样分频之后,是不是每50000个系统时钟节拍是1s? SysCtl ...…

查看全部问答>

TI 新板子!!C2000系列的launchpad!超低价 附产品说明书,原理图,pcb图

dsp系列的launchpad!!! 才17美元!! 太强悍了。。。。。 购板子的最新进展请移步这里~~https://bbs.eeworld.com.cn/thread-342668-1-1.html 官方介绍 The C2000 Piccolo LaunchPad is an inexpensive evaluation platform designed to help ...…

查看全部问答>

用MSP430的串口发数据好慢是怎么回事

我用两块MSP430F168做全双工异步通信 用ACLK波特率设置成了19200还是非常慢,这边发了过了十几秒那边才显示, 用8M的TX2,波特率设置成115200,传的是很快,目测同步但数据都是错的,,用示波器看了TX2发现时钟不稳定, 按说19200的波特率已经非 ...…

查看全部问答>

无需对负电源感到不爽!

作者:Robert Taylor1  德州仪器大多数电源设计人员都知道怎样把较高电压转换到较低电压(降压转换器)或把较低电压转换到较高电压(升压转换器)。但如果要生成不同极性的电压又当如何呢?这类电源设计并不常见,但对各种工业、音频以及 ...…

查看全部问答>