历史上的今天
返回首页

历史上的今天

今天是:2025年03月14日(星期五)

正在发生

2019年03月14日 | stm32---gpio

2019-03-14 来源:eefocus

该程序是一个入门的小程序,相当于c语言中的hello world!希望对您有所帮助,我尽量把这个程序写的最简单!


程序使用库函数编写,不直接操作寄存器


库版本STM32F10x_StdPeriph_Lib_V3.5.0,开发环境MDK4.12,调试工具是JLINK v8.0,芯片STM32F103C8T6


注意:如果使用3.5的库开发的话,RCC的配置简单了很多,系统默认的情况下调用SystemInit()函数,自动初始化了时钟,只需使能对应的GPIO端口。



[cpp] view plaincopy

  1. #include "stm32f10x.h"  

  2.   

  3. //定义GPIO结构体  

  4. GPIO_InitTypeDef GPIO_InitStructure;  

  5.   

  6. //main函数  

  7. int main()  

  8. {  

  9.       

  10.     //使能GPIO时钟    

  11.     RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB , ENABLE);  

  12.       

  13.     //GPIO结构体配置  

  14.     GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;     

  15.     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;  

  16.     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;  

  17.       

  18.     //GPIO初始化  

  19.     GPIO_Init(GPIOB, &GPIO_InitStructure);    

  20.       

  21.     //点亮小灯  

  22.     GPIO_SetBits(GPIOB, GPIO_Pin_5);  

  23.   

  24.     //无限循环  

  25.     while(1);  

  26. }  


 


推荐阅读

史海拾趣

Brainboxes公司的发展小趣事

Brainboxes公司成立于1984年,总部位于英国利物浦市。创立之初,公司专注于数据和I/O连接产品的设计和制造。凭借对串行通信技术的深刻理解,Brainboxes迅速在行业内崭露头角。其早期产品,如串口服务器和适配器,因高度可配置和可靠的特性而受到市场的欢迎。随着业务的发展,公司逐渐扩大产品线,涵盖IO模块等多个领域。

Gems Sensors & Controls公司的发展小趣事

1955年,Gems Sensors & Controls公司的创始人Edward H. Moore在地下室中开始了他的创新之旅,成功研发出了第一台液位指示器。这一发明不仅为日后的公司奠定了基础,也标志着Moore在传感器技术领域的初步探索。1959年,他获得了该技术的专利,这一成果迅速吸引了业界的关注,为Gems公司的诞生铺平了道路。

ASPEED Technology公司的发展小趣事

ASPEED与Audinate建立了合作伙伴关系,共同开发Dante AV-A。这一合作使得ASPEED的SoC能够支持Dante AV-over-IP芯片组,为专业AV行业的制造商提供了更加便捷、高效的解决方案。通过合作,ASPEED进一步巩固了其在专业AV市场的地位,并拓宽了公司的业务范围。

Chemtronics公司的发展小趣事

为满足电子行业对无铅应用的需求,Chemtronics专门设计了完整的无铅产品线,并成为业内第一个向市场提供此类产品的公司。这一创新不仅满足了市场对环保和高效产品的需求,也进一步巩固了Chemtronics在电子行业的领先地位。

Gruner AG公司的发展小趣事
在信号处理电路中,光耦合器可以隔离噪声和干扰,确保信号的完整性和准确性。
Electech Electronics公司的发展小趣事

Electech Electronics一直非常重视产品质量和品质管理。公司建立了严格的质量管理体系,从原材料采购到产品生产、检测和包装等各个环节都进行严格把控。此外,公司还不断引进先进的生产设备和技术,提升产品的制造精度和品质。这些举措使得Electech Electronics的产品在市场上享有很高的声誉,赢得了客户的信赖。

问答坊 | AI 解惑

DM12232A(C框LED).pdf

本帖最后由 paulhyde 于 2014-9-15 09:22 编辑 DM12232A(C框LED).pdf  …

查看全部问答>

为什么GPIO中有的Pin要设为Pull_Up/Pull_Down?

如题,其中有的pin为输入pin,有的pin为输出pin,但是为什么要设置一些pin的属性为pull up或者为pull down,pull up/pull down到底是干吗用的?根据什么来设的呢,聆听各位大虾的教诲!!…

查看全部问答>

帮忙看看这段sql哪里错了

SELECT id, content, recivetime, readtime, statflag FROM goodsmessage ORDER BY recivetime DESC LIMIT 2 我在wince 5.0 下执行总是提示说 LIMIT 2 附近有错误,那位高手帮忙看一下是怎么回事啊?…

查看全部问答>

关于CreateControl问题

        RECT rectClient;         GetClientRect(&rectClient);          CLSID  clsid = { 0xca8a9780, 0x280d, 0x11cf, { 0xa2, 0x4d, 0x44, 0x45, 0x53, 0 ...…

查看全部问答>

用.net c#做winCE应用开发的问题

各位大哥,我问一下,在.net环境下开发winCE应用是用VC好呢,还是C#好呢,有经验的介绍一下他们的区别吧, 我要作的东西要组件化,VC++下智能设备下的ATL工程能直接在c#下调用吗?c#的组件编程怎么创建工程呀? …

查看全部问答>

波特率的问题请教

我对硬件不怎么了解,想问一下如果发送的硬件的波特率是19200,接收的波特率是9600,这之间可以进行准确通信么,就是19200的向9600的发送数据,后者可以识别发送的具体是什么么? 谢谢…

查看全部问答>

温湿度采集问题

怎样才能把采集的数据显示到,edit中呢? spcomm控件作的数据传输可以用的,但是不知道怎样把数据转化呢,怎样才可以显示在edti中呢,是不是一定要现有硬件才可以实现呢 >? 各位老师有没有好一点的代码给看看呢,最好整个代码,学生不胜感激了.…

查看全部问答>

DSP5509结构体

typedef int             int16; typedef long            int32; typedef unsigned int    Uint16; typedef unsigned long   Uint3 ...…

查看全部问答>

【TI C2000的使用经验】反面教材之半途而废

其实挺早就有兴趣学习c2000,因为在数字电源领域基本都会接触到c2000系列的产品,在新能源这边应用也不少。但是工作上就不会用得上,负责纯硬件的。所以从2812开始学,然后又鼓捣28335,现在又开始折腾2808了,曾经差点被28377给套住,不过确实太新 ...…

查看全部问答>

PCB射频电路4大基础特性

本文从射频界面、小的期望信号、大的干扰信号、相邻频道的干扰四个方面解读射频电路四大基础特性,并给出了在PCB设计过程中需要特别注意的重要因素。 一、射频电路仿真之射频的界面   无线发射器和接收器在概念上,可分为基频与射频两个部份。 ...…

查看全部问答>