历史上的今天
返回首页

历史上的今天

今天是:2025年03月18日(星期二)

正在发生

2019年03月18日 | STM32第一个demo与软件设置

2019-03-18 来源:eefocus

所使用软件版本为:Keil MDK4.12


单片机型号为:STM32F103C8T6


STM32第一个demo

1.建立文件夹


GPIO_TEST存放整个工程项目,在该项目文件夹下建立子文件夹存放不同类别的文件。

Obj:存放工程文件

Out:存放编译输出文件

Sorce:存放源代码文件




2.新建工程


打开KEIL3,这个时候显示的应该是上次使用过的工程。




在其中新建工程,把该工程存放在刚刚建立的Obj子文件夹下。





点击保存后弹出选择器件窗口,选择选择使用器件型号。




点击确定后弹出:




这个时候选择“是”,工程建立成功。




3.工程管理


这项对于项目的运行没有必要性,只是为了方便项目的管理。


在工程上右键,选择




弹出如下工程文件管理窗口,在此处可以添加Lib和Source。




经过操作,建立如下文件夹有备使用,这个可以根据个人编程习惯处理。




4.编写代码


新建源文件,保存在Sorce子文件夹下,注意文件名为gpio_test.c,一定要有C后缀。






把该文件添加到工程。




编写代码。


#include "stm32f10x_lib.h"GPIO_InitTypeDef GPIO_InitStructure;//LED端口初始化void LED_Init(void){RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOC, &GPIO_InitStructure);}void Delay(vu32 nCount){for(; nCount != 0; nCount--);}main()                               //内部8M RC时钟 ,无倍频{LED_Init();while(1){Delay(0x8ffff);Delay(0x8ffff);GPIO_ResetBits(GPIOC, GPIO_Pin_13);Delay(0x8ffff);Delay(0x8ffff);GPIO_SetBits(GPIOC, GPIO_Pin_13);}}


注意:在这里用到了RCC和GPIO的库函数,所以必须把这两个函数加入工程。





关于固件库函数在文件夹:C:\Keil\ARM\RV31\LIB\ST\STM32F10x

为了不在操作过程中避免改变KEIL文件夹下的库函数,可以固件函数库放到其他文件夹下,如:E:\jy\work\STM\WxlStm32\LAB\library

其中stm32f10x_lib.c文件是整个库的一些定义,是必须要的。

加入后的工程为:




这里,如果有的人觉得不知道使用了哪些库函数,不晓得添加哪些库文件进入工程,有个最简单的办法就是添加所有的固件库函数到工程,为了方便可以直接添加:C:\Keil\ARM\RV31\LIB\ST路径下的STM32F10xR.LIB文件进入工程。




之后进行编译和烧写。不过在编译和烧写前需要先进行软件设置。


软件设置


这些设置也可以在工程建立后马上进行。

打开选项窗口:




每一页的设置如下:














设置完这些后就可以编译并下载或调试程序了。






程序在这里已经能正常运行了,会看到单片机上PC13对应的LED灯闪烁。


推荐阅读

史海拾趣

Amphenol(安费诺)公司的发展小趣事

Amphenol Corporation,通常简称为Amphenol,是一家全球领先的连接技术公司,提供广泛的连接器解决方案,涵盖了航空航天、汽车、通信、工业、医疗和军事等多个领域。以下是关于Amphenol公司发展的五个相关故事:

  1. 创立与起步阶段:Amphenol公司成立于1932年,总部位于美国康涅狄格州沃拉姆。最初,公司致力于生产无线电连接器,并通过不断的创新和技术改进,逐步发展成为连接器行业的领导者之一。在第二次世界大战期间,Amphenol公司为美国军队提供了大量的军用连接器,为公司的发展奠定了坚实的基础。

  2. 技术创新与产品多样化:随着电子技术的不断进步和市场需求的不断变化,Amphenol公司不断进行技术创新,拓展产品线的多样性。除了传统的连接器产品,公司还开发了许多新型连接器,如光纤连接器、高速数据连接器、环境密封连接器等,以满足不同行业的需求。

  3. 全球化发展与市场拓展:Amphenol公司在全球范围内建立了广泛的销售网络和生产基地,实现了全球化布局和市场覆盖。公司在美国、欧洲、亚洲和其他地区设有多个生产工厂和研发中心,为客户提供当地化的服务和支持。通过不断扩大市场份额和提升产品质量,Amphenol公司成为了全球连接器市场的主要参与者之一。

  4. 客户合作与定制化解决方案:Amphenol公司与客户建立了紧密的合作关系,根据客户的需求和应用场景,提供定制化的连接器解决方案。公司的工程团队与客户共同设计和开发符合特定要求的产品,为客户提供专业化和个性化的服务。这种定制化解决方案能够满足客户多样化的需求,增强了公司在市场上的竞争优势。

  5. 质量管理与持续改进:Amphenol公司高度重视产品质量管理,严格遵循国际质量管理体系标准。公司的生产工艺和质量管理体系通过了ISO 9001质量管理体系认证,并持续进行质量改进和技术创新。此外,Amphenol公司的产品还通过了各种行业认证和标准,如航空航天领域的AS9100认证等,确保产品的可靠性和稳定性。

