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

msp430fr6047 uss模块问题

$
0
0

请问为什么USS中ADC数据采集后的传输控制模块DTC有64k,而他的目标存储LEA RAM只有4K,adc采集数据量较大时应该怎么办?


STM32F103RB的替代MCU型号咨询

$
0
0

请问有替换STM32F103RB的MCU型号吗?

ARM芯片不需要PIN对PIN,主要是要求功能(目前所需的ARM资源有USRAT,I2C,SPI,Timer,Port Interrupt)一致即可,应用环境温度(-40°~125°)。

感谢。

MSP430FR2633芯片在CapTIvateDesignCenter只保留按键模块生成代码,下载到CCS失败。

$
0
0

现在使用CAPTIVATE-FR2633CAPTIVATE-BSWPCAPTIVATE-PGMR。连接电脑。

打开.CapTIvateDesignCenter的例程后,只保留了MSP430芯片以及按键BOTTON模块。把接近感应、滑条等删除后。现在只需要按键模块。

生成源码,准备使用CCS8.3.0下载。但是一直下载失败。

出现了:

MSP430: Error initializing emulator: No USB FET was found

我打开驱动管理,发现并未出现黄色感叹号。说明电脑对他的驱动是认可的。但是为什么一直不能下载?还有TI的技术支持除了在这提问,就没有线上的吗?

开发套件是TI官方授权上买的,使用问题一直纠结着我。下载一直都是失败。

为此我还下载了IAR下载。还是不行。求解

TB0 设为定时timer(aclk时钟源),TB1设置为PWM(smclk时钟源),为何TB1不同频率会影响定时timer周期?

$
0
0

msp430fr2311进入LPM3,TB0 设为定时timer(aclk时钟源),TB1设置为PWM(smclk时钟源),为何TB1不同频率会影响定时timer周期?

注: 在中断内触发PWM,  不同smclk对 指令周期确实有一定影响,设置tb1  8M smclk 比1M 时tb0  timer 周期缩短了10%

fr2311带电烧写固件的复位启动问题

$
0
0

因为带锂电池烧写固件,

IAR烧写完成后不能自启动(有些参考固件烧录后是可以启动的),

只能掉电复位,目前办法是进IAR debug,启动后离线,后面就可以自己运行了。。。

说明通过FET 调试器 可以发送复位命令的···如何设置IAR,或者设置msp430flash.exe ,

我们想集成msp430flash.exe做个批量烧录软件

msp430 IO中断问题

$
0
0

我只是检测按键中断,按键有上拉电阻接入单片机,当没有按键按下的情况下,IO口输入一直是高电平,当按键按下与地接通成为低电平,所以我将IO 中断配置成下降沿检测中断。可是在我上电之后,开始仿真,刚上电啊  程序刚运行,根本没有按下按键但总会第一遍运行程序就进去一次IO中断,程序继续执行之后就正常了,就会检测到按键按下就才进中断。我想知道这是为什么。?IO口的上电过程是什么样的,是不是 IO口一上电初始化 有一个高电平到低电平的跳变呢。 可是我接着外部上拉呢啊 怎么会检测到下降沿。

CCS装不上

$
0
0

以前装过几次CCS,但是用着用着老是会有问题。

这次又卸了重装,又装不上了,没有杀毒软件,我连安全设置里的东西能关的都关了

有没有人看得懂安装日志里的错误?(请访问站点以查看此文件)

msp430 精准延时函数 编译出错

$
0
0

已定义以下宏定义:

#define CPU_F        ((double)8000000)
#define delay_us(x)   __delay_cycles(long)(CPU_F*(double)x/1000000.0)
#define delay_ms(x)   __delay_cycles(long)(CPU_F*(double)x/1000.0)

函数内部调用:delay_ms(1);

编译报错:Error[Pe029]: expected an expression C:\Users\87520\Desktop\SI4463_RX\main.c 72

