Quantcast
Channel: MSP 低功耗微控制器论坛 - 最近的话题
Viewing all 3634 articles
Browse latest View live

仿真FR2633_CAPTIVATE-BSWP demo的时候弹出Break at address "0xdb60" with no debug information available, or outside of program code.

$
0
0

请问。新安装Code Composer Studio 9.1.0环境,编译FR2633_CAPTIVATE-BSWP的demo,使用MSP-CAPT-FR2633开发套件 。

仿真的时候弹出Break at address "0xdb60" with no debug information available, or outside of program code。是什么原因?


MSP430FR2353 IIC硬件从机 IIC硬件主机读数据问题

$
0
0

//从机设置如下

case USCI_I2C_UCTXIFG0:

UCB0TXBUF = j;
j++;

break; // Vector 26: TXIFG0

从机中不停的加一

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

主机配置如下

// Configure USCI_B0 for I2C mode
UCB0CTLW0 |= UCSWRST; // Software reset enabled
UCB0CTLW0 |= UCMODE_3 | UCMST | UCSYNC; // I2C mode, Master mode, sync
UCB0CTLW1 |= UCASTP_2; // Automatic stop generated
// after UCB0TBCNT is reached
UCB0BRW = 0x0008; // baudrate = SMCLK / 8
UCB0TBCNT = 0x0005; // number of bytes to be received     每次接收的字节的个数?????????????????????????????
UCB0I2CSA = 0x0048; // Slave address
UCB0CTL1 &= ~UCSWRST;
UCB0IE |= UCRXIE | UCNACKIE | UCBCNTIE;

我问题是 我每次读一次开始读连续的5个字节没有问题,硬件主机在不停的读到的数据是 1 2 3 4 5 7 8 9 10 11 13 14 15 16 17 每五个字节就会出现丢一个字节,我想的是从机中肯定哪里进入两次我的发送中断了,不知道有没有办法避免下

CCS安装过程中出现问题,提示杀毒软件没关,但是实际上已经关了啊。还是安装失败0.0.麻烦请各位帮忙看一下

$
0
0

CCS安装过程中出现问题,提示杀毒软件没关,但是实际上已经关了啊。还是安装失败0.0麻烦.请各位大佬帮忙看一下

关于 MSP430F5529 UART 的疑问

$
0
0

各位坛友、TI员工:

我正在使用MSP-EXP430F5529,开发环境是WIN10+CCSv5.5(因为还有开发C5416的需求,不便切换),现在遇到这样的一个问题:

我通过CCS内的例程浏览器找到了配置UART波特率2400,8N1,串口回传发送数据的程序,并烧写入芯片内。今天早上运行发现,程序正常。

等到了晚上,串口程序再次烧入的时候,发现没有结果。

我的程序界面和串口助手界面如下:

望得到各位帮助,不胜感激。

MSP430F2XX系列的DCO校验问题

$
0
0

HI TI team:

       关于DCO校验的疑惑如下:

1、F2X 系列MCU是否需要在程序里添加判断DCO被擦除的代码?

if( CALBC1_8MHZ==0xFF )                     // If calibration constant erased
                {
                                while(1);                     // do not load, trap CPU!!
                }

2、F2X系列DCO的值被擦除的可能原因有哪些?下载方式使用的是BSL.

3、如确定DCO被擦除的话,我如何进行重新校验填写的方法?

ccs7.3安装包打开后闪退

$
0
0

     打开安装包后,会出现如下界面,然后会自动退回桌面。win10系统是重置的,也关闭了杀毒软件和防火墙。MSP432P401R初学者一枚,请大佬增援!

[MSP-EXP430F5529LP] 为什么串口只能在中断中才能发送?请大佬指教

$
0
0

开发板是电赛赠送的:EXP430F5529LP
环境是:CCS

在官方例程中,关于串口的发送和接收是如下这样子写的:
  1. // Echo back RXed character, confirm TX buffer is ready first
  2. #if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__)
  3. #pragma vector=USCI_A0_VECTOR
  4. __interrupt void USCI_A0_ISR(void)
  5. #elif defined(__GNUC__)
  6. void __attribute__ ((interrupt(USCI_A0_VECTOR))) USCI_A0_ISR (void)
  7. #else
  8. #error Compiler not supported!
  9. #endif
  10. {
  11.   switch(__even_in_range(UCA0IV,4))
  12.   {
  13.   case 0:break;                             // Vector 0 - no interrupt
  14.   case 2:                                   // Vector 2 - RXIFG
  15.     while (!(UCA0IFG&UCTXIFG));             // USCI_A0 TX buffer ready?
  16.     UCA0TXBUF = UCA0RXBUF;                  // TX -> RXed character
  17.     break;
  18.   case 4:break;                             // Vector 4 - TXIFG
  19.   default: break;
  20.   }
  21. }