这些故事展示了Amphenol公司从创立初期到如今在技术创新、产品多样化、全球化发展、客户合作与定制化解决方案以及质量管理与持续改进等方面取得的重要进展。

佰鸿(BrtLed)公司的发展小趣事

佰鸿公司在2008年成立之初,正值LED行业蓬勃发展的时期。面对激烈的市场竞争,公司经过深入的市场调研,确立了LED大功率路灯制造商、方案提供商、系统集成商的市场定位。随后,佰鸿在大功率路灯照明市政LED改造方面投入大量精力,成功完成了兰池大道、咸阳快速干道等多个大型LED路灯方案设计及老旧路灯改造项目。这些项目的成功实施,不仅为佰鸿在市场上站稳了脚跟,也为其后续发展奠定了坚实的基础。

ERP公司的发展小趣事

进入21世纪20年代,电子智链紧跟智能化浪潮,将人工智能(AI)技术引入ERP系统。公司推出了“智链AI”解决方案,通过机器学习算法自动优化生产流程、预测市场需求和降低库存成本。这一创新使得电子智链在竞争激烈的ERP市场中脱颖而出,成为了电子行业数字化转型的领军企业。

ELEMENT14公司的发展小趣事

ELEMENT14一直注重创新产品的引入和推广。公司紧跟电子行业的最新技术趋势,及时引入高性能、高可靠性的电子元器件产品。同时,ELEMENT14还积极推广这些创新产品,通过举办技术研讨会、发布技术白皮书等方式,帮助客户了解产品的特点和优势。这些努力不仅提升了公司的技术水平,也为客户提供了更多的选择。

国炬(GOOGLL)公司的发展小趣事
OTL电路也是一种无输出变压器的功放电路,但它通常需要一个输出电容来耦合输出信号。相比OCL电路,OTL电路的输出阻抗较高,低频响应较差,但电路结构相对简单且成本较低。
BOWEI公司的发展小趣事
OCL电路能够驱动低阻抗的负载,提高了系统的整体效率。

问答坊 | AI 解惑

Android编译环境(2) - 手工编译C模块 ZT

上一篇中(即《Android编译环境(1) - 编译Native C的helloworld模块》),我们试用了通过标准的Android.mk文件来编译C模块,下面我们来试试如何直接运用gcc命令行来编译,从而了解Android编译环境的细节。 Android编译环境提供了”showcommands” ...…

查看全部问答>

诚问 WinCE嵌入式环境下能运行神经网络吗?

本人在利用wince开发汽车故障诊断系统 采用扬创S3c2440开发板 打算采用BP神经网络的作为诊断的算法 想知道有人做过类似的不? 系统资源能否支持呢? ps:s3c2440主频500M 32m内存 小弟再次谢过…

查看全部问答>

请教高手这段代码的意思?

这段代码是我老师给我的,是用keil uvision2软件纺写的 是bulkloop框架里的 void DA5384(unsigned char indata) {         unsigned char i; unsigned int mydata; unsigned int dataT; //SCLK =PA0, DIN=PA1 CS =PA5 ...…

查看全部问答>

串口通信问题求助

我在做串口通信 为什么在串口调试助手上找不到串口啊 有哪位高手知道指点一下好吗 先谢了 …

查看全部问答>

GAP的形成与内存控制问题(单片机)附map文件

#include bit b1,b2; bdata char bx,by; xdata char zz; pdata char buf[100]; void main (void) { {            b1=0;        b2=1;        bx=12;    ...…

查看全部问答>

寻支持二次开发的PDA

现需一款PDA,基本要求如下:支持二次开发+GPRS(最好支持EDGE)+摄像头+闪光灯.有意者请与许先生联系:13956057557.…

查看全部问答>

请问一道题目

试写出大尾数和小尾数机器中下图的数据结构,下图中a,b个占4bit长度 0   0 1 2 3 4 5 6 7   +-+-+-+-+-+-+-+-+   |       |       |   | a   &n ...…

查看全部问答>

有没有哪位高手在8962上用软件模拟过SPI的?

8962只有一个SPI接口可以用,有没有哪位高手在8962上用软件模拟过SPI的?求分享~~…

查看全部问答>

一个低通滤波例子哪位大虾能给解释一下吗?打问号的地方不懂!

本节通过一个例子来说明C程序从浮点变换至定点的方法。这是一个对语音信号(0.3kHz~3.4kHz)进行低通滤波的C语言程序,低通滤波的截止频率为800Hz,滤波器采用19点的有限冲击响应FIR滤波。语音信号的采样频率为8kHz,每个语音样值按16位整型数存放在i ...…

查看全部问答>