MSP432--GPIO IAR环境

发布者:温柔心情最新更新时间:2020-04-05 来源: eefocus关键字:MSP432  GPIO  IAR环境 手机看文章 扫描二维码
随时随地手机看文章

GPIO
1.特点:众多的独立可编程I/O口
任意端口的输入输出组合
中断
独立的输入输出寄存器
独立可配置的上拉下拉寄存器

2.分布:总共有P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 PJ
P1-P10共78个I/O,PJ有6个I/O
P1.0,P1.4,P1.5,P3.0,P3.4,P3.5,P6.6,P6.7自带硬件滤波,消抖
P1.2-->BSLRXD  P1.3-->BSLTXD
SPI引脚:P1.4-->BSLSTE P1.5-->BSLCLK P1.6-->BSLSIMO P1.7-->BSLSOMI
IIC引脚:P3.6-->BSLSDA P3.7-->BSLSCL
总共100引脚 ZXH封装

PS:在库函数里出现PA,PB,PC,PD,分别代表P1/P2,P3/P4,P5/P6,P7/P8

3.库函数说明:固件库内总共有20个相关函数
(1)void GPIO_clearInterruptFlag( uint_fast8_t selectedPort,
uint_fast16_t selectedPins)//清除选中引脚的中断标志,ONLY P1和P2口上
   selectedPort:GPIO_PORT_P1
                      GPIO_PORT_P2
                      GPIO_PORT_PA//可输入的内容
   selectedPins:GPIO_PIN0
                      GPIO_PIN1
                      GPIO_PIN2
                      GPIO_PIN3
                      GPIO_PIN4
                      GPIO_PIN5
                      GPIO_PIN6
                      GPIO_PIN7
                      GPIO_PIN8
                      GPIO_PIN9
                      GPIO_PIN10
                      GPIO_PIN11
                      GPIO_PIN12
                      GPIO_PIN13
                      GPIO_PIN14
               GPIO_PIN15
Returns None

例:GPIO_clearInterruptFlag(GPIO_PORT_P1,GPIO_PIN0);//清除P1.0的中断标志

(2)void GPIO_disableInterrupt(uint_fast8_t selectedPort,uint_fast16_t selectedPins)//禁用所选取引脚的中断,ONLY P1和P2
   selectedPort:
   selectedPins:
   Returns: //同函数(1)

(3)void GPIO_enableInterrupt(uint_fast8_t selectedPort,uint_fast16_t selectedPins)//启用所选引脚的中断,ONLY P1和P2
   selectedPort:
   selectedPins:
   Returns://同函数(1)

(4)uint_fast16_t GPIO_getEnabledInterruptStatus(uint_fast8_t selectedPort)//
                                                                          //L838 gpio.h
   selectedPort:GPIO_PORT_P1
                      GPIO_PORT_P2
                      GPIO_PORT_P3
                      GPIO_PORT_P4
                      GPIO_PORT_P5
                      GPIO_PORT_P6
         GPIO_PORT_P7
         GPIO_PORT_P8
         GPIO_PORT_P9
         GPIO_PORT_P10
         GPIO_PORT_PJ
  Return:GPIO_PIN0
      GPIO_PIN1
      GPIO_PIN2
      GPIO_PIN3
      GPIO_PIN4
        GPIO_PIN5
      GPIO_PIN6
      GPIO_PIN7
      GPIO_PIN8
          GPIO_PIN9
      GPIO_PIN10
      GPIO_PIN11
        GPIO_PIN12
      GPIO_PIN13
      GPIO_PIN14
      GPIO_PIN15
       PIN_ALL8
         PIN_ALL16 //默认返回0

(5)uint8_t GPIO_getInputPinValue(uint_fast8_t selectedPort
     ,uint_fast16_t selectedPins)//获取被选择引脚的输入状态
  selectedPort://同(4)
  selectedPins:
  Returns:GPIO_INPUT_PIN_HIGH //1
         GPIO_INPUT_PIN_LOW //O

