您的位置:首页 > 其它

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

2017-01-11 15:50 597 查看
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);//取反
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: