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

MSP430F5438: 使用UNIFLASH的BSL烧录失败

$
0
0
Part Number: MSP430F5438
Other Parts Discussed in Thread: UNIFLASH, MSP-FET

UNIFLASH进行BSL烧录时提示UNKNOWN ACK value如图所示

怀疑是接线问题,交换了TST和RST引脚后报错如下

同时测试了读flash也不成功。固件使用的是led定时闪烁的demo,请问是password问题还是接线或是其他问题呢?


MSP430G2553: proteus的msp430G2553的串口仿真出现P1 端口整体被配置为低电平

$
0
0
Part Number: MSP430G2553

各位大虾们:

                  你们好,个人在使用proteus8.6仿真msp430G2553的串口UART时,结果出现PI端口都为低电平,希望大家能够看一下,给点建议。(因疫情原因,购买的开发版不配送 ),下图为仿真的原理图;

代码:寄存器部分已经配置麻木了  参考他人代码也很难受

#include <msp430.h>


/**
* main.c
*/

#define uchar unsigned char
#define CPU_CLOCK 1000000

#define delay_us(us) __delay_cycles(CPU_CLOCK/1000000*(us))

#define delay_ms(ms) __delay_cycles(CPU_CLOCK/1000*(ms))

void SendData(uchar Data)
{

UCA0TXBUF = Data;
delay_ms(1000);

P1OUT &= 0XFE;

// TX -> RXed character
while (!(IFG2&UCA0TXIFG)); // USCI_A0 TX buffer ready?

if ((IFG2&UCA0TXIFG));
{
P2OUT = UCA0TXBUF ;
}

delay_ms(1000);
}

int main(void)
{
WDTCTL = WDTPW | WDTHOLD; // stop watchdog timer

DCOCTL = CALDCO_1MHZ;
BCSCTL1 = CALBC1_1MHZ;

P2DIR |= BIT0;
P1DIR |= BIT0;

BCSCTL2 = 0;//SMCLK的时钟来源为DCOCTL 分频为1分频


//复位USCI_AX
UCA0CTL1 |= UCSWRST;

UCA0CTL0 =0;//USIC 选择USART

UCA0CTL1 = UCSSEL1+(UCSWRST); //配置为usic 时钟为 SMCLK

UCA0BR0 = 104;
UCA0BR1 = 0x00;
UCA0MCTL = 0X02;

//IO端口使能
P1SEL |= 0x06 ;
P1SEL2 |= 0x06;

UCA0CTL1 &= (~UCSWRST);

IE2 |= UCA0RXIE;

while(1)
{
P2OUT = 1 ;
P1OUT |= BIT0;

SendData(0x00);
delay_ms(1000);

}

最后在来个附件

}e2echina.ti.com/.../ppp.zip

MSP430F169: 常规芯片能够在高气压下还正产工作?

$
0
0
Part Number: MSP430F169

设备需要工作在相对压力0-10MPa(100个大气压)下,请问常规的电子芯片在这个压力下能否正常运行?有相关的测试数据或者在哪能查到相关信息吗?谢谢!

MSP430FR2522: 关于此器件的固件问题

MSP430F449: 烧写问题

$
0
0
Part Number: MSP430F449


Dear TI专家,

     您好,目前客户在使用TI MSP430时候,烧写遇到问题,请帮忙看下,多谢。

 单片机型号:
MSP430F449IPZR,8MHz工作频率,4*4OLCD,2*16bit定时器,12位ADC,16*16乘法器,60KBFlash,2KBSRAM,GPIO:56,LQRF100,-40~85℃,TI

问题描述:
这款单片机最近的领航鲸水表上发现一个问题:下载程序时直接用BSL方式下不进去程序,先用JTAG方式下载,再用BSL方式就能下成功。

MSP430F5529: CdcWriteCtrl CdcReadCtrl 重复定义

$
0
0
Part Number: MSP430F5529

我下载官网的MSP430的USB开发包 MSP430USBDevelopersPackage_5_20_07_01.zip,解压后到解压目录下

MSP430_USB_Software/MSP430_USB_API/examples/CDC_virtualCOMport/C0_SimpleSend/GCC

准备使用msp430-elf-gcc 编译这个工程

简单修改Makefile中的第4行

原本是

REDHAT_GCC =

改为:

REDHAT_GCC = /home/jjinl/gcc_set/msp430-gcc

用于指定msp430 gcc路径

改动Makefile的第17行:

