主题中讨论的其他器件: MSP430FR6989
工具/软件:Code Composer Studio
您好,
我正在制作捕捉程序。
我正在使用 MSP430FR6972 (我正在制作脉冲计数器)
我的目的 是1)通过捕获程序获取模拟值、
2)、然后将值发送到示波器(以检查频率)。
我还在使用 UART 程序,并将"Tx Data"检查为范围
(我不确定……我做的是正确还是不正确…… 捕获接收到的数据..... 通过 UART 发送)
但我在示波器处获得了一些随机值(某些时间 MHz、有时是 KHz)
unsigned int timerAcapturePointer = 0;
int main (void)
{
WDTCTL = WDTPW | WDTHOLD; //停止看门狗计时器
PM5CTL0 &=~LOCKLPM5;
//================================= 引脚已定义================================================================================
P1SEL0 |=BIT3; //脉冲捕捉
P1SEL1 &=~BIT3;
P1DIR &=~BIT3;
//======================================== clock========================================================================================
/*
//时钟系统设置
CSCTL0_H = CSKEY >> 8; //注释
CSCTL2 |= SE拉美 经济体系7; //注释
CSCTL2 |= SELA_VLOCLK; //注释
CSCTL0_H = 0x00; //注释
//_delay_cycles (1000); //注释
*/
CSCTL0_H = CSKEY >> 8;
CSCTL1 = DCOFSEL_0;
CSCTL2 = SELA_LFXTCLK | SELESS__DCOCLK | SELM_DCOCLK;
CSCTL3 = DIVA__1 | DIVS__1 | DIVM__1;
CSCTL4 &=~LFXTOFF;
操作
{
CSCTL5 &=~LFXTOFFG;
SFRIFG1 &=~OFIFG;
} while (SFRIFG1&OFIFG);
CSCTL0_H = 0;
//============================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================
// lcd_init(); //注释
UART_INIT();
// adc (); //tal意见///=================================
捕获========================================================================================================================
// Timer0_A3设置
TA0CCTL2 = CM_1 | CCIS_1 | SCS | CAP | CCIE;//捕获上升沿,使用 CCI2B=ACLK,同步捕获,启用捕获模式,启用捕获中断
TA0CTL = tassel_SMCLK | MC_Continuous;//使用 SMCLK 作为时钟源
,启用 PMIS_1中断模式;{_PMIS_Rsbis}在 PM_bis_bis_bis}寄存器中的
中断模式下
#pragma vector = TIMER0_A1_vector
__interrupt void Timer0_A1_ISR (void)
{
switch (__even_in_range (TA0IV、TA0IV_TAIFG)}{
案例 TA0IV_TA0CCR1:
中断;
案例 TA0IV_TA0CCR2:
timerAcapturePointer = TA0CCR2;
putchar (timerAcapturePointer);
_DELAY_CYCLES (100000);
LPM3_EXIT;
中断;
案例 TA0IV_TA0IFG:
中断;
默认值:
break;
}
我
正在使用 MSP430FR6972。
我想检查"示波器"上的频率。
UART 没有问题。
您能检查一下吗、
请告诉我 …
我在哪里出错了?
(我也不知道该计划… 请回复)
此致、
Srijit。