复制代码


也就是说在串口中断中收到之后就发送出去,但是怎么才能在主函数中进行发送呢?
我封装了一个如下的函数:
  1. void send_byte(unsigned char x)
  2. {
  3.     while (!(UCA0IFG&UCTXIFG));             // USCI_A0 TX buffer ready?
  4.          UCA0TXBUF = x;
  5. }
  6. void send_str(unsigned char *s)
  7. {
  8.     while(*s != '\0')
  9.         send_byte(*s++);
  10. }
复制代码


但是并不能在主函数中进行串口的发送。请大佬指教

PWM波占空比如何实时调节

$
0
0

各位老师,前辈好,我想请问一下,我现在用的是MSP430F5529,我现在想要实现的功能是不断采样电压值,根据电压值输出不同占空比的PWM波,但是由于输出pwm我学例程时都是最后让CPU处于低功耗模式,无法进行第二次采样,请问有什么办法吗.谢谢,(我将__bis_SR_register(LPM0_bits); 删去时,示波器上就无法显示pwm波)

unsigned int myvolt,peried_on;
int main(void)
{
        WDTCTL = WDTPW | WDTHOLD; // Stop watchdog timer
        P6SEL|= 0x01;
        REFCTL0 &= ~REFMSTR;
        ADC12CTL0 = ADC12ON+ ADC12SHT0_8+ADC12REFON+ADC12REF2_5V; 
        ADC12CTL1 =  ADC12SHP+ ADC12CONSEQ_2;                     
        ADC12MCTL0 = ADC12SREF_1+ADC12INCH_0;                 
        __delay_cycles(100);
        ADC12CTL0 |= ADC12ENC;
        while(1)
        {
          ADC12CTL0 |= ADC12SC;   // Start convn - software trigger
          myvolt=ADC12MEM0;
          peried_on=PID_volt(myvolt);
          Input_PWM();
        }
 
}
void Input_PWM(unsigned int peried_on)
{
   P2DIR |= BIT0;                       // P2.0 and P2.1 output
   P2SEL |= BIT0;                       // P2.0 and P2.1 options select
   TA1CCR0 = 540;                          // PWM Period
   TA1CCTL1 = OUTMOD_7;                      // CCR1 reset/set
   TA1CCR1 =peried_on ;
   TA1CTL = TASSEL_2 + MC_1 + TACLR;
   P1DIR|=0X01;
   TA0CCTL0=CCIE;
   TA0CCR0=5;
   TA0CTL=TASSEL_2+ MC_3 + TACLR;
   __bis_SR_register(LPM0_bits);           // Enter LPM0
}

Time Interrupt service routine無法返回主程式

$
0
0

Hi All,

使用MSP-EXP430F5438應用模組,使用的MCU為M430F5438A,compiler軟體CCS,使用範例驗證MSP與App1_MSPBoot_F5529_I2C,

MCU CMD檔&Driver設定我有針對我要使用的MCU修改過設定。

我現在遇到的問題是   App1_MSPBoot_F5529_I2C範例內Time Interrupt service routine,一旦程式進入中斷程序,

程式似乎就沒有返回main,中斷程序會重複中斷。

在麻煩各位指導問題,謝謝。

以下是我程式:

//---------------------------------------------------------------------------------------

void main( void )

{
// Stop watchdog timer to prevent time out reset
WDTCTL = WDTPW + WDTHOLD;

// Toggle LED1 in P1.1
P1DIR |= BIT1 | BIT0;
P1OUT |= BIT1 | BIT0;
__delay_cycles(500000);
P1OUT &= ~(BIT1 | BIT0);
__delay_cycles(500000);
P1OUT |= BIT1 | BIT0;
__delay_cycles(500000);
P1OUT &= ~(BIT1 | BIT0);
__delay_cycles(500000);

// Start P2.1 (S2 button) as interrupt with pull-up
P2OUT |= BIT6;
P2REN |= BIT6;
P2IES |= BIT6;
P2IE |= BIT6;

// Start Timer interrupt
TA0CCTL0 = CCIE; // CCR0 interrupt enabled
TA0CCR0 = 0xCFFF;
TA0CTL = TASSEL_1 + MC_1; // ACLK, upmode

__bis_SR_register(LPM3_bits + GIE);

while (1)                      //程式無法進入此迴圈,所以BIT0燈號沒有閃爍。

{
P1OUT ^= BIT0;
__delay_cycles(500000);
}
}