添加了 -L $(SUPPORT_FILE_DIRECTORY)  不然会报错如下:

接着再次进行make时候会报重定义,报错如下

 make
/home/jjinl/gcc_set/msp430-gcc/bin/msp430-elf-gcc -I /home/jjinl/gcc_set/msp430-gcc/include -I ./../../../.. -I ./../../../../driverlib/MSP430F5xx_6xx -I ./../../../../examples/CDC_virtualCOMport/C0_SimpleSend -I ./../../../../examples/CDC_virtualCOMport/C0_SimpleSend/USB_config -I ./../../../../USB_API -D__MSP430F5529__ -DDEPRECATED -mmcu=msp430f5529 -O3 -Os -g -fdata-sections -w -L /home/jjinl/gcc_set/msp430-gcc/include -T ./../../../../USB_API/msp430USB.ld -T /home/jjinl/gcc_set/msp430-gcc/include/msp430f5529.ld -Wl,--gc-sections ../system_pre_init.c ../hal.c ../main.c ../USB_config/UsbIsr.c ../USB_config/descriptors.c ../USB_app/usbConstructs.c ../USB_app/usbEventHandling.c ../../../../USB_API/USB_PHDC_API/UsbPHDC.c ../../../../USB_API/USB_HID_API/UsbHid.c ../../../../USB_API/USB_HID_API/UsbHidReq.c ../../../../USB_API/USB_CDC_API/UsbCdc.c ../../../../USB_API/USB_Common/usb.c ../../../../USB_API/USB_Common/usbdma.c ../../../../USB_API/USB_MSC_API/UsbMscScsi.c ../../../../USB_API/USB_MSC_API/UsbMscStateMachine.c ../../../../USB_API/USB_MSC_API/UsbMscReq.c ../../../../driverlib/MSP430F5xx_6xx/dac12_a.c ../../../../driverlib/MSP430F5xx_6xx/usci_b_spi.c ../../../../driverlib/MSP430F5xx_6xx/usci_b_i2c.c ../../../../driverlib/MSP430F5xx_6xx/ctsd16.c ../../../../driverlib/MSP430F5xx_6xx/rtc_a.c ../../../../driverlib/MSP430F5xx_6xx/tec.c ../../../../driverlib/MSP430F5xx_6xx/ucs.c ../../../../driverlib/MSP430F5xx_6xx/ldopwr.c ../../../../driverlib/MSP430F5xx_6xx/battbak.c ../../../../driverlib/MSP430F5xx_6xx/sd24_b.c ../../../../driverlib/MSP430F5xx_6xx/gpio.c ../../../../driverlib/MSP430F5xx_6xx/dma.c ../../../../driverlib/MSP430F5xx_6xx/wdt_a.c ../../../../driverlib/MSP430F5xx_6xx/adc10_a.c ../../../../driverlib/MSP430F5xx_6xx/pmm.c ../../../../driverlib/MSP430F5xx_6xx/usci_a_uart.c ../../../../driverlib/MSP430F5xx_6xx/comp_b.c ../../../../driverlib/MSP430F5xx_6xx/sysctl.c ../../../../driverlib/MSP430F5xx_6xx/mpy32.c ../../../../driverlib/MSP430F5xx_6xx/flashctl.c ../../../../driverlib/MSP430F5xx_6xx/oa.c ../../../../driverlib/MSP430F5xx_6xx/lcd_b.c ../../../../driverlib/MSP430F5xx_6xx/tlv.c ../../../../driverlib/MSP430F5xx_6xx/eusci_a_uart.c ../../../../driverlib/MSP430F5xx_6xx/aes.c ../../../../driverlib/MSP430F5xx_6xx/timer_a.c ../../../../driverlib/MSP430F5xx_6xx/rtc_c.c ../../../../driverlib/MSP430F5xx_6xx/timer_b.c ../../../../driverlib/MSP430F5xx_6xx/ram.c ../../../../driverlib/MSP430F5xx_6xx/eusci_b_i2c.c ../../../../driverlib/MSP430F5xx_6xx/ref.c ../../../../driverlib/MSP430F5xx_6xx/timer_d.c ../../../../driverlib/MSP430F5xx_6xx/pmap.c ../../../../driverlib/MSP430F5xx_6xx/eusci_b_spi.c ../../../../driverlib/MSP430F5xx_6xx/adc12_a.c ../../../../driverlib/MSP430F5xx_6xx/rtc_b.c ../../../../driverlib/MSP430F5xx_6xx/eusci_a_spi.c ../../../../driverlib/MSP430F5xx_6xx/usci_a_spi.c ../../../../driverlib/MSP430F5xx_6xx/sfr.c ../../../../driverlib/MSP430F5xx_6xx/crc.c -o C0_SimpleSend.out
/home/jjinl/gcc_set/msp430-gcc/bin/../lib/gcc/msp430-elf/9.3.1/../../../../msp430-elf/bin/ld: /tmp/ccmmI6UN.o:/home/jjinl/wksp/msp430/5501/MSP430USBDevelopersPackage_5_20_06_03/MSP430_USB_Software/MSP430_USB_API/examples/CDC_virtualCOMport/C0_SimpleSend/GCC/./../../../../USB_API/USB_CDC_API/UsbCdc.h:107: multiple definition of `CdcReadCtrl'; /tmp/ccBnxKTq.o:/home/jjinl/wksp/msp430/5501/MSP430USBDevelopersPackage_5_20_06_03/MSP430_USB_Software/MSP430_USB_API/examples/CDC_virtualCOMport/C0_SimpleSend/GCC/./../../../../USB_API/USB_CDC_API/UsbCdc.h:107: first defined here
/home/jjinl/gcc_set/msp430-gcc/bin/../lib/gcc/msp430-elf/9.3.1/../../../../msp430-elf/bin/ld: /tmp/ccmmI6UN.o:/home/jjinl/wksp/msp430/5501/MSP430USBDevelopersPackage_5_20_06_03/MSP430_USB_Software/MSP430_USB_API/examples/CDC_virtualCOMport/C0_SimpleSend/GCC/./../../../../USB_API/USB_CDC_API/UsbCdc.h:94: multiple definition of `CdcWriteCtrl'; /tmp/ccBnxKTq.o:/home/jjinl/wksp/msp430/5501/MSP430USBDevelopersPackage_5_20_06_03/MSP430_USB_Software/MSP430_USB_API/examples/CDC_virtualCOMport/C0_SimpleSend/GCC/./../../../../USB_API/USB_CDC_API/UsbCdc.h:94: first defined here
/home/jjinl/gcc_set/msp430-gcc/bin/../lib/gcc/msp430-elf/9.3.1/../../../../msp430-elf/bin/ld: /tmp/cc7ugCZa.o:/home/jjinl/wksp/msp430/5501/MSP430USBDevelopersPackage_5_20_06_03/MSP430_USB_Software/MSP430_USB_API/examples/CDC_virtualCOMport/C0_SimpleSend/GCC/./../../../../USB_API/USB_CDC_API/UsbCdc.h:107: multiple definition of `CdcReadCtrl'; /tmp/ccBnxKTq.o:/home/jjinl/wksp/msp430/5501/MSP430USBDevelopersPackage_5_20_06_03/MSP430_USB_Software/MSP430_USB_API/examples/CDC_virtualCOMport/C0_SimpleSend/GCC/./../../../../USB_API/USB_CDC_API/UsbCdc.h:107: first defined here
/home/jjinl/gcc_set/msp430-gcc/bin/../lib/gcc/msp430-elf/9.3.1/../../../../msp430-elf/bin/ld: /tmp/cc7ugCZa.o:/home/jjinl/wksp/msp430/5501/MSP430USBDevelopersPackage_5_20_06_03/MSP430_USB_Software/MSP430_USB_API/examples/CDC_virtualCOMport/C0_SimpleSend/GCC/./../../../../USB_API/USB_CDC_API/UsbCdc.h:94: multiple definition of `CdcWriteCtrl'; /tmp/ccBnxKTq.o:/home/jjinl/wksp/msp430/5501/MSP430USBDevelopersPackage_5_20_06_03/MSP430_USB_Software/MSP430_USB_API/examples/CDC_virtualCOMport/C0_SimpleSend/GCC/./../../../../USB_API/USB_CDC_API/UsbCdc.h:94: first defined here
/home/jjinl/gcc_set/msp430-gcc/bin/../lib/gcc/msp430-elf/9.3.1/../../../../msp430-elf/bin/ld: /tmp/ccrOYl9x.o:/home/jjinl/wksp/msp430/5501/MSP430USBDevelopersPackage_5_20_06_03/MSP430_USB_Software/MSP430_USB_API/examples/CDC_virtualCOMport/C0_SimpleSend/GCC/./../../../../USB_API/USB_CDC_API/UsbCdc.h:107: multiple definition of `CdcReadCtrl'; /tmp/ccBnxKTq.o:/home/jjinl/wksp/msp430/5501/MSP430USBDevelopersPackage_5_20_06_03/MSP430_USB_Software/MSP430_USB_API/examples/CDC_virtualCOMport/C0_SimpleSend/GCC/./../../../../USB_API/USB_CDC_API/UsbCdc.h:107: first defined here
/home/jjinl/gcc_set/msp430-gcc/bin/../lib/gcc/msp430-elf/9.3.1/../../../../msp430-elf/bin/ld: /tmp/ccrOYl9x.o:/home/jjinl/wksp/msp430/5501/MSP430USBDevelopersPackage_5_20_06_03/MSP430_USB_Software/MSP430_USB_API/examples/CDC_virtualCOMport/C0_SimpleSend/GCC/./../../../../USB_API/USB_CDC_API/UsbCdc.h:94: multiple definition of `CdcWriteCtrl'; /tmp/ccBnxKTq.o:/home/jjinl/wksp/msp430/5501/MSP430USBDevelopersPackage_5_20_06_03/MSP430_USB_Software/MSP430_USB_API/examples/CDC_virtualCOMport/C0_SimpleSend/GCC/./../../../../USB_API/USB_CDC_API/UsbCdc.h:94: first defined here
/home/jjinl/gcc_set/msp430-gcc/bin/../lib/gcc/msp430-elf/9.3.1/../../../../msp430-elf/bin/ld: /tmp/ccR2FhpV.o:/home/jjinl/wksp/msp430/5501/MSP430USBDevelopersPackage_5_20_06_03/MSP430_USB_Software/MSP430_USB_API/examples/CDC_virtualCOMport/C0_SimpleSend/GCC/./../../../../USB_API/USB_CDC_API/UsbCdc.h:107: multiple definition of `CdcReadCtrl'; /tmp/ccBnxKTq.o:/home/jjinl/wksp/msp430/5501/MSP430USBDevelopersPackage_5_20_06_03/MSP430_USB_Software/MSP430_USB_API/examples/CDC_virtualCOMport/C0_SimpleSend/GCC/./../../../../USB_API/USB_CDC_API/UsbCdc.h:107: first defined here
/home/jjinl/gcc_set/msp430-gcc/bin/../lib/gcc/msp430-elf/9.3.1/../../../../msp430-elf/bin/ld: /tmp/ccR2FhpV.o:/home/jjinl/wksp/msp430/5501/MSP430USBDevelopersPackage_5_20_06_03/MSP430_USB_Software/MSP430_USB_API/examples/CDC_virtualCOMport/C0_SimpleSend/GCC/./../../../../USB_API/USB_CDC_API/UsbCdc.h:94: multiple definition of `CdcWriteCtrl'; /tmp/ccBnxKTq.o:/home/jjinl/wksp/msp430/5501/MSP430USBDevelopersPackage_5_20_06_03/MSP430_USB_Software/MSP430_USB_API/examples/CDC_virtualCOMport/C0_SimpleSend/GCC/./../../../../USB_API/USB_CDC_API/UsbCdc.h:94: first defined here
/home/jjinl/gcc_set/msp430-gcc/bin/../lib/gcc/msp430-elf/9.3.1/../../../../msp430-elf/bin/ld: /tmp/cchKoC7q.o:/home/jjinl/wksp/msp430/5501/MSP430USBDevelopersPackage_5_20_06_03/MSP430_USB_Software/MSP430_USB_API/examples/CDC_virtualCOMport/C0_SimpleSend/GCC/../../../../USB_API/USB_CDC_API/../USB_CDC_API/UsbCdc.h:94: multiple definition of `CdcWriteCtrl'; /tmp/ccBnxKTq.o:/home/jjinl/wksp/msp430/5501/MSP430USBDevelopersPackage_5_20_06_03/MSP430_USB_Software/MSP430_USB_API/examples/CDC_virtualCOMport/C0_SimpleSend/GCC/./../../../../USB_API/USB_CDC_API/UsbCdc.h:94: first defined here
/home/jjinl/gcc_set/msp430-gcc/bin/../lib/gcc/msp430-elf/9.3.1/../../../../msp430-elf/bin/ld: /tmp/cchKoC7q.o:/home/jjinl/wksp/msp430/5501/MSP430USBDevelopersPackage_5_20_06_03/MSP430_USB_Software/MSP430_USB_API/examples/CDC_virtualCOMport/C0_SimpleSend/GCC/../../../../USB_API/USB_CDC_API/../USB_CDC_API/UsbCdc.h:107: multiple definition of `CdcReadCtrl'; /tmp/ccBnxKTq.o:/home/jjinl/wksp/msp430/5501/MSP430USBDevelopersPackage_5_20_06_03/MSP430_USB_Software/MSP430_USB_API/examples/CDC_virtualCOMport/C0_SimpleSend/GCC/./../../../../USB_API/USB_CDC_API/UsbCdc.h:107: first defined here
/home/jjinl/gcc_set/msp430-gcc/bin/../lib/gcc/msp430-elf/9.3.1/../../../../msp430-elf/bin/ld: /tmp/ccBjRddP.o:/home/jjinl/wksp/msp430/5501/MSP430USBDevelopersPackage_5_20_06_03/MSP430_USB_Software/MSP430_USB_API/examples/CDC_virtualCOMport/C0_SimpleSend/GCC/../../../../USB_API/USB_Common/../USB_CDC_API/UsbCdc.h:107: multiple definition of `CdcReadCtrl'; /tmp/ccBnxKTq.o:/home/jjinl/wksp/msp430/5501/MSP430USBDevelopersPackage_5_20_06_03/MSP430_USB_Software/MSP430_USB_API/examples/CDC_virtualCOMport/C0_SimpleSend/GCC/./../../../../USB_API/USB_CDC_API/UsbCdc.h:107: first defined here
/home/jjinl/gcc_set/msp430-gcc/bin/../lib/gcc/msp430-elf/9.3.1/../../../../msp430-elf/bin/ld: /tmp/ccBjRddP.o:/home/jjinl/wksp/msp430/5501/MSP430USBDevelopersPackage_5_20_06_03/MSP430_USB_Software/MSP430_USB_API/examples/CDC_virtualCOMport/C0_SimpleSend/GCC/../../../../USB_API/USB_Common/../USB_CDC_API/UsbCdc.h:94: multiple definition of `CdcWriteCtrl'; /tmp/ccBnxKTq.o:/home/jjinl/wksp/msp430/5501/MSP430USBDevelopersPackage_5_20_06_03/MSP430_USB_Software/MSP430_USB_API/examples/CDC_virtualCOMport/C0_SimpleSend/GCC/./../../../../USB_API/USB_CDC_API/UsbCdc.h:94: first defined here
collect2: error: ld returned 1 exit status
Makefile:79: recipe for target 'C0_SimpleSend' failed
make: *** [C0_SimpleSend] Error 1