(6)uint_fast16_t GPIO_getInterruptStatus(uint_fast8_t selectedPort
            ,uint_fast16_t selectedPins)//获取P1和P2端口的
                                                    //中断状态,与(4)不同
   selectedPort:
   selectedPins://同(1)
   Return://同(4),无PIN_ALL8 和PIN_ALL16

(7)void GPIO_interruptEdgeSelect(uint_fast_t selectedPort,uint_fast16_t selectedPins,uint_fast8_t edgeSelect) //选择引脚,确定
                                      //是上升沿触发中
                                      //断还是下降沿
   Return:GPIO_HIGH_TO_LOW_TRANSITION
          GPIO_LOW_TO_HIGH_TRANSITION

(8)void GPIO_registerInterrupt(uint_fast8_t selectedPort,void(*)(void) intHandler)//


(9)void GPIO_setAsInputPin(uint_fast8_t selectedPort ,uint_fast16_t selectedPins)        //配置选择的引脚
                             //为输入,相当于
                             //P1DIR &=~

(10)void GPIO_setAsInputPinWithPullDownResistor(uint_fast8_t selectedPort
       uint_fast16_t selectedPins)
                               //配置选择的引脚
                                //为下拉

(11)void GPIO_setAsInputPinWithPullUpResistor(uint_fast8_t selectedPort
       uint_fast16_t selectedPins)
                               //配置选择的引脚
                               //为上拉

(12)void GPIO_setAsOutputPin(uint_fast8_t selectedPort
      ,uint_fast16_t selectedPins)
                               //配置选择的引脚
                               //为输出

(13)void GPIO_setAsPeripheralModuleFunctionInputPin(uint_fast8_t selectedPort,
       uint_fast16_t selectedPins,uint_fast8_t mode)
                                //选择引脚的功能位
                               //第一功能,第二功
                              //能,第三功能,输入

(14) void GPIO_setAsPeripheralModuleFunctionOutputPin ( uint_fast8_t selectedPort, uint_fast16_t selectedPins, uint_fast8_t mode )
                             //选择引脚的功能位
                             //第一功能,第二功
                             //能,第三功能,输出
(15)void GPIO_setDriveStrengthHigh(uint_fast8_t selectedPort
      ,uint_fast8_t selectedPins)
         //

----未完待续----

关键字:MSP432  GPIO  IAR环境 引用地址:MSP432--GPIO IAR环境

上一篇:MSP432学习-01-CCS编译器安装及驱动库环境搭建
下一篇:用IAR新建TexasInstruments MSP432E401Y工程

推荐阅读最新更新时间:2024-11-11 14:05

