MSP430-GPIO(一)

本文介绍了MSP430F5529微控制器的GPIO特性,包括独立可编程I/O、中断配置等,并列举了如GPIO_setAsOutputPin()、GPIO_setAsInputPin()等关键函数,用于配置IO口的输入输出模式、上下拉电阻及中断功能。通过一个简单的点灯例程展示了GPIO的使用,适合电子设计大赛的参赛者参考。
摘要由CSDN通过智能技术生成

从现在开始准备今年的省级电子设计大赛,因为比较擅长做控制类的题目,故需要再次接触MSP430,于是开启新的系列来记录我的430学习过程,采用的是MSP430F5529,一切从数据手册开始!冲!

一、GPIO介绍

1.独立可编程的独立I/ o
2.输入或输出的任何组合单独可配置的P1和P2中断。一些设备可能包含额外 的端口中断。
3.独立的输入和输出数据寄存器
4.单独配置上拉或下拉电阻

F5xxx和F6xxx系列P1-P11挂有八个IO口,PJ只有4个IO口,具体可查数据手册。

每个IO口具有独立中断向量可配置。

二、有关的GPIO函数

1.有关入口参数

在这里插入图片描述
在这里插入图片描述

2.GPIO_setAsOutputPin()

声明:void GPIO_setAsOutputPin (uint8_t selectedPort,uint16_t selectedPins );

function:配置该IO口为输出模式

3. GPIO_setAsInputPin()

声明:void GPIO_setAsInputPin (uint8_t selectedPort, uint16_t selectedPins);

function:配置该IO口为输入模式

4.GPIO_setAsPeripheralModuleFunctionOutputPin()

声明:void GPIO_setAsPeripheralModuleFunctionOutputPin(uint8_t selectedPort,uint16_t selectedPins)

function:配置该IO口为外设输出模块
//这个暂时不知道干啥的,啥时候用也不晓得。

5.voidGPIO_setAsPeripheralModuleFunctionInputPin ()

声明:void GPIO_setAsPeripheralModuleFunctionInputPin (uint8_t selectedPort, uint16_tselectedPins)

function:配置IO口为外设输入模块
//同上

6.GPIO_setOutputHighOnPin()

声明:void GPIO_setOutputHighOnPin (uint8_t selectedPort,uint16_t selectedPins )

function:输出高电平

7.GPIO_setOutputLowOnPin()

声明:void GPIO_setOutputLowOnPin (uint8_t selectedPort,uint16_t selectedPins )

function:输出低电平

8.GPIO_toggleOutputOnPin()

声明:void GPIO_toggleOutputOnPin (uint8_t selectedPort,uint16_t selectedPins )

function:翻转电平

9.GPIO_setAsInputPinWithPullDownResistor()

声明:void GPIO_setAsInputPinWithPullDownResistor (uint8_t selectedPort,uint16_t selectedPins )

function:设置下拉电阻

10.GPIO_setAsInputPinWithPullUpResistor()

声明:void GPIO_setAsInputPinWithPullUpResistor (uint8_t selectedPort,
uint16_t selectedPins )

function:设置上拉电阻

11.GPIO_getInputPinValue()

声明:uint8_t GPIO_getInputPinValue (uint8_t selectedPort,
uint16_t selectedPins )

function:获取电平

12.GPIO_enableInterrupt()

声明:void GPIO_enableInterrupt (uint8_t selectedPort,uint16_t selectedPins )

function:打开引脚的IO中断

13.GPIO_disableInterrupt()

声明:void GPIO_disableInterrupt (uint8_t selectedPort,uint16_t selectedPins )

function:禁用IO端口中断

14.GPIO_getInterruptStatus()

声明:uint16_t GPIO_getInterruptStatus (uint8_t selectedPort,uint16_t selectedPins )

function:获取IO端口中断状态

15.GPIO_clearInterrupt()

声明:void GPIO_clearInterrupt (uint8_t selectedPort,uint16_t selectedPins )

function:清楚IO中断标志位

16.GPIO_selectInterruptEdge()

声明:void GPIO_selectInterruptEdge (uint8_t selectedPort,uint16_t selectedPins,uint8_t edgeSelect )

function:设置中断是上升沿还是下降沿

17.GPIO_setDriveStrength()

声明:void GPIO_setDriveStrength (uint8_t selectedPort,uint16_t selectedPins,uint8_t driveStrength )

function:设置IO口的输出驱动强度(这个不清楚有啥用,应该是控制输出信号强度的)

例程1 点灯

#include <driverlib.h>


/**
 * main.c
 */
int main(void)
{
	WDTCTL = WDTPW | WDTHOLD;	// stop watchdog timer
	
	GPIO_setAsOutputPin(GPIO_PORT_P1,GPIO_PIN0);
	GPIO_setOutputHighOnPin(GPIO_PORT_P1,GPIO_PIN0);

	return 0;
}

待续…

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值