STM32程序编辑使用库(每天更新版)

发布时间:2026/9/22 13:58:25
STM32程序编辑使用库(每天更新版) GPIO8种输入输出模式*输出模式控制端口输出高低电平用以驱动LED、蜂鸣器、模拟通信协议输出时序 等*输入模式读取端口高低电平或电压用于读取按键输入、外接模块电平信号输入、ADC电压采集、模拟通信协议接收数据等GPIO_Mode_AIN 0x0, 模拟输入GPIO_Mode_IN_FLOATING 0x04, 浮空输入GPIO_Mode_IPD 0x28, 下拉输入GPIO_Mode_IPU 0x48, 上拉输入GPIO_Mode_Out_OD 0x14, 开漏输出仅低电平有驱动能力GPIO_Mode_Out_PP 0x10, 推挽输出高低电平都有驱动能力GPIO_Mode_AF_OD 0x1C, 复用开漏GPIO_Mode_AF_PP 0x18 复用推挽GPIO输出使用库rcc.h常用时钟RCC_AHBPeriphClockCmd(uint32_t RCC_AHBPeriph, FunctionalState NewState);RCC_APB2PeriphClockCmd(uint32_t RCC_APB2Periph, FunctionalState NewState);RCC_APB1PeriphClockCmd(uint32_t RCC_APB1Periph, FunctionalState NewState);参数RCC_APB2Periph_x ENABLE / DISABLEgpio.h常用GPIO函数GPIO_InitTypeDef GPIO_InitStruct ; //GPIO初始化类型 GPIO初始化结构体GPIO_InitStruct.GPIO_Mode //模式参数GPIO_Mode_xGPIO_InitStruct.GPIO_Pin //引脚参数GPIO_Pin_xGPIO_InitStruct.GPIO_Speed //输出速度参数GPIO_Speed_xGPIO_Init(GPIOx,GPIO_InitStruct);调用已经配置好的结构体写入到GPIOx中void GPIO_AFIODeInit(void);//复位AFIO外设参数()void GPIO_StructInit(GPIO_InitTypeDef* GPIO_InitStruct);设置默认值安全参数参数GPIO_InitStructvoid GPIO_DeInit(GPIO_TypeDef* GPIOx);复位GPIOx端口参数GPIOxvoid GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);将GPIO端口某些引脚设置为高电平1参数GPIOxGPIO_Pin_xvoid GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);将GPIO端口某些引脚置为低电平0参数GPIOxGPIO_Pin_xvoid GPIO_WriteBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, BitAction BitVal);指定GPIO端口某个引脚电平1或0参数GPIOxGPIO_Pin_xBit_SET/RESETvoid GPIO_Write(GPIO_TypeDef* GPIOx, uint16_t PortVal);设置GPIO端口所有引脚数据16位参数GPIOx0x0000uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);读取GPIO口某一引脚电平输入数据寄存器中的某一位参数GPIOxGPIO_Pin_xuint16_t GPIO_ReadInputData(GPIO_TypeDef* GPIOx);读取GPIO端口整个输入数据寄存器参数GPIOuint8_t GPIO_ReadOutputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);读取GPIO口某一引脚电平输出数据寄存器中读取参数GPIOxGPIO_Pin_xuint16_t GPIO_ReadOutputData(GPIO_TypeDef* GPIOx);读取GPIO端口整个输出数据寄存器参数GPIOxEXTI外部中断AFIOvoid GPIO_AFIODeInit(void);复位AFIO外设清除AFIO外部配置参数()void GPIO_PinLockConfig(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);锁定GPIO配置参数GPIOxGPIO_Pin_xvoid GPIO_PinRemapConfig(uint32_t GPIO_Remap, FunctionalState NewState);进行引脚重映射参数重映射的方式ENABLE/DISABLEvoid GPIO_EXTILineConfig(uint8_t GPIO_PortSource, uint8_t GPIO_PinSource);选择用作EXTI线的GPIO引脚参数GPIO_PortSourceGPIOx指定GPIO端口GPIO_PinSourcex指定引脚不常用void GPIO_ETH_MediaInterfaceConfig(uint32_t GPIO_ETH_MediaInterface);选择以太网媒体接口参数arg GPIO_ETH_MediaInterface_MII : MII 模式arg GPIO_ETH_MediaInterface_RMII : RMII 模式void GPIO_EventOutputConfig(uint8_t GPIO_PortSource, uint8_t GPIO_PinSource);选择GPIO引脚作为Event输出参数GPIO_PortSourceGPIOx GPIO_PinSourcexvoid GPIO_EventOutputCmd(FunctionalState NewState);启用或禁止事件输出参数ENABLE/DISABLEEXTIEXTI_InitTypeDef EXTI_InitSturct;EXTI_InitSturct.EXTI_Line ;//选择线路配置为中断模式参数EXTI_LinexEXTI_InitSturct.EXTI_LineCmd ;//指定状态参数ENABLE/DISABLEEXTI_InitSturct.EXTI_Mode ;//指定外部中断线模式参数EXTI_Mode_Interrupt中断模式EXTI_Mode_Event事件模式EXTI_InitSturct.EXTI_Trigger ;//指定触发信号的有效边沿EXTI_Trigger_Rising上升沿EXTI_Trigger_Falling下降沿EXTI_Trigger_Rising_Falling双边沿void EXTI_Init(EXTI_InitTypeDef* EXTI_InitStruct);初始化EXTI参数EXTI_InitStructvoid EXTI_DeInit(void);清除EXTI配置void EXTI_StructInit(EXTI_InitTypeDef* EXTI_InitStruct);把参数传递结构体变量赋默认值结构体初始化模块定义结构体→结构体赋值→传递结构体地址void EXTI_GenerateSWInterrupt(uint32_t EXTI_Line);软件触发外部中断参数EXTI_Linex主程序查看标志位EXTI_GetFlagStatus(uint32_t EXTI_Line);获取指定的标志位是否被置1标志位记录某事件是否发生1/0void EXTI_ClearFlag(uint32_t EXTI_Line);对被置1的标志位进行清除中断程序查看标志位EXTI_GetITStatus(uint32_t EXTI_Line);获取中断标志位是否被置1void EXTI_ClearITPendingBit(uint32_t EXTI_Line);清除中断挂起标志位NVICvoid NVIC_PriorityGroupConfig(uint32_t NVIC_PriorityGroup);中断分组参数NVIC_PriorityGroupx1~4NVIC_InitTypeDef NVIC_InitStruct;NVIC_InitStruct.NVIC_IRQChannel//指定中断通道NVIC_InitStruct.NVIC_IRQChannelCmd//指定使能/失能参数ENABLE/DISABLENVIC_InitStruct.NVIC_IRQChannelPreemptionPriority//指定抢占优先级0~15NVIC_InitStruct.NVIC_IRQChannelSubPriority//指定响应优先级 0~15void NVIC_Init(NVIC_InitTypeDef* NVIC_InitStruct);根据结构体指定参数初始化NVIC不常用void NVIC_SetVectorTable(uint32_t NVIC_VectTab, uint32_t Offset);设置中断向量表void NVIC_SystemLPConfig(uint8_t LowPowerMode, FunctionalState NewState);系统低功耗配置