//---------------------------------------------------------------------------------------

__interrupt void Timer_A (void)
{
P1OUT ^= BIT1; // Toggle P1.0           //可以反覆中斷,BIT1燈號會閃爍。
TA0CCTL0 &= ~CCIFG;
}

//---------------------------------------------------------------------------------------

//中斷向量配置

const uint16_t ProxyVectorTable[] =
{
0x4030, (uint16_t)Dummy_Isr, // APP_PROXY_VECTOR(0) RTC_A
0x4030, (uint16_t)P2_Isr, // APP_PROXY_VECTOR(1) PORT2
0x4030, (uint16_t)Dummy_Isr, // APP_PROXY_VECTOR(2) USCI_B3
0x4030, (uint16_t)Dummy_Isr, // APP_PROXY_VECTOR(3) USCI_A3
0x4030, (uint16_t)Dummy_Isr, // APP_PROXY_VECTOR(4) USCI_B1
0x4030, (uint16_t)Dummy_Isr, // APP_PROXY_VECTOR(5) USCI_A1
0x4030, (uint16_t)Dummy_Isr, // APP_PROXY_VECTOR(6) PORT1
0x4030, (uint16_t)Dummy_Isr, // APP_PROXY_VECTOR(7) TIMER1_A1
0x4030, (uint16_t)Dummy_Isr, // APP_PROXY_VECTOR(8) TIMER1_A0
0x4030, (uint16_t)Dummy_Isr, // APP_PROXY_VECTOR(9) DMA
0x4030, (uint16_t)Dummy_Isr, // APP_PROXY_VECTOR(10) USCI_B2
0x4030, (uint16_t)Dummy_Isr, // APP_PROXY_VECTOR(11) USCI_A2
0x4030, (uint16_t)Dummy_Isr, // APP_PROXY_VECTOR(12) TIMER0_A1
0x4030, (uint16_t)Timer_A, // APP_PROXY_VECTOR(13) TIMER0_A0
0x4030, (uint16_t)Dummy_Isr, // APP_PROXY_VECTOR(14) ADC12_A
0x4030, (uint16_t)USCI_B0_ISR, // APP_PROXY_VECTOR(15) USCI_B0
0x4030, (uint16_t)Dummy_Isr, // APP_PROXY_VECTOR(16) USCI_A0
0x4030, (uint16_t)Dummy_Isr, // APP_PROXY_VECTOR(17) WDT
0x4030, (uint16_t)Dummy_Isr, // APP_PROXY_VECTOR(18) TB1
0x4030, (uint16_t)Dummy_Isr, // APP_PROXY_VECTOR(19) TB0
0x4030, (uint16_t)Dummy_Isr, // APP_PROXY_VECTOR(20) UNMI
0x4030, (uint16_t)Dummy_Isr, // APP_PROXY_VECTOR(21) SYSNMI
};

在麻煩各位指導問題,謝謝。

debug单步运行中出现问题

$
0
0

请问我单步运行程序时,执行到 __bis_SR_register(LPM3_bits+GIE)时出现  

No source available for "$abproc1() at D:/diansai\MSP430\workspace\else\Debug\else.out:{3} 0x10218{4}"

这是什么情况

MSP FET不兼容

$
0
0

MSP FET无法兼容与系统,TI技术 的联系方式请提供下,需要沟通兼容性的问题,急!

定时器对串口输出的影响

$
0
0

MCU用F5438A,在UCSI_UART例程中加了定时器中断,不开不要紧,开了串口打印几十个字符就停止了,这是怎么回事?

附代码:(请访问站点以查看此文件)

MSP430看门狗复位

$
0
0

请问TI工程师:

       MSP430FR5969处理器,如果看门狗复位,我通过检查哪个寄存器可以知道,我需要区分是上电复位和看门狗复位。谢谢

5438A串口波特率计算问题

$
0
0

大家帮忙看一下我的串口计算结果对不对,我感觉没问题,但是输出不正确。

Msp430 i2041 ADC采样问题,分频如何操作。

$
0
0

如下是我ADC分组采样代码,请教下如何做到1/2/4/8hz

SD24CTL = SD24REFS; // Internal ref
SD24CCTL0 |= SD24GRP | SD24DF |SD24OSR_256|SD24OSR1; // Group with CH1
SD24INCTL0 |= SD24INCH_6;
SD24CCTL1 |= SD24GRP | SD24DF |SD24OSR_256|SD24OSR1; // Group with CH2
SD24CCTL2 |= SD24IE | SD24DF |SD24IFG |SD24OSR_256|SD24OSR1; // Enable interrupt


