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
欠驱动则为通用模式
上一篇:MSP432P401R学习:CCS入门实验练习,使用CCS新建、导入、编译、下载工程
下一篇:MSP432库函数学习笔记-UART
推荐阅读最新更新时间:2024-11-01 11:14
设计资源 培训 开发板 精华推荐
- NSV45015WT1G 恒流 LED 灯串驱动器的典型应用
- SSM2317 无滤波器高效单声道 3W D 类音频放大器的典型差分输入配置、用户可调增益电路
- OLED 2.45寸 305x96 SH1126G 高清屏幕 显示模块
- NES游戏卡带_UNROM512
- USB FS 延长器
- LTC1693 的典型应用 - 高速单/双 N 沟道 MOSFET 驱动器
- LTC2637-HMI8 四路、8 位数模转换器的典型应用
- AD8602DRMZ-REEL 高端运算放大器电流监视器的典型应用
- LT3755IMSE-2 汽车降压-升压型 LED 驱动器的典型应用电路
- LTC3851EUD-1、1.8V/5A 转换器的典型应用电路来自具有脉冲跳跃操作的设计实例