Error[Pe109]: expression preceding parentheses of apparent call must have (pointer-to-) function type C:\Users\87520\Desktop\SI4463_RX\main.c 72 

请问这是为什么?


FR6972 自升级方法

$
0
0

如何使用FR6972实现单片机自升级功能

bootloader 如何编写

ccs9.0用5.1的程序报错

$
0
0

Line:36,expression:c>=-1&&c<=255,For information on how your program can cause an assertion failure, see the Visual C++ documentation on asserts. 

哪位朋友!有M430F2618的使用手册,麻烦给分享一下,谢谢!83348840@qq.com,非常感谢!

$
0
0

哪位朋友!有M430F2618的使用手册,麻烦给分享一下,谢谢!83348840@qq.com,非常感谢!

MSP430FR6047 USS模块 SDHS采样问题

$
0
0

在使用SDHS采集数据时,DTC的传输目标是由SDHSDTCDA寄存器控制,手册里说每次数据传输时,地址寄存器值增加1。

我想问一下SDHSDTCDA中的值在采样结束后会清零吗?

我想用USS的寄存器模式,手册里的启动步骤如下:

1.打开USS模块并等待UUPSCTL.UPSTATE = 3。只读,不用管

2.配置除SDHSCTL3,SDHSCTL4和SDHSCTL5寄存器之外的所有寄存器(无需特定顺序,SDHSCTL0.TRGSRC = 0)。

3.启用触发源:设置SDHSCTL3.TRIGEN = 1。

4.启动SDHS:设置SDHSCTL4.SDHSON = 1(如果SDHSCTL0.AUTOSSDIS = 1,则不需要其余步骤)。

5.等待SDHS建立时间(参见SDHS)。

6.开始转换:设置SDHSCTL5.SSTART = 1。

现在假设我做完了6步,开始采样,之后采满了我想要的数据,比如到了SMPSZ值或者我人为将SDHSCTL4.SDHSON,SDHSCTL5.SSTART置0了,采样停止了。然后我处理了数据,程序是想处理数据之后自动再次采样,这时候我是要将上述步骤重复一遍呢,还是直接SDHSCTL4.SDHSON,SDHSCTL5.SSTART置1就可以了呢?主要就是SDHSDTCDA中自动增加的值会不会在我SDHSCTL4.SDHSON,SDHSCTL5.SSTART置0时自动清零?

 

msp430F248 晶振不起振问题

$
0
0

各位大侠:

        发现一个奇怪的问题,一个产品用的msp430F248芯片,接2M晶振,运行过程中,程序会关掉晶振进入低功耗模式,每隔1s唤醒晶振一次。

        测试中发现几个产品晶振无法起振,外部看门狗每隔30s给一个复位信号也不起作用,测量无源晶振两端有1V左右电压,无波形。断电后再上电,可以恢复正常。

        想问下各位大侠:

         1、什么情况下会发生晶振无法起振问题,产品已经生产了很多了(1000个),只有这几个个例。

         2、如何判断是晶振出了问题,还是单片机无法复位初始化。

         3、单片机复位时会给晶振一个激励信号吗?

多谢!!!附原理图

grace在app center里面也没有,无论是v6还是v8都没有

$
0
0

在官网上说从app center里面可以找到,但是,根本没有!!!给的官方链接下载的是整个ccsv6,然而里面还是没有grace project选项。在app center里面也找不到。不要机械回答从应用中心里面下载了,真的没有。所以怎么才能在ccs里面建立grace工程呢

MSP430F5418A,最小系统,所有IO口悬空,擦除所有程序,上电瞬间功耗很大,什么原因?

$
0
0

之前一直用的MSP430F149,但是由于代码空间不够,就换成了MSP430F5418A

但是现在遇到一个问题,5418A的上电瞬间,电流会飙升很大,然后掉下来恢复正常。

之前怀疑是我电路问题,于是我用最小系统测试了下,所有IO口都悬空,

