TI中文支持网
TI专业的中文技术问题咨询交流网站

如何使用MSP432E401Y使一个IO口输出高电平

我通过官方例程修改设置一个IO口周期的输出高低电平,但使用示波器或万用表测量时电平没有变化,但是换一个接LED的IO口就有一亮一灭的现象,这是为什么?

下面是我的代码:

int main(void)
{MAP_SysCtlClockFreqSet((SYSCTL_XTAL_25MHZ | SYSCTL_OSC_MAIN |SYSCTL_USE_PLL | SYSCTL_CFG_VCO_480),120000000);MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB);while(!(SysCtlPeripheralReady(SYSCTL_PERIPH_GPIOB)));MAP_GPIOPinTypeGPIOOutput(GPIO_PORTB_BASE, GPIO_PIN_4);GPIOB->PUR |= GPIO_PIN_4;while(1){MAP_GPIOPinWrite(GPIO_PORTB_BASE, GPIO_PIN_4 , 0);delay_us(500);MAP_GPIOPinWrite(GPIO_PORTB_BASE, GPIO_PIN_4 , 1);delay_us(500);}
}
Susan Yang:

单纯程序看是没有什么问题的。请问您使用的是官方开发板还是您自己的板子?请给出板子的型号或者该IO的相关原理图。
明天我也会拿开发板测试一下回复

user6378692:

回复 Susan Yang:

是官方开发板,MSP-EXP432E401Y

Susan Yang:

回复 user6378692:

谢谢您的反馈!我暂时没有该开发板,明天拿MSP432P401的板子测试后给您回复,谢谢

Susan Yang:

回复 Susan Yang:

我今天用板子测试了一下,使用

/* Configuring P1.0 as output */ MAP_GPIO_setAsOutputPin(GPIO_PORT_P1, GPIO_PIN0);

语句之后就会输出高电平

Susan Yang:

回复 user6378692:

int main(void)
{volatile uint32_t ii;/* Halting the Watchdog */MAP_WDT_A_holdTimer();/* Configuring P1.0 as output */MAP_GPIO_setAsOutputPin(GPIO_PORT_P1, GPIO_PIN0);
}

user6378692:

回复 Susan Yang:

你好,我在432E401Y工程里使用此API函数,调用失败,显示是没有此API函数的定义
unresolved symbol MAP_GPIO_setAsOutputPin, first referenced in ./adc0_singleended_hwaverage_singlechannel_singleseq.obj

Susan Yang:

回复 user6378692:

/* DriverLib Includes */
#include <ti/devices/msp432p4xx/driverlib/driverlib.h>

/* Standard Includes */
#include <stdint.h>
#include <stdbool.h>

我的程序是使用了driverlib的

user6378692:

回复 Susan Yang:

我的例程也包含了driverlib,但还是调用失败,我也去driverlib/GPIO.h中看了,msp432E401Y中也没有此函数定义,我发现你使用的是P4xx的driverlib库,可能是两个不同的板子库函数也是不一样的

Susan Yang:

回复 user6378692:

抱歉,之前忘记说了…

我手边只有MSP432P401R的板子,所以一直使用的这个来测试的

赞(0)
未经允许不得转载:TI中文支持网 » 如何使用MSP432E401Y使一个IO口输出高电平
分享到: 更多 (0)