简述MSP432Pxx-GPIO库的各函数
1,GPIO模式设置,PxDIR寄存器
2,GPIO复用功能配置,PxSEL寄存器
3,GPIO输出电平设置,PxOUT寄存器
4,GPIO输入模式下上/下拉电阻选择,PxREN寄存器
5,GPIO输入读取模式设置,PxIN寄存器
6,GPIO中断模块设置
1,中断使能寄存器PxIE
2,获取选择I/O口上的中断状态
3,清除选择I/O口的中断标志,PxIFG寄存器
4,设置GPIO中断触发沿,PxIES寄存器
5,确保提供的GPIO已经开启中断
6,中断回调函数
7,GPIO驱动强度设置
1,GPIO模式设置,PxDIR寄存器
void GPIO_setAsOutputPin(uint_fast8_t selectedPort,uint_fast16_t selectedPins);
//设置GPIO为输出模式
void GPIO_setAsInputPin(uint_fast8_t selectedPort,uint_fast16_t selectedPins);
//设置GPIO为输入模式
可设置的GPIO口可参考库函数注释
2,GPIO复用功能配置,PxSEL寄存器
void GPIO_setAsPeripheralModuleFunctionOutputPin(uint_fast8_t selectedPort,
uint_fast16_t selectedPins,uint_fast8_t mode);
//设置GPIO输出模式下的复用功能
void GPIO_setAsPeripheralModuleFunctionInputPin(uint_fast8_t selectedPort,
uint_fast16_t selectedPins,uint_fast8_t mode);
//设置GPIO输入模式下的复用功能
//! module function.
//! Valid values are:
//! - \b GPIO_PRIMARY_MODULE_FUNCTION
//! - \b GPIO_SECONDARY_MODULE_FUNCTION
//! - \b GPIO_TERTIARY_MODULE_FUNCTION
不设置复用功能则为通用I/O口
设置复用功能则有三种可选模式
1,选择主模块功能(GPIO_PRIMARY_MODULE_FUNCTION)
2,选择辅助模块功能(GPIO_SECONDARY_MODULE_FUNCTION)
3,选择第三模块功能(GPIO_TERTIARY_MODULE_FUNCTION)
后两种模式需要选择输出/入模式功能设置来作为不同功能,第一种模式通常不分输入输出
此部分需参考datasheet的6.12节引脚功能配置
3,GPIO输出电平设置,PxOUT寄存器
void GPIO_setOutputHighOnPin(uint_fast8_t selectedPort,uint_fast16_t selectedPins);
//设置GPIO为高电平输出
void GPIO_setOutputLowOnPin(uint_fast8_t selectedPort,uint_fast16_t selectedPins);
//设置GPIO为低电平输出
void GPIO_toggleOutputOnPin(uint_fast8_t selectedPort,uint_fast16_t selectedPins);
//设置GPIO输出翻转模式,即高低电平循环出现
4,GPIO输入模式下上/下拉电阻选择,PxREN寄存器
void GPIO_setAsInputPinWithPullDownResistor(uint_fast8_t selectedPort,
uint_fast16_t selectedPins);
//设置GPIO为输入下拉模式
void GPIO_setAsInputPinWithPullUpResistor(uint_fast8_t selectedPort,
uint_fast16_t selectedPins);
//设置GPIO为输入上拉模式
I/O口在悬空时收到噪声干扰可能出现不可预知的电平信号,通过上下拉电阻即可将I/O口钳制在确定的电平状态。
5,GPIO输入读取模式设置,PxIN寄存器
uint8_t GPIO_getInputPinValue(uint_fast8_t selectedPort,uint_fast16_t selectedPins);
//读取输入引脚的电平状态
读取GPIO引脚的输入电平
6,GPIO中断模块设置
1,中断使能寄存器PxIE
void GPIO_enableInterrupt(uint_fast8_t selectedPort,uint_fast16_t selectedPins);
//打开中断功能
void GPIO_disableInterrupt(uint_fast8_t selectedPort,uint_fast16_t selectedPins);
//关闭中断功能
2,获取选择I/O口上的中断状态
uint_fast16_t GPIO_getInterruptStatus(uint_fast8_t selectedPort,uint_fast16_t
selectedPins);
//获取选择I/O口上的中断状态
只有P1,P2,PA三个端口具有此功能
3,清除选择I/O口的中断标志,PxIFG寄存器
void GPIO_clearInterruptFlag(uint_fast8_t selectedPort,uint_fast16_t selectedPins);
//清除选择I/O口的中断标志
只有P1,P2,PA三个端口具有此功能
4,设置GPIO中断触发沿,PxIES寄存器
void GPIO_interruptEdgeSelect(uint_fast8_t selectedPort,uint_fast16_t selectedPins,
uint_fast8_t edgeSelect);
//设置GPIO中断触发沿
可选择GPIO_LOW_TO_HIGH_TRANSITION即上升沿
或GPIO_HIGH_TO_LOW_TRANSITION即下降沿
5,确保提供的GPIO已经开启中断
uint_fast16_t GPIO_getEnabledInterruptStatus(uint_fast8_t selectedPort);
//
获取开启的中断状态标志
6,中断回调函数
void GPIO_registerInterrupt(uint_fast8_t selectedPort,void (*intHandler)(void));
//绑定中断时执行的函数
void GPIO_unregisterInterrupt(uint_fast8_t selectedPort);
//解绑中断时执行的函数
7,GPIO驱动强度设置
void GPIO_setDriveStrengthHigh(uint_fast8_t selectedPort,uint_fast8_t selectedPins);
//设置GPIO为全驱动模式
void GPIO_setDriveStrengthLow(uint_fast8_t selectedPort,uint_fast8_t selectedPins);
//设置GPIO为欠驱动模式
全驱动模式可提高带载能力,最大输出电流可达20mA
可设置为全驱动模式的I/O口有P2.0~P2.3文章来源:https://www.toymoban.com/news/detail-575575.html
欠驱动则为通用模式文章来源地址https://www.toymoban.com/news/detail-575575.html
到了这里,关于MSP432库函数学习笔记-GPIO的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!