只有5418A和ldo(可以排除ldo问题,同样的电路用在msp430f149上没有这问题),

上电的那一瞬间,电流会飙升到4mA以上然后恢复正常。

我擦除了片内程序还是一样,上电瞬间电流飙升,然后回落。回落后一切都正常。

但是我的应用上,上电瞬间的功耗剧增会让我的应用启动不了,

因为剧增的功耗已经远远超过我电源能提供的功耗了。

这个方案之前用F149已经用了十年,一直都很稳定,

最近迫于代码空间不够,换了5418A,结果遇到这么个奇葩问题。。

各位朋友帮我分析下这是什么原因导致?是不是5418A这片子自身的原因?如何能解决这个问题?谢谢。

注:除了5418A,5438A也有同样的问题。


关于MSP430G2452操作flash读写的问题

$
0
0

项目里有些信息需要实现掉电不丢数据,所以我把一些数据放入了flash中,但是发现重新上电后数据并没有存入,我的读写flash的代码如下,读写的起始地址是0x1040

#define SegmentStart 0x1040 //0x01080 //Segment = 0x01000~0x010FF

void FlashWriteChar(unsigned int addr, char Data);
char FlashReadChar(unsigned int Addr);

void FlashWriteChar(unsigned int addr, char Data)
{
    char *FlashPtr = (char *)addr; // Segment  pointer
    FCTL3 = FWKEY;              // Clear Lock bit
    FCTL1 = FWKEY + ERASE;      // Set Erase bit
    *FlashPtr = 0;             // Dummy write to erase Flash seg
    //_DINT();
    *FlashPtr = Data; // Save Data
    //_EINT();
    FCTL1 = FWKEY;        // Clear WRT bit
    FCTL3 = FWKEY + LOCK; // Set LOCK bit
}

char FlashReadChar(unsigned int Addr)
{
    char Data;
    char *FlashPtr = (char *)Addr;
    Data = *FlashPtr;
    return (Data);
}

mian函数中部分初始化代码如下:

