TI中文支持网
TI专业的中文技术问题搜集分享网站

MSP432P401R: MSP432运行速率问题

Part Number: MSP432P401R

遇到与原贴类似问题,请求解答

Susan Yang:

我们会在测试确认后给您回复

,

Susan Yang:

若是可以的话,请给出您的代码和相关说明,谢谢

,

Gary:

代码和原始问题中给出的类似,跑出来结果基本一直。配置系统时钟MCLK为外部晶振48MHz,从P4.3输出MCLK时钟,波形周期为20.8ns,没问题。执行IO口连续翻转语句,输出波形周期在600多ns。向了解为什么只有两句IO口翻转语句就用了30多到40个时钟周期?

,

Susan Yang:

以下是我的测试代码:

/* --COPYRIGHT--,BSD* Copyright (c) 2017, Texas Instruments Incorporated* All rights reserved.** Redistribution and use in source and binary forms, with or without* modification, are permitted provided that the following conditions* are met:** *Redistributions of source code must retain the above copyright*notice, this list of conditions and the following disclaimer.** *Redistributions in binary form must reproduce the above copyright*notice, this list of conditions and the following disclaimer in the*documentation and/or other materials provided with the distribution.** *Neither the name of Texas Instruments Incorporated nor the names of*its contributors may be used to endorse or promote products derived*from this software without specific prior written permission.** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.* --/COPYRIGHT--*/
/******************************************************************************* MSP432 Empty Project** Description: An empty project that uses DriverLib**MSP432P401*------------------*/|\||*| ||*--|RST|*||*||*||*||*||* Author:*******************************************************************************/
/* DriverLib Includes */
#include <ti/devices/msp432p4xx/driverlib/driverlib.h>#include <ti/devices/msp432p4xx/inc/msp432p401r_classic.h>
#include <arm_math.h>
#include <arm_const_structs.h>/* Standard Includes */
#include <stdint.h>
#include <stdbool.h>int main(void)
{/* Stop Watchdog*/MAP_WDT_A_holdTimer();//![Simple CS Config]/* Configuring pins for peripheral/crystal usage and LED for output */MAP_GPIO_setAsPeripheralModuleFunctionOutputPin(GPIO_PORT_PJ,GPIO_PIN3 | GPIO_PIN2, GPIO_PRIMARY_MODULE_FUNCTION);MAP_GPIO_setAsOutputPin(GPIO_PORT_P1, GPIO_PIN0);/* Just in case the user wants to use the getACLK, getMCLK, etc. functions,* let's set the clock frequency in the code.*/CS_setExternalClockSourceFrequency(32000,48000000);/* Starting HFXT in non-bypass mode without a timeout. Before we start* we have to change VCORE to 1 to support the 48MHz frequency */MAP_PCM_setCoreVoltageLevel(PCM_VCORE1);MAP_FlashCtl_setWaitState(FLASH_BANK0, 1);MAP_FlashCtl_setWaitState(FLASH_BANK1, 1);CS_startHFXT(false);/* Initializing MCLK to HFXT (effectively 48MHz) */MAP_CS_initClockSignal(CS_MCLK, CS_HFXTCLK_SELECT, CS_CLOCK_DIVIDER_1);//![Simple CS Config]P3OUT = 0x00;P3OUT = 0x01;P3OUT = 0x00;P3OUT = 0x01;P3OUT = 0x00;P3MAP01 = 0x00;P3MAP01 = 0x01;P3MAP01 = 0x00;/* Configuring SysTick to trigger at 12000000 (MCLK is 48MHz so this will* make it toggle every 0.25s) */MAP_SysTick_enableModule();MAP_SysTick_setPeriod(12000000);MAP_Interrupt_enableSleepOnIsrExit();MAP_SysTick_enableInterrupt();/* Enabling MASTER interrupts */MAP_Interrupt_enableMaster();while(1){MAP_PCM_gotoLPM0();}}void SysTick_Handler(void)
{GPIO_setOutputHighOnPin(GPIO_PORT_P1, GPIO_PIN0);GPIO_setOutputLowOnPin(GPIO_PORT_P1, GPIO_PIN0);}

,

Gary:

你好,看了您的源码和运行对比了下,为什么我这边PXOUT = 0x00的指令周期是您的2倍呢?

,

Susan Yang:

Gary 说:为什么我这边PXOUT = 0x00的指令周期是您的2倍呢?

应该和编译器的优化有关。您看一下我们两者的汇编语句是不相同的。

您可以尝试改变为不同优化等级来具体看一下

赞(0)
未经允许不得转载:TI中文支持网 » MSP432P401R: MSP432运行速率问题
分享到: 更多 (0)