您的位置 首页 资料

STM8L探究套件学习笔记-GPIO端口操作(一)

STM8与STM32一样提供了固件库函数,方便用户快速开发,不需要花费很多时间去查寄存器。不过没有STM32的库完善,给的说明文档是chm格式的,

STM8与STM32相同供给了固件库函数,便利用户快速开发,不需要花费许多时刻去查寄存器。不过没有STM32的库完善,给的阐明文档是chm格局的,姓名是stm8l15x_stdperiph_lib_um.chm,这个官网有下载,今日依照官方给的模板自己做个模板文件夹,便利后期的移植,这样就不要再重复设置了。首要咱们看看GPIO模块,在用固件库之前先了解下GPIO里边的大体的寄存器,便利后期运用固件库。缺陷是你所以输入的参数都会检测是否契合标准,必须得依照库函数里边界说的参数写。
GPIO寄存器有:输出寄存器(ODR),输入寄存器(IDR),方向寄存器(DDR),操控寄存器1(CR1)和操控寄存器2(CR2).后边三个寄存器组和能够装备为8种GPIO的形式,如下图:

而固件库函数给出了8中形式,在上面的基础上加入了输出高/输出低电平的状况。

GPIO_Mode_In_FL_No_IT浮空输入无中止 Input floating, no external interrupt
GPIO_Mode_In_PU_No_I上拉输入无中止 Input pull-up, no external interrupt
GPIO_Mode_In_FL_IT浮空输入有中止 Input floating, external interrupt
GPIO_Mode_In_PU_IT上拉输入有中止 Input pull-up, external interrupt
GPIO_Mode_Out_OD_Low_Fast
开漏-输出低-高速
Output open-drain, low level, 10MHz
GPIO_Mode_Out_PP_Low_Fast
推挽-输出低-高速
Output push-pull, low level, 10MHz
GPIO_Mode_Out_OD_Low_Slow
开漏-输出低-低速
Output open-drain, low level, 2MHz
GPIO_Mode_Out_PP_Low_Slow
推挽-输出低-低速
Output push-pull, low level, 2MHz
GPIO_Mode_Out_OD_HiZ_Fast
开漏-输出高阻-高速
Output open-drain, high-impedance level, 10MHz
GPIO_Mode_Out_PP_High_Fast
推挽-输出高-高速
Output push-pull, high level, 10MHz
GPIO_Mode_Out_OD_HiZ_Slow
开漏-输出高阻-低速
Output open-drain, high-impedance level, 2MHz
GPIO_Mode_Out_PP_High_Slow
推挽-输出高-低速
Output push-pull, high level, 2MHz

其他的一些函数能够参阅固件库:

下面是GPIO操作的使用,GPIO写操作—板上的两个LED灯闪耀的代码
void main(void)
{
/* Infinite loop */
GPIO_Init(LED1_PORT, LED1_PIN, GPIO_Mode_Out_PP_Low_Fast);
GPIO_Init(LED2_PORT, LED2_PIN, GPIO_Mode_Out_PP_Low_Fast);
while (1)
{
GPIO_ToggleBits(LED1_PORT, LED1_PIN);
Delay(0xFFFF);
GPIO_ToggleBits(LED2_PORT, LED2_PIN);
Delay(0xFFFF);

}
}
GPIO读操作—查询按键点亮LED
void main(void)
{
/* Infinite loop */
GPIO_Init(LED1_PORT,LED1_PIN,GPIO_Mode_Out_PP_Low_Fast);
//输出低电平-高速10M
GPIO_Init(KEY_PORT,KEY_PIN,GPIO_Mode_In_FL_No_IT);
//输入浮空-无中止
while (1)
{
if(GPIO_ReadInputDataBit(KEY_PORT,KEY_PIN))
GPIO_WriteBit(LED1_PORT,LED1_PIN,RESET);
else
GPIO_WriteBit(LED1_PORT,LED1_PIN,SET);
}
}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ziliao/260261.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部