自己的电脑编译出的CCS工程导入其它的电脑无法使用

$
0
0

我们安装的CCS版本都是CCS8.3.0.00009_win32,但是只要经过我的电脑编译过的程序,使用其它的电脑导入工程方式或直接导入工作空间,均报出如上图所示的连接错误,查看驱动程序都是安装好的,并且只是我的电脑正常使用的程序在其它电脑上无法使用,其它电脑的程序导入我的电脑也是可以正常使用的,在安装过程中配置选项勾选也无差异,并且重新安装CCS也无法解决此问题。

安装CCS9.1.0出现错误 An internal error occurred during: "CrashReportJob".

$
0
0

本人Win10系统

在安装CCS9.1.0后,打开软件时,显示

'CrashReportJob' has encountered a problem.

An internal error occurred during:

"CrashReportJob"

之后可以新建工程,也可以编译,但是一旦仿真便会闪退.

在之后打开软件时,根本无法打开,直接闪退,后来用管理员身份运行,可以运行软件,但是还是一旦仿真便会闪退.

在网上没找到什么解决办法,所以希望大家谁碰到过这种状况的帮忙看一看,谢谢指导!

MSP430FG4618出现重启问题的可能原因

$
0
0

一直以来使用的MSP430FG4618的芯片,软件在开发测试时都是没有问题的,从代码中也分析不出错误,可就是偶尔有部分仪器出现重启问题,想知道其中可能存在的原因,使用了UCOSII操作系统,是否跟系统有关;

还有个疑问,请教一些开发工程师时,他们认为,对于MCU来说只要是配置没有问题,仪器就不会出现这种重启问题,这个又该如何看待?

如何设置msp430中的定时器的频率,我想让定时器1/2/4/8hz启动?如下是我定时器的代码

$
0
0

BOOL xAD24PortTimersInit( uint8_t fs, uint8_t num)
{
BOOL bInitialized = FALSE;
ULONG ulReloadValue = ACLK;
// ULONG ulReloadValue = ( ACLK * ( ULONG )80 ) / (MB_TIMER_TICKS * 8UL);
/// ((ULONG)fs * 8UL)
sd24num = num;
if( ulReloadValue <= 1 )
{
ulReloadValue = 1;
}
else
{
ulReloadValue -= 1;
}

if( ulReloadValue < 0xFFFE )
{
/* Timer A clock source is ACLK, Start disabled. */
//TACTL = TASSEL0;TACTL |= TASSEL_0 + MC_2+TACLR;//外部引脚模式,,连续计数模式
TA1CTL = TASSEL_1 | ID_3 |MC_2; // SMCLK/8, Up Mode
// TACTL |= TASSEL_1 + MC_2 +ID_3;
TA1CCR0 = ( USHORT ) ulReloadValue;
/* Enable Timer A caputer compare interrupt. */
//TA1CCTL0 |= CCIE;
//TACCTL0 |= MC_2;
//__bis_SR_register(LPM0_bits | GIE); // Enter LPM0 w/ interrupts
//__no_operation(); // For debugger

bInitialized = TRUE;
}
return bInitialized;
}

void
vAD24PortTimersEnable( void )
{
/* Reset timer counter and set compare interrupt. */
TAR = 0;
TA1CCTL0 |= CCIE;
TA1CTL |= MC0;
sd24TimeOK = FALSE;


}

void
vAD24PortTimersDisable( void )
{
TA1CCTL0 &= ~CCIE;
TA1CTL &= ~( MC0 | MC1 );
sd24TimeOK = TRUE;
}


#if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__)
#pragma vector=TIMER1_A0_VECTOR
__interrupt void TA1_ISR(void)
#elif defined(__GNUC__)
void __attribute__ ((interrupt(TIMER1_A0_VECTOR))) TA1_ISR (void)
#else
#error Compiler not supported!
#endif
{
static unsigned char index = 0;
if(sd24OK == FALSE){
vPortsd24Start();
}
if(index >= sd24num || index>=SD24MAX) {
index = 0; // SET BREAKPOINT HERE
vAD24PortTimersDisable();
}


}

请问对AD公司的DDS芯片AD9954的使用的开发板可以支持无线连接吗?

$
0
0

1. 能帮列举这样的msp430开发板吗?(例如:MSP430F449

2. 能帮列举可以支持的无线协议吗?(例如:蓝牙,Wifi 或ZigBee.....)

Viewing all 3634 articles
Browse latest View live