我仔细看了,原因是在 MSP430_USB_Software/MSP430_USB_API/USB_API/USB_CDC_API/UsbCdc.h这个文件中,在头文件中定义两个结构体变量,多处包含头文件后,会导致重复定义

/* 
 * ======== UsbCdc.h ========
 */

#ifndef _UsbCdc_H_
#define _UsbCdc_H_

#ifdef __cplusplus
extern "C"
{
#endif


/*----------------------------------------------------------------------------
 * The following function names and macro names are deprecated.  These were 
 * updated to new names to follow OneMCU naming convention.
 +---------------------------------------------------------------------------*/
#ifndef DEPRECATED
#define  kUSBCDC_sendStarted            USBCDC_SEND_STARTED
#define  kUSBCDC_sendComplete           USBCDC_SEND_COMPLETE
#define  kUSBCDC_intfBusyError          USBCDC_INTERFACE_BUSY_ERROR
#define  kUSBCDC_receiveStarted         USBCDC_RECEIVE_STARTED
#define  kUSBCDC_receiveCompleted       USBCDC_RECEIVE_COMPLETED
#define  kUSBCDC_receiveInProgress      USBCDC_RECEIVE_IN_PROGRESS
#define  kUSBCDC_generalError           USBCDC_GENERAL_ERROR
#define  kUSBCDC_busNotAvailable        USBCDC_BUS_NOT_AVAILABLE
#define  kUSBCDC_waitingForSend         USBCDC_WAITING_FOR_SEND
#define  kUSBCDC_waitingForReceive      USBCDC_WAITING_FOR_RECEIVE
#define  kUSBCDC_dataWaiting            USBCDC_DATA_WAITING
#define  kUSB_allCdcEvents              USBCDC_ALL_CDC_EVENTS
#define  kUSBCDC_noDataWaiting          USBCDC_NO_DATA_WAITING

#define USBCDC_intfStatus               USBCDC_getInterfaceStatus
#define USBCDC_bytesInUSBBuffer         USBCDC_getBytesInUSBBuffer
#endif


#define USBCDC_SEND_STARTED         0x01
#define USBCDC_SEND_COMPLETE        0x02
#define USBCDC_INTERFACE_BUSY_ERROR       0x03
#define USBCDC_RECEIVE_STARTED      0x04
#define USBCDC_RECEIVE_COMPLETED    0x05
#define USBCDC_RECEIVE_IN_PROGRESS   0x06
#define USBCDC_GENERAL_ERROR        0x07
#define USBCDC_BUS_NOT_AVAILABLE     0x08
//returned by USBCDC_rejectData() if no data pending
#define USBCDC_NO_DATA_WAITING        0X01
#define USBCDC_WAITING_FOR_SEND      0x01
#define USBCDC_WAITING_FOR_RECEIVE   0x02
#define USBCDC_DATA_WAITING         0x04
#define USBCDC_BUS_NOT_AVAILABLE     0x08
#define USBCDC_ALL_CDC_EVENTS           0xFF


#ifdef _CDC_
struct _CdcWrite {
    uint16_t nCdcBytesToSend;                       //holds counter of bytes to be sent
    uint16_t nCdcBytesToSendLeft;                   //holds counter how many bytes is still to be sent
    const uint8_t* pUsbBufferToSend;               //holds the buffer with data to be sent
    uint8_t bCurrentBufferXY;                      //is 0 if current buffer to write data is X, or 1 if current buffer is Y
    uint8_t bZeroPacketSent;                       //= FALSE;
    uint8_t last_ByteSend;
} CdcWriteCtrl[CDC_NUM_INTERFACES];

struct _CdcRead {
    uint8_t *pUserBuffer;                          //holds the current position of user's receiving buffer. If NULL- no receiving
                                                //operation started
    uint8_t *pCurrentEpPos;                        //current positon to read of received data from curent EP
    uint16_t nBytesToReceive;                       //holds how many bytes was requested by receiveData() to receive
    uint16_t nBytesToReceiveLeft;                   //holds how many bytes is still requested by receiveData() to receive
    uint8_t * pCT1;                                //holds current EPBCTxx register
    uint8_t * pCT2;                                //holds next EPBCTxx register
    uint8_t * pEP2;                                //holds addr of the next EP buffer
    uint8_t nBytesInEp;                            //how many received bytes still available in current EP
    uint8_t bCurrentBufferXY;                      //indicates which buffer is used by host to transmit data via OUT endpoint3
} CdcReadCtrl[CDC_NUM_INTERFACES];

#endif

这个问题怎么解决,直接修改标准头文件, 还是USB库故意这样做??

MSP430FR5738: IO口输入模式检测 上电后电平判断错误

$
0
0
Part Number: MSP430FR5738

P1.3 io口配置成输入模式,并且外部通过这种方式输入检测。上电后发现,会一直检测到低电平,而光耦是没有导通的。  必须光耦导通一次,输入才会判断正常。 

在上电后测试输入电压,一直为高电平,但程序却判断一直为低。

MSP430I2040: 关于该芯片内部晶振16.384M和外部晶振16.384M都不准确的疑问

$
0
0
Part Number: MSP430I2040

我在芯片的25引脚外接有源晶振16.384M后,使用旁路模式进行仿真,发现延时间隔与我设定的延时时间相差太多,和使用内部晶振时一样差的非常多,导致我的在使用UART传输协议时,与其他芯片通信时的波特率无法匹配上。

以下是我调试时写的简单例程仿真结果。(设定延时1ms LED灯闪烁)

#include "msp430.h"

void main(void)
{
WDTCTL = WDTPW | WDTHOLD; // Stop Watchdog Timer

CSCTL0 = DCOBYP; 

P2DIR|=BIT2;

while(1)
{

P2OUT|=BIT2;
__delay_cycles(16384);
P2OUT&=~BIT2;
__delay_cycles(16384);

}

}


[FAQ] 编译器公告:MSP430 版本 21.6.0.LTS 发布

$
0
0

TI 很高兴地宣布推出新的 MSP430 编译器版本 21.6.0.LTS,其包括以下新特性。

新特性:


– 在内存范围内生成 CRC。

– 枚举类型变更。

– 已弃用 Misra 支持。

- 根据 BIC 指令用法提升性能。

- 根据 MUST_ITERATE、UNROLL 和 CODE_ALIGN 等 pragma 提升性能。

 

有关更多详细信息,请访问 MSP 编译器版本 21.6.0.LTS 的下载页面

[FAQ] MSP430FR2433: MSP Housekeeping型 MCU

$
0
0
Part Number: MSP430FR2433

MSP Housekeeping型 MCU

帮助混合和匹配微控制器上的常见模拟和数字功能的培训系列。


为什么选择Housekeeping型?

我们知道您正在寻找更高效的电路板设计方法,从而降低 BOM 成本、减少元件数量并简化版原理图和布局设计。

此培训系列首先介绍如何实现不同的Housekeeping功能,例如驱动 LED、监控系统电压电平以及在检测事件时唤醒主处理器。学习如何在 MCU 上执行这些功能,而不是使用分立式元件来执行这些功能。

课程概览

本系列中的每个内务管理示例都附带了各种内容,可帮助您在任何 MSP 器件上快速入门。软件和 GUI 在 MSP430FR2433 LaunchPad 上进行了测试。

  • 培训视频
  • GUI 演示
  • 代码示例
  • 实现技术手册

请查看下面的视频列表,所有视频均以中英文分别录制:

  1. 达到阈值时的 ADC 唤醒和发送
  2. RGB LED 颜色混合
  3. 带时间戳的电压监控器
  4. 可编程时钟源
  5. 可编程系统唤醒控制器
  6. SPI I/O 扩展器
  7. I2C I/O 扩展器
  8. 外部可编程看门狗计时器
  9. 具有备份存储器的外部 RTC

其他信息

观看网络研讨会,了解如何将内务处理功能添加到您的 MCU 中,以帮助节省 BOM 成本、布板空间和元件数量

MSP430FR5969: how to implement ECC with CCS?

$
0
0
Part Number: MSP430FR5969

Hi,

As shown in document, the MSP430FR5969 has error-correcting code FRAM. We implemented the ECC code with the method shown in the "MSP430 Assembly Language Tools". 

After a data error was injected, we downloaded the code to the MSP430 board. The data error was not corrected after power on.

How can we implement the ECC function with CCS?  Could you please provide more details and give us some document on it? Thanks a lot!

MSP430F437: 串口通讯

$
0
0
Part Number: MSP430F437

#include <msp430.h>


/**
* main.c
*/
int main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
FLL_CTL0 |= XCAP18PF; // Configure load caps

P2SEL |= 0x30; // P2.4,5 = USART0 TXD/RXD
ME1 |= UTXE0 + URXE0; // Enable USART0 TXD/RXD
UCTL0 |= CHAR; // 8-bit character
// UTCTL0 |= SSEL1; // UCLK = SMCLK
// UBR00 = 0x6D; // 1MHz 9600
// UBR10 = 0x00; // 1MHz 9600
// UMCTL0 = 0x03; // modulation

UTCTL0 |= SSEL0;
UBR00 = 0x03;
UBR10 = 0x00;
UMCTL0 = 0x4A;
UCTL0 &= ~SWRST; // Initialize USART state machine
IE1 |= URXIE0; // Enable USART0 RX interrupt
P2DIR |= 0x10; // P2.4 output direction
while (!(IFG1 & UTXIFG0));
TXBUF0 = 'H';
while (!(IFG1 & UTXIFG0));
TXBUF0 = 'E';
while (!(IFG1 & UTXIFG0));
TXBUF0 = 'L';
while (!(IFG1 & UTXIFG0));
TXBUF0 = 'L';
while (!(IFG1 & UTXIFG0));
TXBUF0 = 'O';
__bis_SR_register(LPM0_bits + GIE); // Enter LPM0 w/ interrup
//while(1);
}