相关新闻

别被忽悠了!扒开手机端网站建设步骤的遮羞布,这3个坑谁踩谁哭

别被忽悠了!扒开手机端网站建设步骤的遮羞布,这3个坑谁踩谁哭

本文关键词:手机端网站建设步骤前两天有个做餐饮的老哥找我吐槽,说花了两万多弄了个官网,结果在手机上打开慢得像蜗牛,菜单按钮还重叠,顾客骂娘不说,百度排名直接掉到底。我一看代码,好家伙,纯PC端硬套,连个响应式都没做。这年头,谁还坐在电脑前逛网页啊?大家伙儿都…

发布时间:2026/8/20 5:32:33
网站建设需要用到哪些软件,老鸟私藏清单大公开

网站建设需要用到哪些软件,老鸟私藏清单大公开

做网站这行,混久了你就发现,这玩意儿跟装修房子没两样。你总不能拿个铁锹去挖地基吧?那得累死。很多人一上来就问,网站建设需要用到哪些软件?这问题问得挺外行,但也挺实在。毕竟,工欲善其事,必先利其器嘛。我干了这行七八年,踩过无数坑,今天不跟你整那些虚头巴脑的理…

发布时间:2026/8/20 5:32:33
别被那些网页设计与网站建设书籍骗了,看完这几点再掏钱

