STM8L学习笔记-GPIO端口操作(一)

STM8与STM32一样提供了固件库函数,
不过没有STM32的库完善,给的说明文档是chm格式的,名字是stm8l15x_stdperiph_lib_um.chm,这个官网有下载.
GPIO寄存器有:
输出寄存器(ODR),
输入寄存器(IDR),
方向寄存器(DDR),
控制寄存器1(CR1),
控制寄存器2(CR2);
后面三个寄存器组和可以配置为8种GPIO的模式.
而固件库函数给出了8种模式,在上面的基础上加入了输出高/输出低电平的状态。

GPIO_Mode_In_FL_No_IT浮空输入无中断
GPIO_Mode_In_PU_No_I上拉输入无中断
GPIO_Mode_In_FL_IT 浮空输入有中断
GPIO_Mode_In_PU_IT 上拉输入有中断
GPIO_Mode_Out_OD_Low_Fast 开漏-输出低-高速-10MH
GPIO_Mode_Out_PP_,Low_Fast 推挽-输出低-高速-10MH
GPIO_Mode_Out_OD_Low_Slow 开漏-输出低-低速-2MH
GPIO_Mode_Out_PP_Low_Slow 推挽-输出低-低速-2MH
GPIO_Mode_Out_OD_HiZ_Fast 开漏-输出高阻-高速-10MH
GPIO_Mode_Out_PP_High_Fast 推挽-输出高-高速-10MH
GPIO_Mode_Out_OD_HiZ_Slow 开漏-输出高阻-低速-2MH
GPIO_Mode_Out_PP_High_Slow 推挽-输出高-低速-2MH
其他的一些函数可以参考固件库:

下面是GPIO操作的应用:
输出初始化例子:
GPIO_Init(LED1_PORT, LED1_PIN, GPIO_Mode_Out_PP_Low_Fast);
输入初始化例子:
GPIO_Init(KEY_PORT,KEY_PIN,GPIO_Mode_In_FL_No_IT);
//输入浮空-无中断
读:
GPIO_ReadInputDataBit(KEY_PORT,KEY_PIN)
写:
GPIO_WriteBit(LED1_PORT,LED1_PIN,RESET);//高电平
GPIO_WriteBit(LED1_PORT,LED1_PIN,SET);//低电平
GPIO_ToggleBits(LED1_PORT, LED1_PIN);//取反

你可能感兴趣的:(STM8L)