#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 (!(IFG1 & UTXIFG0)); // USART0 TX buffer ready?
TXBUF0 = RXBUF0; // RXBUF0 to TXBUF0
}

把程序下载 MSP430F437 的单片机上  ,然后PC的串口工具先接收到 HELLO ,然后不停的接收 到 LOLOL0... ...

MSP430FR6043: USS配置软件的更新参数问题

$
0
0
Part Number: MSP430FR6043

IAR程序版本为:UltrasonicGasFR6043_02_30_00_01

上位机软件版本为:Ultrasonic Sensing Design Center version 02_30_00_03

从配置软件上生产Header文件,原样复制到工程中,写入到demo板中,采集到的时差偏大,并且稳定性不好,时差大约为600~1500us

但是从上位机执行Request Update以后,时差就变的很小,并且比较稳定,时差大约为-40ps~200ps。

请问执行Request Update与将Header文件直接写入到工程中有什么区别?

MSP430F5438: 关于UART的问题

$
0
0
Part Number: MSP430F5438

过年好!

这几天在调试一个UART的问题,配置如下:

UCA1CTL1 |= UCSWRST; // **Put state machine in reset**
UCA1CTL0 = UCMODE_0; // 选择串口功能
UCA1CTL0 &= ~UCPEN; //无校验
UCA1CTL0 &= ~UC7BIT; //8位数据位
UCA1CTL0 &= ~UCSPB; //1位停止位
UCA1CTL1 |= UCSSEL_1; // CLK = ACLK
UCA1BR0 = 0x03; // 32kHz/9600=3.41 
UCA1BR1 = 0x00; //
UCA1MCTL = UCBRS_3 + UCBRF_0; // Modulation UCBRSx=3, UCBRFx=0