别被那些网页设计与网站建设书籍骗了,看完这几点再掏钱

真的,我受够了。每次打开淘宝或者京东,搜一下网页设计与网站建设书籍,满屏都是那种封面精美得像杂志一样的书。什么“三天精通”、“零基础大神”、“保姆级教程”。我买回来翻了翻,心里就俩字:扯淡。真的,别信那些鬼话。我也曾是个小白,刚入行那会儿,手里攥着两本厚厚…

发布时间:2026/8/20 5:32:34
跑断腿?我在平阳县建设局网站办证的血泪史与避坑指南

跑断腿?我在平阳县建设局网站办证的血泪史与避坑指南

说实话,以前我对“跑审批”这四个字充满了恐惧。总觉得那是只有大企业或者专业中介才能玩转的游戏,咱们普通小老板或者刚入行的工程人,根本摸不着头脑。直到上个月,我为了一个小型装修项目的施工许可,硬着头皮去了一趟平阳县建设局网站,结果发现,只要找对路子,这事儿真…

发布时间:2026/9/21 17:10:38
为什么你的网站留不住人?揭秘建设网站会员体系的底层逻辑与实操指南

为什么你的网站留不住人?揭秘建设网站会员体系的底层逻辑与实操指南

很多老板都在问:为什么我的网站流量不少,转化率却惨不忍睹?其实,问题往往出在“留客”上。你花了大价钱买流量,用户进来逛了一圈,连个招呼都没打就走了。这就像开了一家实体店,顾客进门看看,然后转身离开,你连个联系方式都没拿到。这种“一次性买卖”思维,在今天的互…

发布时间:2026/9/21 6:06:48
徐州市丰县建设局网站 咋用才不踩坑?老业主掏心窝子分享

徐州市丰县建设局网站 咋用才不踩坑?老业主掏心窝子分享

昨晚半夜两点,我还在盯着手机屏幕,心里那个急啊。为啥?因为我家那套安置房的事儿,开发商那边一直拖泥带水,说是等公示,可公示啥样我心里没底。没办法,只能硬着头皮去查“徐州市丰县建设局网站”。说实话,第一次上去的时候,我整个人是懵的。界面那叫一个复古,跟咱们老…

发布时间:2026/9/21 17:10:17
龙口网站建设公司哪家好?别踩坑,看这几点就够了

龙口网站建设公司哪家好?别踩坑,看这几点就够了

本文关键词:龙口网站建设公司哪家好做企业官网,最怕啥?怕花了几万块,结果打开慢得像蜗牛,手机端还乱码。更怕的是,搜“龙口某某公司”,首页连个影子都找不着。钱打水漂,还耽误事。很多老板找我聊,开口就问:“龙口网站建设公司哪家好?”这话问得实在。毕竟龙口这地方…

发布时间:2026/9/21 17:10:20
别再被忽悠了!一份真正落地的建筑网站建设方案,专治各种花里胡哨

别再被忽悠了!一份真正落地的建筑网站建设方案,专治各种花里胡哨

说实话,我见过太多建筑公司的官网了。真的,多到让人想吐。要么就是满屏的大图,加载慢得像蜗牛。要么就是文案写得云里雾里,根本不知道你是干啥的。客户点进来三秒钟,啪,关掉了。这就叫浪费生命。今天我不讲那些虚头巴脑的理论。我就想聊聊,到底怎么做一个真正能接活的建…

发布时间:2026/9/21 17:10:07
个人做计算机编程与网站建设到底难不难?老程序员掏心窝子说几句

个人做计算机编程与网站建设到底难不难?老程序员掏心窝子说几句

这篇文章不讲那些虚头巴脑的理论,直接告诉你新手入坑计算机编程与网站建设最真实的坑在哪,以及怎么避开。很多人以为写代码就是对着黑屏幕敲字母,其实那是电影骗人的。真正的难点在于怎么把脑子里的想法变成别人能看懂、能用的网页。如果你正纠结要不要学,或者刚起步觉得头…

发布时间:2026/9/21 17:10:27