历史上的今天
返回首页

历史上的今天

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

正在发生

2019年09月25日 | stm32笔记2-3 GPIO操作(库函数)

2019-09-25 来源:eefocus

GPIO操作的几个重要函数:


初始化函数(1个):

void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct)


读取输入电平函数(2个):

uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);

uint16_t GPIO_ReadInputData(GPIO_TypeDef* GPIOx);


读取输出电平函数(2个):

uint8_t GPIO_ReadOutputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);

uint16_t GPIO_ReadOutputData(GPIO_TypeDef* GPIOx);


设置输出电平函数(4个):

void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);

void GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);

void GPIO_WriteBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, BitAction BitVal);

void GPIO_Write(GPIO_TypeDef* GPIOx, uint16_t PortVal);


操作步骤

使能IO端口的时钟

初始化IO

读写IO

初始化IO需要用到GPIO_Init函数,而该函数用到GPIO_InitTypeDef结构体,该结构体是记录要设置的端口的Mode、Speed、OType、PuPd,通过自定义一个结构体,然后把该结构体地址传入初始化IO函数即可。

如:设置PF9 PF10为推挽输出,无上下拉、输出速度为50MHz


GPIO_InitTypeDef GPIOF_InitStructure;


GPIOF_InitStructure.GPIO_Pin = GPIO_Pin_9 | GPIO_Pin_10;

GPIOF_InitStructure.GPIO_Mode = GPIO_Mode_OUT;

GPIOF_InitStructure.GPIO_OType = GPIO_OType_PP;

GPIOF_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;

GPIOF_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;


GPIO_Init(GPIOF, &GPIOF_InitStructure);


推荐阅读

史海拾趣

FOCI Fiber Optic Communications Inc公司的发展小趣事

FOCI Fiber Optic Communications Inc.公司发展的五个故事

故事一:成立与初创期

FOCI Fiber Optic Communications Inc.(以下简称FOCI)成立于1995年,由台湾工业技术研究院(工研院)的核心团队创立。这家公司自诞生之初就专注于光纤互连技术的发展,致力于设计、制造和销售高性能的光纤组件和集成模块。初创时期,FOCI凭借其对光纤技术的深刻理解和市场需求的敏锐洞察,逐步在市场上站稳脚跟,成为光纤通信领域的一股新兴力量。

故事二:技术创新与突破

FOCI在发展过程中,始终将技术创新视为企业发展的核心驱动力。公司不断投入研发资源,在光纤耦合器、PLC分配器、薄膜粗波分复用/密集波分复用以及多光纤电缆组装模块等领域取得了多项技术突破。这些技术创新不仅提升了产品的性能和质量,还大幅降低了生产成本,使得FOCI的产品在市场上更具竞争力。

故事三:与奇景光电的战略合作

2024年,半导体解决方案无晶圆厂巨头奇景光电(Himax Technologies)宣布向FOCI投入5.22亿新台币(折合约为1610万美元)的资金。这次投资不仅是两家公司财务合作的结果,更是双方在技术融合与应用拓展上迈出的重要一步。根据合作协议,FOCI的共封装光学器件(CPO)与奇景光电的晶圆级光学器件(WLO)将被整合到多芯片模块中,这些模块将广泛应用于高性能计算、云服务器、人工智能等多个领域。

故事四:全球化布局与市场拓展

随着全球光纤通信市场的快速发展,FOCI积极实施全球化战略,不断拓展国际市场。公司通过参加国际展会、建立海外销售网络等方式,将高性能的光纤组件和集成模块带到了世界各地。特别是在光纤到户(FTTH)和云计算领域,FOCI的产品因其高效、低成本的特性而广受欢迎,成功在全球市场占据了一席之地。

故事五:子公司设立与多元化发展

为了进一步拓展业务领域和市场份额,FOCI在国内设立了多家子公司,如中山上诠通信科技有限公司等。这些子公司不仅继承了FOCI在光纤通信领域的深厚底蕴和技术优势,还根据当地市场需求进行了产品和服务的本地化调整。同时,FOCI还积极探索多元化发展路径,涉足光纤高速数据传输技术开发设计、研发和咨询等多个领域,为公司未来的持续发展奠定了坚实基础。

EFC [Electronic Film Capacitors, Inc.]公司的发展小趣事

在当今社会,绿色环保已经成为一种趋势。EFC公司积极响应这一号召,将绿色环保理念融入到产品设计和生产过程中。他们采用环保材料和技术,减少废弃物和污染物的排放。同时,EFC还积极推广绿色能源和节能技术,帮助客户降低能源消耗和碳排放。这种对环保的关注和贡献让EFC赢得了社会各界的赞誉。

Cal Crystal Lab Inc / Comclok Inc公司的发展小趣事

