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.

[参考译文] MSP430G2553:PWM MSP430G2553

Guru**** 2524550 points
Other Parts Discussed in Thread: MSP430G2553, MSP430F2132

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/702207/msp430g2553-pwm-msp430g2553

器件型号:MSP430G2553
主题中讨论的其他器件: MSP430F2132

您好!
我在使用 MSP430F2132卡的 Proteus 8.6软件中对该固件进行仿真、该固件在 PWM 和 ADC 上运行良好、但我需要使用 MSP430G2553卡、并且我没有获得 PWM 信号输出结果。 是否有人可以指导我如何为 MSP430G2553获取相同的固件?

谢谢!

/*********
* 仪表板 *
* Sistemas Embarcados *
**
* VERSÃO:1.0 *
*数据:2018年6月6日 *
*** /

/
* DESCRIÇÃO Geral do 固件 *
*** /*



/*/*================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================


1.ARQUIVOS DE DEFINIÇÕES (包括)
=================================================================================================================================== //
//#include "msp430F2132.h"// Biblicota domicrocontrolador MSP430F2132
#include "msp430g2553.h"
#include 
int valor=80;

/*===========================================================================================
2. DECLARAÇÕES
=========================================================================================================== */
void configura_pwm (void);

void configura_dco (void);


/*============================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================
3. PROTOTIPAGEM DE FUNÇÕES
============================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================ */

void configura_adc (void);

void configura_dco (void);


/*================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================
FUNÇÃO 主体
==================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================== */

int main( void ){

WDTCTL = WDTPW + WDTHOLD;//解串 o 看门狗计时器
P1DIR |= 0xFF; // Configura P1 como Saída
P1SEL |= BIT3;// Função 交替参数 P1.2 (TA1) e P1.3 (TA2)

configura_pwm ();
// Configurações WDTCTL
= WDTPW + WDTHOLD; // Desativa o 安全装置定时器

configura_DCO ();

// Configuração das Portas
P1DIR = 0xFF; // Configura todos OS bits como saída
P1OUT = 0x00; // Limpa saída
valor=ADC10MEM;
configura_adc ();
valor=ADC10MEM;
for (;;)
{
valor=ADC10MEM;
ADC10CTL0 |= ENC + ADC10SC; // inicia amesoagem e conversão

_bis_SR_register (CPUOFF + GIE);// Coloca no modo LPM0 e habilita
// interrupção Geral
CCR1 =(512-valor);
}

====================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================
6. FUNÇÃO DO USUÁRIO
==================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================== //

void configura_adc ()
{
ADC10CTL1 = INCH_1 + ADC10DIV_3; //通道3、ADC10CLK/3
ADC10CTL0 = SREF_0 + ADC10SHT_3 + ADC10ON + ADC10IE;// Vcc 和 VSS 作为参考、64个时钟周期的采样和保持、ADC 打开、ADC 中断启用
ADC10AE0 |= BIT3;
}

void configura_pwm ()
{
CCR0 = 512; // período DO PWM (传染性 DO TAR) 512
CCTL1 = OUTMOD_7; // Modo de operação 7复位/置位
CCR1 =评估器; //占空比(ciclo ativo = 75%) 384
CCTL2 = OUTMOD_7; // Modo de operação 7复位/置位
CCR2 = 50; //占空比(ciclo ativo = 25%) 128.
TACTL = tassel_2 + MC_1 + ID_2;// Fonte de CLOCK SMCLK、MODO de convatem crescente
}

// Rotina de Tratamento de interrupção ISR do ADC10
#pragma vector=ADC10_vector
__interrupt void ADC10_ISR (void)
{
__BIC_SR_EXIT (UCPFF); // Retira a CPU do mdo LPM0
}

// Calibrando a frequência do DCO
void configura_DCO (void)
{
if (CALBC1_1MHz =0xFF || CALDCO_1MHz == 0xFF)
{
while (1); // se constantes de calibração apagadas
// aguardar CPU!!
}
// 1MHz
BCSCTL1 = CALBC1_1MHz; // Configura intervero
DCOCTL = CALDCO_1MHz; // Configura DCO + modulação */

}/*============================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================



FIM 执行 ARQUIVO
================================================================================================================================================================================================================================================ * 

MSP430F2132的测试结果

MSP430g2553的结果

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    > P1SEL |= BIT3; // Função 交替参数 P1.2 (TA1) e P1.3 (TA2)
    要在 P1.2上获得 TA0.1输出、应参阅[参考数据表 SLAS735J 表16]:
    > P1SEL |= BIT2; // Função 交替参数 P1.2 (TA1)
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    正确、但我无法执行0至3.3VDC 的输入读数

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我不确定我是否理解这一说法。 在进行建议的更改后、您会得到什么结果?