void main( void )
{
   WDTCTL = WDTPW + WDTHOLD;
   FCTL2 = FWKEY + FSSEL0 + FN1; // MCLK/3 for Flash Timing Generator

msp430f149 片内adc采集速度问题

$
0
0

adc的采样速度能达到200ksps嘛?

如果能的话 是采用单通道采集更好 还是采用多通道采集更好 

采集到的数据主要希望通过写flash来储存起来

这两步操作是分开进行更好还是同时进行更有效呢

MSP430F1232串口通信问题

$
0
0

Hi,Everyone:

我有个问题,在使用MSP430F1232的时候遇到串口通信失败,无法接收到数据的情况,板子参考TI官方的Launchpad。

代码如下:

//  MSP-FET430P120 Demo - USART0, UART 9600 Echo ISR, 32kHz ACLK + DCO
//
//  Description: Echo a received character, USART0 RX ISR at high-speed using
//  32kHz XTAL and DCO. Normal operation in LMP0, DCO continuously stabilized,
//  interrupt driven using CCR2. DCO used for UART baud generation. On a valid
//  RX character, character is echoed back.
//  Baud rate divider with 2MHz = 2MHz/9600 ~ 208 (00D0h)
//  ACLK = LFXT1/8 = 32768/8, MCLK = SMCLK = UCLK0 = DCOCLK  ~2MHz
//  //* An external 32kHz watch crystal on XIN XOUT is required for ACLK *//
//               MSP430F123(2)
//             -----------------
//         /|\|              XIN|-
//          | |                 | 32768Hz
//          --|RST          XOUT|-
//            |                 |
//            |             P3.4|------------>
//            |                 | 9600 - 8N1
//            |             P3.5|<------------


#include <msp430.h>
#define DELTA 488                           // target DCO = DELTA*(4096) ~2MHz

void delayms(int t)
{
    int i;
    while(t--)
      for(i=150;i>0;i--);     //delay ms
}

unsigned int Compare, Oldcapture;

int main(void)
{
  WDTCTL = WDTPW + WDTHOLD;                 // Stop WDT
  P1SEL=0;                                  // SET P1 AS IO
  P1DIR=0xFF;                               //SET P1 DIR OUT
  P1OUT=0xFF;                               //P1 OUT VALUE
  
  P3SEL |= 0x30;                            // P3.4,5 = USART0 TXD/RXD
  BCSCTL1 |= DIVA_3;                        // ACLK = LFXT1CLK/8
  ME2 |= UTXE0 + URXE0;                     // Enabled USART0 TXD/RXD
  UCTL0 |= CHAR;                            // 8-bit character
  UTCTL0 |= SSEL1;                          // UCLK = SMCLK
  UBR00 = 0xD0;                             // 2MHz 9600
  UBR10 = 0x00;                             //
  UMCTL0 = 0x00;                            // no modulation
  UCTL0 &= ~SWRST;                          // Initalize USART state machine
  IE2 |= URXIE0;                            // Enabled USART0 RX interrupt
  CCTL2 = CM_1 + CCIS_1 + CAP + CCIE;       // CAP, ACLK, interrupt
  TACTL = TASSEL_2 + MC_2 + TACLR;          // SMCLK, cont-mode, clear

  __bis_SR_register(LPM0_bits + GIE);       // Enter LPM0 w/ interrupt
}

#if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__)
#pragma vector=USART0RX_VECTOR
__interrupt void usart0_rx (void)
#elif defined(__GNUC__)
void __attribute__ ((interrupt(USART0RX_VECTOR))) usart0_rx (void)
#else
#error Compiler not supported!
#endif
{
  while (!(IFG2 & UTXIFG0));                // USART0 TX buffer ready?
  TXBUF0 = RXBUF0;                          // RXBUF0 to TXBUF0
  
   //while receive the data, led blink and resend data to tx.
  P1OUT=1;
  delayms(50);                              //delay
     
  P1OUT=0;
  delayms(50);                              //delay
}


// Timer_A3 Interrupt Vector (TAIV) handler
#if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__)
#pragma vector=TIMERA1_VECTOR
__interrupt void Timer_A(void)
#elif defined(__GNUC__)
void __attribute__ ((interrupt(TIMERA1_VECTOR))) Timer_A (void)
#else
#error Compiler not supported!
#endif
{
  switch( TAIV )
  {
    case  2: break;                         // CCR1 not used
    case  4:
    {
    Compare = CCR2;                         // Get current captured SMCLK
    Compare = Compare - Oldcapture;         // SMCLK difference
    Oldcapture = CCR2;                      // Save current captured SMCLK
    if (DELTA < Compare)
      {
        DCOCTL--;
        if (DCOCTL == 0xFF)                 // DCO is too fast, slow it down
        {
          if (!(BCSCTL1 == (XT2OFF + DIVA_3)))
          BCSCTL1--;                        // Did DCO role under?, Sel lower RSEL
        }
      }
    else
      {
        DCOCTL++;                           // DCO is too slow, speed it down
        if (DCOCTL == 0x00)
        {
          if (!(BCSCTL1 == (XT2OFF + DIVA_3 + 0x07)))
          BCSCTL1++;                        // Did DCO role over? Sel higher RSEL
        }
      }
    }
  case 10: break;                           // not used
  }
}

但串口依旧无法收发数据,通过示波器测得串口通信工具发送波形如下,请TI专家帮忙分析一下,谢谢!

I2C通信UCB1

$
0
0

我使用I2C进行通信,UCB0正常,通过port mapping功能使用UCB1时发现,只要端口功能一打开(PSEL置1),时钟和数据信号就开始缓慢的拉低(都接了上拉电阻)。

msp430fr6047 USS模块 高速AD采样输入电压范围是多少?

$
0
0

只找到了这个表,没找到电压范围。

Viewing all 3634 articles
Browse latest View live