// UCA1CTL1 &= ~UCDORM;
UCA1CTL1 &= ~UCSWRST; // **Initialize USCI state machine**
UCA1IE |= UCRXIE; // Enable USCI_A0 RX interrupt

接收:

#pragma vector=USCI_A1_VECTOR
__interrupt void USCI_A1_ISR( void )
{
switch( __even_in_range( UCA1IV, 4 ) )
{
case 0:
break; // Vector 0 - no interrupt
case 2: // Vector 2 - RXIFG
at_buf[at_buf_ptr++] = UCA1RXBUF;
if ( UCA1RXBUF == 0x0A )
{
}
break;
case 4:
break; // Vector 4 - TXIFG
default:
break;
}
}

描述:

1,使用的配置是波特率9600,在与其它9600的通讯中,是正常的。比如转为U口后使用串口调试,将串口工具设置为9600,工具及MCU都是正常的;

2,与明确配置为9600的模组进行通信,也是正常的,可收可发;

问题:

3,当模组为自适应波特率时,不能正常通讯,收发均不正常,丢包乱码;

4,不与外界连接,将TX与RX短接后,数据无触发,多数情况下只能收到0D 0A之类的字符。

我这是哪里设置的少一个步骤吗?

谢谢。

MSP430L092: MSP 低功耗微控制器论坛