S5PV210开发 -- GPIO
上一篇文章中,想要让LED亮起来、蜂鸣器响起来,需要控制对应的引脚。但是使用程序该如何控制引脚的电平变化呢?这就是这篇要讲的内容了。 一、什么是 GPIO GPIO 是 General Purpose Input Output的简称。即,通用输入/输出。 二、S5PV210 GPIO 查看 S5PV210 芯片手册 第 92 页 (1)概述 S5PV210包含237个多功能输入/输出端口引脚和142个存储器端口引脚。总共有34个端口组和2个内存端口组, 如下所示: •GPA0:8个输入/输出端口 - 2xUART带流量控制 •GPA1:4个输入/输出端口 - 2xUART不带流量控制或1xUART带流量控制 •GP
[单片机]
S5PV210开发 -- <font color='red'>GPIO</font>
arm LPC210X GPIO操作有关的寄存器
通常的名称 描述 属性 复位值 PORT0的地址和名称 IOPIN GPIO的管脚值。不管当前管脚的方向如何,都能从此寄存器读取GPIO的状态。 读/写 NA 0xE002 8000 IO0PIN IOSET GPIO置高电平寄存器。写1则相应的管脚输出高电平。 读/写 0x0000 0000 0xE002 8004 IO0SET IODIR GPIO方向设置寄存器。控制各个引脚的方向。 读/写 0x0000 0000 0xE002 8008 IO0DIR IOCLR GPIO置低电平寄存器。写1则相应的管脚输出低电平。 只写 0x0000 0000 0xE002 800C IO0CLR GPIO有两种工作方式
[单片机]
STM32学习笔记(三) STM32的GPIO的深入学习
STM32的开发学习主要涉及软硬件两个部分的实现,包含众多外设和总线的理解配置。STM32的整个学习曲线并不陡峭,但入门却相当困难,因此在学习之初,多动手实验和测试相当重要,GPIO作为整个STM32与外部连接的端口,难度不高,却十分重要。从深入解析GPIO外设开始,一步步熟悉掌握STM32各个模块,就是STM32的整个学习流程。 GPIO模块回顾 在嵌入式软件开发中,几乎所有功能的实现都需要GPIO端口输出才能发挥作用。GPIO端口的操作包括时钟使能,寄存器配置,端口信息修改。这些基础的东西上一章已经讲过,我这里就不在细说,我这里主要讲GPIO涉及到的其它库函数。 1. 读取GPIO端口数据函数 GPIO_ReadInp
[单片机]
STM32学习笔记(三) STM32的<font color='red'>GPIO</font>的深入学习
STM32的8种GPIO输入输出模式深入详解
输入模式 -输入浮空(GPIO_Mode_IN_FLOATING) -输入上拉(GPIO_Mode_IPU) -输入下拉(GPIO_Mode_IPD) -模拟输入(GPIO_Mode_AIN) 输出模式 -开漏输出(GPIO_Mode_Out_OD) -开漏复用功能(GPIO_Mode_AF_OD) -推挽式输出(GPIO_Mode_Out_PP) -推挽式复用功能(GPIO_Mode_AF_PP) 输入浮空:浮空就是逻辑器件与引脚即不接高电平,也不接低电平。由于逻辑器件的内部结构,当它输入引脚悬空时, 相当于该引脚接了高电平。一般实际运用时,引脚不建议悬
[单片机]
STM32的8种<font color='red'>GPIO</font>输入输出模式深入详解
STM32自学笔记(一)GPIO配置与使用
由于是stm32学习的第一个章节,会啰嗦一些,旨在帮助和我一样刚接触stm32时一头雾水的朋友,更好地理解、学会它。 很多学过51,刚开始学stm32的朋友可能会和我一样十分不适应,在我看来,stm32与51代码最大的区别在于,stm32几乎所有外设都要进行配置过后才能使用,比如说你想操作一个IO口,那么首先要对这个IO口所挂载的时钟进行使能,再对此IO口进行配置、使能。这也是为什么51点亮一个LED只需要一行代码,你找到的stm32的代码却看着都让人头大的原因。 为什么要进行初始化(配置)?就GPIO来说,51的IO口很简单,能且只能实现高低电平的输入输出;而stm32可以在此基础上,指定GPIO输入输出的类型,速率
[单片机]
Freescale MC9S12G128 GPIO
MC9S12G-Family Block Diagram 不同芯片封装端口: Port J相关寄存器 The PIM includes these distinctive registers: • Data registers and data direction registers for ports A, B, C, D, E, T, S, M, P, J and AD when used as general-purpose I/O • Control registers to enable/disable pull devices and select pullups/pulldowns on po
[单片机]
Freescale MC9S12G128 <font color='red'>GPIO</font>
STM32f4 GPIO的基础使用-流水灯
#include stdio.h #include stm32f4xx.h void show(void) { int a,b; for(a=2000;a 0;a--) for(b=1200;b 0;b--); } int main(void) { GPIO_InitTypeDef GPIO_InitStructure; //使能GPIOF组引脚的时钟 RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOF,ENABLE); //使能GPIOE组引脚的时钟 RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOE,EN
[单片机]
msp432记录-timer
timer驱动API非常简单,就只有几个,开始计时,停止计时,获得计数值。认识初始化参数结构体即可 typdef struct { Timer_Mode timerMode; //模式 Timer_PeriodUnits periodUnits; //计数周期单位 Timer_CallBackFxn timerCallback; //回调函数 uint32_t period; //计数周期,联系periodUnits } //下面记录一下具体的数据结构参数 //模式结构体 注意,某些定时器可以被配置为向上计数和向下计数模式,通过Timer_getCount()得到计数值 typedef enum{ Timer
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved