STM32基本外设学习

本来打算回学校在写这篇博客,但是昨天跟我媳妇打电话花了我近50块的电话费,今天一咬牙,冲了30块钱流量,我太难了

十月一回家没有网,弄了一下107开发板的基本外设,重新巩固一下知识点,所谓基础不牢地动山摇。一定要学好基础,然后在深入更多的知识的时候才会得心应手,不要不信我说的,我以前也是这样想,结果你们也都看见了,回头补习之前的知识了吧。以下代码是我自己根据单片机参考资料,以及官方手册自己编写的代码所写,资料也已经上传到我的资源,下面是链接,这是我编写的32库,学要的可以点击链接下载。https://download.csdn.net/download/qq_40831778/11829809

                                                                               

言归正传。基于STM32基本外设的学习

一、准备工作

单片机:STM32103单片机

二、开始学习

2.1.基础GPIO学习

GPIO_MoDe可以有以下几种模式 
 1.GPIO_Mode_AIN              模拟输入模式
 2.GPIO_Mode_IN_FLOATING      浮空输入模式  按键的模式
 3.GPIO_Mode_IPD              下拉输入模式
 4.GPIO_Mode_IPU              上拉输入模式
 5.GPIO_Mode_Out_OD           开漏输出模式
 6.GPIO_Mode_Out_PP           推挽输出模式
 7.GPIO_Mode_AF_OD            复用开漏输出模式
 8.GPIO_Mode_AF_PP            复用推挽输出模式
常用函数
1.GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_7); 读取指定端口管脚的输入
2.GPIO_ReadInputData(GPIOC);                读取指定的 GPIO 端口输入
3.GPIO_ReadOutputDataBit(GPIOB, GPIO_Pin_7);读取指定端口管脚的输出
4.GPIO_ReadOutputData(GPIOC);              读取指定的 GPIO 端口输出
5.GPIO_ResetBits(GPIOD,GPIO_Pin_2);           引脚拉低
6.GPIO_SetBits(GPIOD,GPIO_Pin_2);               引脚置高

下面是GPIO初始化函数

扫描二维码关注公众号,回复: 9538258 查看本文章

2.2外部中断

关于外部中断配置问题
1.首先我们需要把对应外设的,连接到内部中断线,对应管脚和中断线是对应的
2.配置中断线,对应引脚是多少,中短线就是多少,@例 GPIO_Pin0 对应中断线就是0
3.设置外部中断的触发模式, EXTI_Trigger 有3种 需要我们根据实际情况选择
3.1 EXTI_Trigger_Falling 设置输入线路下降沿为中断请求
3.2 EXTI_Trigger_Rising  设置输入线路上升沿为中断请求
3.3 EXTI_Trigger_Rising_Falling 设置输入线路上升沿和下降沿为中断请求
4.配置中断源 ,中断线是多少,中断源就是多少
5.配置优先级,然后使能就好了
6.配置中断服务函数 EXTI_GetITStatus(EXTI_Line0) != RESET 确认中断是否被触发,一定要对应上之前配置好的中断线

下面是外部中断初始化函数

2.3基本定时器学习
1.NVIC_TIMConfiguration();定时器配置函数,如果不用定时器初始化函数,应该在定时器6前面初始化
2.TIM6_IRQHandle();定时器6中断服务函数
*TIM_TimeBaseStructure.TIM_Period自动重装寄存器的值,累计TIM_Period+1个频率后产生一个更新或者中断
*TIM_TimeBaseStructure.TIM_Prescaler 时钟预分频寄存器的值
*TIM_ClearFlag 清除寄存器标志位函数
*TIM_ITConfig 开启寄存器中断函数
*NVIC_InitStructure.NVIC_IRQChannel 设置定时器中断线
*TIM_GetITStatus( TIM6, TIM_IT_Update) != RESET  确定定时器被触发函数 

下面是定时器初始化函数

2.4 ADC学习

1. ADC_INIT();      ADC 初始化函数
2. ADC_GPIO_Init(); 初始化ADC引脚
3. Get_ADC_Value(); 获得ADC转换值函数
4. ADCConvertedValue  ADC最终转换值

下面是ADC初始化函数

由于时间关系,回家的时候没带那么多器件,也没有下载很多资料导致我的学习不是很顺利,不过以后我会一点点的补上,希望大家不要介意。

如果喜欢我的博客,麻烦各位点赞顺便关注一下我,大家一起学习,一起分享,一起进步。

本人:QQ2992789432

                                            

发布了45 篇原创文章 · 获赞 96 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_40831778/article/details/101712645