$
0
0
Part Number: MSP430L092

最近要采用msp430l092开发一个低功耗项目,但是在使用目标板时总是无法成功进入仿真,设备连接关系如下:

但是每当我进行仿真时,就会跳出一下警告,告诉我出错了   

重试之后就变成下面这样,之后再次尝试警告就不会变了,一直是仿真器已经在使用中

我已经不知道接下来要从哪里找问题了,我是第一次接触MSP430,希望可以得到帮助。另外我所使用的软件是CCS11.0.0,仿真器为MSP-FET430UIF,MSP430L092的有源线缆和目标板均为TI原装


MSP430FR2676: MSP430FR2676

$
0
0
Part Number: MSP430FR2676

Hi,

目前我客户正使用MSP430FR2676进行新项目开发,客户希望TI协助提供CSC环境下的printf例程,不知道是否有这样的guideline或者例程提供?多谢!

MSP430F5529: msp430f5529

$
0
0
Part Number: MSP430F5529

ccs如何从外部文本文件中自动读取数据存入flash指定地址中

例如我外部有一个二进制数据的文本有1000个二进制数据怎么能将这一千个数据写进msp430f5529的flash中

MSP430F5529: msp430f5529

$
0
0
Part Number: MSP430F5529

我已经将数据存入了430的flash中,首地址是0x001800,现在我想读取从0x1800开始的100个数据将他们放到我定义的一个数组value中

我是这样写的

char *Flash_ptr = (char *)0x001800; 

for(i = 0; i < 100; i++)
{
value[i] = *Flash_ptr++ ;
}

但是value中数值一直是0,应该如何正确的读取?

MSP430F5438: 关于低功耗需要注意的问题,有几个?

$
0
0
Part Number: MSP430F5438

做了一个测试板,器件包括一个F5438,一个外接XT1的32768晶振,及一个稳压芯片,稳压芯片的功耗为1ua,目前配置:

1,所有管脚均配置为输出低电平;

2,使用XT1(也测试过不配置);

3,启动后进入LPM3.

在此情况下,电流为13到15ua,我想这个应该在5ua以下才对

这个还有其它的方面需要配置吗?谢谢

MSP430FR5738: MSP Gang Programmer下载器可以设置烧录次数吗?

Viewing all 3634 articles
Browse latest View live