This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] MSP430F67791A:外设功能选择的 P2SEL 错误

Guru**** 2515105 points
Other Parts Discussed in Thread: MSP430G2452

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/943457/msp430f67791a-p2sel-error-for-peripheral-function-selection

器件型号:MSP430F67791A
主题中讨论的其他器件: MSP430G2452

这是能量计开发中使用的代码。 我使用能量计 ASIC 进行开发。 我需要使用 P2.2引脚的外设功能。 将使用计时器捕获功能。

#include
#include
#include
#include
#include
#include D
#include
#include

#if 已定义(mesh_NET_support)
#include "mesh_structure.h"
#endif

//#if defined (__GNU__)

void initTimer_A (void);

unsigned int presentation=0;
unsigned int lasttime=0;
unsigned int buffer=0;
unsigned char i=0;

int main (空)

WDTCTL = WDTPW + WDTHOLD;//停止看门狗计时器
//BCSCTL1 = CALBC1_1MHz;//将 DCO 设置为1MHz
//DCOCTL = CALDCO_1MHz;
P2DIR &= BIT2;
P2SEL |= BIT2;
TA0CTL = TACLR;
TA0CTL = tassel_1 + ID_2 + MC_2;
TA0CCTL2 = CM_2 + CCIS_0 + SCS + CAP + CCIE;
_BIS_SR (LPM0_Bits + GIE);
while (1);

//定时器 ISR
#pragma vector = TIMER0_A1_vector
_interrupt void Timer_A1_CCR2_ISR (void)

开关(TA0IV)
案例04:

当前时间= TA0CCR2;
Buffer = lasttime - presprestime;
printf ("period =%d"、buffer);
TA0CCTL2 &=~CCIFG;
lasttime = TA0CCR2;

我想测量给端口2的引脚2的信号的时间周期。 我使用 IAR 进行开发。 当我从代码中删除 P2SEL 行时、它会成功编译。 但当我将其包括在内时、会出现错误  

错误[Pe020]:标识符"P2SEL"未定义


当我使用不同的器件型号(msp430g2452 launchpad)运行相同的代码时 、代码会成功编译。

请帮助我解决此问题。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您需要的寄存器名为 P2SEL0。 [参考数据表(SLAS983A)表6-35和6-68。] 这似乎与用户指南(SLAU208Q)表1-2相冲突、但数据表具有权威性。

    未经请求:  

    >P2DIR &= BIT2;

    这种情况只会意外发生。 尝试:

    > P2DIR &=~BIT2;

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢 Bruce 的帮助。 它解决了这个问题。 我在将计算值(printf 输出)打印到 I/O 窗口时仍然遇到问题。 可以在这方面帮助我吗?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    也许、虽然我不使用 printf/CIO、所以我对它不是很了解。

    如果我不在这里、会有很多聪明的人在闲逛、他们可以为您提供帮助。 如果为新问题创建新主题帖、您可能会得到更多关注。