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.

msp430g2231用内部晶振 io ad 求程序!IAR

Other Parts Discussed in Thread: MSP430G2231

请问如何控制一个管脚让led闪烁 还有控制ad进行转换 

#include "io430.h"
int main( void )
{

WDTCTL = WDTPW + WDTHOLD;


P1DIR |= 0xff;
while(1)
{
volatile unsigned int i;
P1OUT ^= 0xff;
i = 5;


while (i--);
}
}

我自己的程序但是 运行没效果! 求指教

  • 建议先参考mspware里的例程。

  • 你好,

    我看了一下你的代码,如果只是单纯的点一个led灯,我建议你这样来处理:

    #include "msp430g2231.h"

    int main( void )
    {

    WDTCTL = WDTPW + WDTHOLD;


    P1DIR |= 0xff; 
    while(1)
    {
    volatile unsigned int i;
    P1OUT ^= 0xff; 
    i = 5000; 
    while (i--);

    }

    第一加载正确的头文件msp430g2311,while循环的时间加大,你设置的时间太小了,小到无法分辨led是亮还是暗。

    第二,我贴出来一个adc相关的例子,希望对你有帮助:

    /* --COPYRIGHT--,BSD_EX
    * Copyright (c) 2012, 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.
    *
    *******************************************************************************
    *
    * MSP430 CODE EXAMPLE DISCLAIMER
    *
    * MSP430 code examples are self-contained low-level programs that typically
    * demonstrate a single peripheral function or device feature in a highly
    * concise manner. For this the code may rely on the device's power-on default
    * register values and settings such as the clock configuration and care must
    * be taken when combining code from several examples to avoid potential side
    * effects. Also see www.ti.com/grace for a GUI- and www.ti.com/msp430ware
    * for an API functional library-approach to peripheral configuration.
    *
    * --/COPYRIGHT--*/
    //******************************************************************************
    // MSP430G2x31 Demo - ADC10, Sample A11, Lo_Batt, Set P1.0 if < 2.3V
    //
    // Description: A single sample is made on A11 (AVcc/2) with reference to
    // internal 1.5V Vref. Software sets ADC10SC to start sample and conversion
    // - ADC10SC automatically cleared at EOC. ADC10 internal oscillator times
    // sample (16x) and conversion. ADC10BUSY flag is polled for EOC. If A11
    // (AVcc/2) < 0311h (0.65V) indicating AVcc is less 2.3V, P1.0 set indicating
    // a lo_Batt condition, else reset.
    //
    // MSP430G2x31
    // -----------------
    // /|\| XIN|-
    // | | |
    // --|RST XOUT|-
    // | |
    // |A11 P1.0|-->LED
    //
    // D. Dang
    // Texas Instruments Inc.
    // October 2010
    // Built with CCS Version 4.2.0 and IAR Embedded Workbench Version: 5.10
    //******************************************************************************
    #include <msp430.h>

    int main(void)
    {
    WDTCTL = WDTPW + WDTHOLD; // Stop WDT
    ADC10CTL1 = INCH_11; // AVcc/2
    ADC10CTL0 = SREF_1 + ADC10SHT_2 + REFON + ADC10ON;
    P1DIR |= 0x01; // Set P1.0 to output direction

    for (;;)
    {
    ADC10CTL0 |= ENC + ADC10SC; // Sampling and conversion start
    while (ADC10CTL1 & ADC10BUSY); // ADC10BUSY?
    if (ADC10MEM < 0x311) // ADC10MEM = A11 > 0.65?
    P1OUT |= 0x01; // Set P1.0 LED on
    else
    P1OUT &= ~0x01; // Clear P1.0 LED off
    }
    }

    你把这两个工程嵌入到一个工程里面,就可以得到你想要的功能啦。

    看看后续有什么问题,我们再来帮你解决。

  • 建议参考 code examples, 官网下载MSPWARE

  • 晶振我用内部晶振    

    改成上面你们的程序 依然 led没反应!

  • 找到原因了 jtag的 rst没上啦 上拉就工作了 多谢各位

  •   自己解决的问题以后永远不会忘记,经验的积累很重要~