stm32各模块函数写法模版基于V35固件库文档格式.docx
- 文档编号:15788126
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:17
- 大小:22.61KB
stm32各模块函数写法模版基于V35固件库文档格式.docx
《stm32各模块函数写法模版基于V35固件库文档格式.docx》由会员分享,可在线阅读,更多相关《stm32各模块函数写法模版基于V35固件库文档格式.docx(17页珍藏版)》请在冰豆网上搜索。
//设置推挽输出
/*GPIO_Mode_AIN模拟输入
GPIO_Mode_IN_FLOATING浮空输入(一般为中断所使用)。
GPIO_Mode_IPD下拉输入
GPIO_Mode_IPU上拉输入
GPIO_Mode_Out_OD开漏输出
GPIO_Mode_Out_PP推挽输出
GPIO_Mode_AF_OD复用开漏输出
GPIO_Mode_AF_PP复用推挽输出*/(一般用在点灯)。
GPIO_Init(GPIOA,&
GPIO_InitStructure);
//执行初始化IO口
}
GPIO常用函数
GPIO_SetBits(GPIOA,GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7);
//置高IO口
GPIO_ResetBits(GPIOA,GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7);
//置低IO口
GPIO_WriteBit(GPIOA,GPIO_Pin_4,(BitAction)(1-GPIO_ReadOutputDataBit(GPIOA,GPIO_Pin_4)));
//翻转IO口
GPIOA->
ODR=0X0010;
//IO口直接赋值语句
GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_3)(读取该口的电压值,相当于AVR的pin)。
若IO口为高电平,则这个函数返回为1,为低电平时返回为0.
SysTick系统时钟
SysTick配置函数
if(SysTick_Config(SystemCoreClock/3000))//配置时钟的频率,改变数字可改变频率,数字越大频率越快
{
/*Captureerror*/
while
(1);
}
EXTI中断
外部中断
外部中断IO口设置
voidGPIO_EXTI_Configuration(void)
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC|RCC_APB2Periph_GPIOD,ENABLE);
//使能时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);
//使能复用IO时钟
//声明IO口初始化结构体
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_6;
//指定PD.06为操作对象
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING;
//设置模式为浮空输入
GPIO_Init(GPIOC,&
//初始化IO口
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_13|GPIO_Pin_14;
//指定PD.13,14为操作对象
//设置模式为浮空输入
GPIO_Init(GPIOD,&
GPIO_EXTILineConfig(GPIO_PortSourceGPIOC,GPIO_PinSource6);
//将PC.06映射到外部中断
GPIO_EXTILineConfig(GPIO_PortSourceGPIOD,GPIO_PinSource13);
//将PD.13映射到外部中断
GPIO_EXTILineConfig(GPIO_PortSourceGPIOD,GPIO_PinSource14);
//将PD.14映射到外部中断
外部中断初始化
voidEXTI_Configuration(void)
EXTI_InitTypeDefEXTI_InitStructure;
//声明外部中断初始化结构体
EXTI_InitStructure.EXTI_Line=EXTI_Line6|EXTI_Line13|EXTI_Line14;
//使能外部中断线路6,13,14
EXTI_InitStructure.EXTI_Mode=EXTI_Mode_Interrupt;
//设置EXTI线路模式为中断
EXTI_InitStructure.EXTI_Trigger=EXTI_Trigger_Rising;
//设置触发方式为上升沿
EXTI_InitStructure.EXTI_LineCmd=ENABLE;
//使能中断线路
EXTI_Init(&
EXTI_InitStructure);
//初始化结构体
外部中断向量&
优先级设定
voidNVIC_EXTI_Configuration(void)
NVIC_InitTypeDefNVIC_InitStructure;
//声明中断向量&
优先级设定结构体
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
//选择中断向量组别为2组
NVIC_InitStructure.NVIC_IRQChannel=EXTI9_5_IRQn;
//指定外部中断向量
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0;
//设置该中断的先占优先级
NVIC_InitStructure.NVIC_IRQChannelSubPriority=0;
//设置该中断的从优先级
NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;
//使能该外部中断
NVIC_Init(&
NVIC_InitStructure);
//初始化外部中断
NVIC_InitStructure.NVIC_IRQChannel=EXTI15_10_IRQn;
//指定外部中断向量
//设置该中断的从优先级
//初始化外部中断
由抢先优先级和从优先级实现了中断嵌套,进而使程序即使处理更加要紧的事情。
且高的抢先优先级可以打断低的抢先优先级,当抢先优先级相同时,那就比较从优先级,先响应高的。
当二者都相同时,先响应物理地址低的中断。
外部中断函数
/*example1*/
voidEXTI9_5_IRQHandler(void)
if(EXTI_GetITStatus(EXTI_Line6)!
=RESET)
//如果对应的中断线路触发事件,注意可以一个中断向量对应多个中断引脚
{
/*addcode*/
EXTI_ClearITPendingBit(EXTI_Line6);
//清中断标志
}
/*example2*/
voidEXTI15_10_IRQHandler(void)
if(EXTI_GetITStatus(EXTI_Line13)!
//如果对应的中断线路13触发事件,注意可以一个中断向量对应多个中断引脚
/*addcode*/
EXTI_ClearITPendingBit(EXTI_Line13);
//清中断标志位
if(EXTI_GetITStatus(EXTI_Line14)!
//如果对应的中断线路14触发事件,注意可以一个中断向量对应多个中断引脚
EXTI_ClearITPendingBit(EXTI_Line14);
//清中断标志位
中断channel表
WWDG_IRQChannel窗口看门狗中断0x00
PVD_IRQChannelPVD通过EXTI探测中断
TAMPER_IRQChannel篡改中断
RTC_IRQChannelRTC全局中断
FlashItf_IRQChannelFLASH全局中断
RCC_IRQChannelRCC全局中断
EXTI0_IRQChannel外部中断线0中断
EXTI1_IRQChannel外部中断线1中断
EXTI2_IRQChannel外部中断线2中断
EXTI3_IRQChannel外部中断线3中断
EXTI4_IRQChannel外部中断线4中断
DMAChannel1_IRQChannelDMA通道1中断
DMAChannel2_IRQChannelDMA通道2中断
DMAChannel3_IRQChannelDMA通道3中断
DMAChannel4_IRQChannelDMA通道4中断
DMAChannel5_IRQChannelDMA通道5中断
DMAChannel6_IRQChannelDMA通道6中断
DMAChannel7_IRQChannelDMA通道7中断
ADC_IRQChannelADC全局中断
USB_HP_CANTX_IRQChannelUSB高优先级或者CAN发送中断
USB_LP_CAN_RX0_IRQChannelUSB低优先级或者CAN接收0中断
CAN_RX1_IRQChannelCAN接收1中断
CAN_SCE_IRQChannelCANSCE中断
EXTI9_5_IRQChannel外部中断线9-5中断(5至9对应一个中断源)。
TIM1_BRK_IRQChannelTIM1暂停中断
TIM1_UP_IRQChannelTIM1刷新中断
TIM1_TRG_COM_IR
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- stm32 模块 函数 写法 模版 基于 V35 固件库
![提示](https://static.bdocx.com/images/bang_tan.gif)