随着全球化的加速推进,国际化战略成为了企业发展的重要方向。Cal Crystal Lab Inc在稳固国内市场的基础上,积极实施国际化战略。公司不仅在海外设立了研发中心和生产基地,还加大了对国际市场的开拓力度。通过与当地企业的合作与交流,Cal Crystal Lab Inc不断适应国际市场的需求和变化,提升了公司在全球市场的竞争力。

这五个故事只是虚构的示例,并不代表任何真实公司的历史。实际的电子行业公司发展历程往往更加复杂和多样,受到市场、技术、政策等多种因素的影响。如果您需要了解特定公司的真实发展故事,建议查阅相关资料或咨询相关人士。

Electro-Term/Hollingsworth公司的发展小趣事

在电子行业的激烈竞争中,Electro-Term公司凭借其独特的技术创新能力,逐步崭露头角。公司创始人在一次偶然的实验中发现了一项新的半导体材料,这种材料具有更高的导电性和稳定性。凭借这一突破,Electro-Term成功推出了一系列高性能的电子产品,赢得了市场的广泛认可。随着技术的不断升级和产品线的扩展,公司逐渐在电子行业中树立了技术领先的形象。

Galaxy ( Bel )公司的发展小趣事

随着环保意识的提高,Hollingsworth公司积极响应国家号召,致力于推动绿色生产和可持续发展。公司采用环保材料和生产工艺,减少了对环境的污染。同时,公司还加大了对新能源领域的投入,开发了一系列环保型电子产品。这些举措不仅提升了公司的社会形象,也为公司未来的发展奠定了坚实的基础。

Altus Technology Inc公司的发展小趣事

随着公司规模的不断扩大,Altus开始实施全球化战略,积极拓展海外市场。公司通过与国际知名企业的合作,成功将产品打入国际市场,并建立了完善的销售网络和客户服务体系。同时,Altus还积极参与国际电子行业的交流和合作,不断吸收和引进国际先进技术和管理经验,提升了公司的整体竞争力。

问答坊 | AI 解惑

未来中国安防市场IP产品的增长成为热点

IMSResearch最近发布了一份名为《中国安防产业IP趋势》的研究,目的是希望了解IP相关技术如何在安防领域应用以及发展前景等问题。该研究针对中国本土提供电子物理安防产品的系统集成商和工程商,根据他们对IP安防产品的经验,对市场进行了分析。这 ...…

查看全部问答>

急需Tornado 2.2.1 for PowerPC!

如题,急需Tornado 2.2.1 for PowerPC,请问什么途径可以得到?欢迎来电13971652738,王先生。…

查看全部问答>

winpcap在evc下使用

winpcap在evc下怎么使用? D:\\PROGRAM FILES\\INCLUDE\\packet32.h(53): Could not find the file airpcap.h. D:\\PROGRAM FILES\\INCLUDE\\packet32.h(62): Could not find the file dagc.h. 有这样的提示。。。找不到系统的头文件 可有谁在E ...…

查看全部问答>

WinCE LCD驱动配置问题

各位大虾:     目前正在搞WinCE下LCD驱动, 在一个现有模板的基础上,进行了简单的修改。     引脚配置 跟 LCD控制器部分的设置应该是没有什么问题的。也将屏幕的一些配置参数进行了修改,原来的是320*240,现在我用的是800 ...…

查看全部问答>

driver中调用MmAllocateNonCachedMemory向系统申请1MB空间,请问各位,怎么才能验证,申请到的空间是连续的?

我在driverentry中直接调用的MmAllocateNonCachedMemory函数,想要申请1MB空间,但不知道怎么用最简单的方式,得知空间是否连续?我是想申请1MB连续空间.   …

查看全部问答>

请问各位过来人IC封装测试是干什么的呢

    最近找工作,请问大家“IC封装测试”是干什么的呢? 主要是以下几个问题,谢谢了哈 1.工作的主要内容是什么的呢? 2.工作的前景如何,以后发展方向主要是怎样的呢? 3.行业的待遇具体怎么样呢?  …

查看全部问答>

别扭的1640

这两天,板子焊好了,一点一点在翻阅此前做的各种笔记,想起当时没太仔细考虑 充电程式的问题。   于是开始想MAX1640充电程式的设置问题。   做一个高质量点的 锂电池充电器 自然希望能实现典型的三段式充电程式CCCV。 然而,在这方 ...…

查看全部问答>

请教一个关于ATmega64串口和LCD显示的问题。。。。急!!!

芯片是ATmega64,LCD(12864)接PD口,串口通信用的PE口(usart0 RXD0 TXD0)。。。单独调试串口通信,LCD显示完全正常。。。只是要把两个程序合在一起时LCD显示就出问题,原本可以显示出的字符现实不出来。串口通讯没有问题。观察板子上的发光二极 ...…

查看全部问答>

怎么测量大的交流信号微小的幅值变化

目前做一谐振电路,通过调节电感,来改变信号幅值,但现在想把这个幅值测出来,不知道哪位大虾能帮忙下!…

查看全部问答>