(请访问站点以查看此文件)
有些好资料要每年都发出来一次才行:比如最好的MSP430入门学习资料
GRACE为何多年不再更新了?
据我所知,TI是第一个推出图形化配置单片机IO与时钟外设工具的厂家。
几年后ST跟随脚步推出了cubeMX图形化IO与外设初始化工具,新唐推出了PIN配置工具与时钟系统配置工具。
近年来国产单片机也推出了代码初始化工具,非常非常方便。今年,MicrcoChip也推出了MCC外设图形化配置工具。
然而我却发现,该类工具第一个吃螃蟹的TI,却停滞不前了,自动2015年后,就再也没有更新过该工具。近期看了GRACE
的主页,才知道,早在2015年底,就放弃了该项目,并声明不再升级,也不为CCS6之后的版本提供GRACE支持了。很稀罕
这么好用的图形化配置工具竟然就这么悄无声息的消失了。
我相信随着单片机越来越复杂,种类越来越多,图形化配置肯定是个方向,这样不用记忆太多的寄存器了。可以做到上手即用,更容易脱离底层代码,做到可移植。
最后奉上GRACE主页,怀念一下。
最后的版本支持的特定MSP430器件是:
- MSP430FR57xx / 58xx / 59xx器件
- MSP430G2xx价值线设备
- MSP430F2xx器件
打开CCS后出现"CrashReportJob"错误
我是win10系统,在安装CCS6.2之前,卸载了加密软件,杀毒软件也已经禁用,之后才开始安装CCS6.2,但是在安装完成后,打开CCS,就报如下错误:
An internal error occurred during: "CrashReportJob".
C:\Users\HP\AppData\Local\Temp\proxy_vole8215972263738513720.dll: 拒绝访问。
在编译软件工程是,一直报如下错误:
gmake: *** [source/srvc_src/srvc_mdcu_can.obj] Error 5
source/test_src/subdir_rules.mk:7: recipe for target 'source/test_src/test_draw.obj' failed
process_begin: CreateProcess(C:\Users\HP\AppData\Local\Temp\make21080-25.bat, C:\Users\HP\AppData\Local\Temp\make21080-25.bat, ...) failed.
make (e=5): 拒绝访问。
没办法编译软件。
请各位帮忙看看,为什么会出现这种错误,怎么就解决呢,谢谢!
MSP430F5438A 代码空间分配问题
在用MSP430F5438A做自己的IAP功能,在xcl文件中发现对FLASH存储空间的划分有许多疑问:
1.FLASH中的BankA并不是连续的,如果要执行擦除BankA的操作,系统是不是自动调整擦除地址,从而保证正确擦除所有BankA内容呢?
2.我的程序空间是这样规划的:
BOOT代码(0x5C00 - 0x73FF 6KB)
中断向量表 -Z(CODE)INTVEC=FF80-FFFF
APP代码(0x7400 - 0xFFDF 0x10040 - 0x45BFF )
中断向量表(0xFE80 - 0xFEFF)
不同于第一个问题,我的APP代码如果是50K,那么意味着我的程序必须占用第二个代码空间,BankA也不连续,在擦除和写入FLASH时,
是不是需要自己精确控制写入的地址?
3. xcl文件中,代码段和常量段在第二段的代码空间相差一个0x40这是怎么回事?对于存储程序来说,岂不是又把BankB给分割的七零八碎的?
// ---------------------------
// Code
//
-P(CODE)CODE=5C00-FF7F,10000-45BFF
// ---------------------------
// Constant data
//
-Z(CONST)DATA20_C,DATA20_ID,CODE_ID=5C00-FF7F,10040-45BFF
开发板EVM430-FR6043
您好,
我司最近購買一套开发板EVM430-FR6043, 依照TI官網上的指示與說明, 下載並安裝完成相關的軟體後, 接上開發中的氣體流量計, 進行掃頻測試時,出現錯誤訊息, 嘗試多種不同的參數設定,仍無法解決. 後來我們工程師將EVM430-FR6043开发板換成另一塊EVM430-FR6047(水中超声波检测应用)開發板, 並將電腦上軟體關於硬件的選項切換至水中應用, 掃頻測試即可正常運作, 顯示電腦軟體方面應無問題,應該是开发板EVM430-FR6043出了問題.
工程師描述,之前剛購買EVM430-FR6047開發板時, 也遇到類似的問題, 經詢問TI 論壇, TI工程師回覆並提供了一個更新的韌體(firmware), 韌體更新後,即可正常操作測試. 請問开发板EVM430-FR6043是否也需要做類似的韌體更新 ? 哪裡可找到所需的韌體 ?
Thanks very much ~
EVM430-FR6043 demo板的液晶怎样才能显示?
在贸泽买了一块EVM430-FR6043 demo板,连上USB线,打开USS应用程序,可以正常连接。只是板上的液晶怎么不显示,也看了资料和硬件向导,没发现怎么打开液晶,请指教
MSP430F5529
MSP430F5529和TI TivaTM4C123G(ARM Cortex-M4)的区别是什么?两者的程序能通用吗?
CCS仿真器
为什么我用CCS9.0.0创建Project时找不到TM4C123GXL?
还有就是安装时已经选择了TM4系列,还是没有该端口?
使用模拟IIC读写EEPROM,增加WP后读写数据不对
使用MSP430的模拟IIC对EEPROM进行读写,其中增加了WP的保护,但在读写数据时不对,但不增加WP,读写数据就可以,想请教下是什么原因导致此现象;
WP是在写之前关闭,在写之后关闭,中间增加1s延时,有无问题?
TM4C的数据库
谁有TM4C的数据库能发一下吗?顺便能教下装到CCS里面用
MSP430FR5949IDAR FRAM中应用程序内存区域中代码会有个别字节被篡改
我们使用的芯片型号为MSP430FR5949IDAR,编程软件为IAR,通过IAR生成的文本文件烧写进入片子的FRAM中。设备运行一个月左右,发现FRAM中应用程序内存区域中代码会有个别字节被篡改,导致程序运行不正常。对于造成代码被更改的可能原因我们尚未有明确的判断,希望原厂能给些建议,谢谢!
MSP430FR5043: usslib采集的ADC,计算的tof,vol输出到上位机分别是多少的放大倍数和偏移量,请问有相关资料吗?
MSP430FR2111: 关于MSP430读取内部ADC
msp430用两节干电池供电,电压3.0V,在电池取出断电后,有220UF电容持续给MCU供电,由于MCU处在休眠状态电流只有1UA,所以电容对MCU放电时间很长,超过1分钟
现想做这样的处理,利用MCU内部电压监测MCU供电电压,每5S读取一次内部电源电压,当第二次读取比上一次读取电压差超过0.2V时MCU打开LED灯以快速放电,请问MSP430FR2111能否做到
以上动作?贵司有无类似的demo程序?
MSP430FR2433: 使用DCO时,是否需要对DCOFFG进行处理?
使用eusci_a_uart_ex1_loopbackAdvanced例程,学习MSP430FR2433的时钟,在debug模式下运行一段时间暂停,看到的关于CS模块的寄存器如下:
片子运行时钟SMCLK = MCLK = BRCLK = DCOCLKDIV = ~1MHz, ACLK = 32.768kHz;
即这里使用了DCO作为SMCLK的时钟源,又使用SMCLK作为波特率的时钟源,但是在初始化的时候并未对DCO进行配置;
但实际上DCOFFG显示是有错误的,这里不需要对该错误进行处理吗?
附main.c中的代码:
/* --COPYRIGHT--,BSD * Copyright (c) 2016, 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. * --/COPYRIGHT--*/ //****************************************************************************** //! EUSCI_A0 External Loopback test using EUSCI_A_UART_init API //! //! Description: This demo connects TX to RX of the MSP430 UART //! The example code shows proper initialization of registers //! and interrupts to receive and transmit data. //! //! SMCLK = MCLK = BRCLK = DCOCLKDIV = ~1MHz, ACLK = 32.768kHz //! //! //! Tested on MSP430FR4133 //! ----------------- //! RST -| P1.0/UCA0TXD|----| //! | | | //! | | | //! | P1.1/UCA0RXD|----| //! | | //! //! This example uses the following peripherals and I/O signals. You must //! review these and change as needed for your own board: //! - UART peripheral //! - GPIO Port peripheral (for UART pins) //! - UCA0TXD //! - UCA0RXD //! //! This example uses the following interrupt handlers. To use this example //! in your own application you must add these interrupt handlers to your //! vector table. //! - USCI_A0_VECTOR. //****************************************************************************** #include "driverlib.h" uint16_t i; uint8_t RXData = 0, TXData = 0; uint8_t check = 0; uint32_t clockValue; void main(void) { // stop watchdog WDT_A_hold(WDT_A_BASE); // XT1 Setup //Set P4.1 and P4.2 as Function Input. /* * Select Port 4 * Set Pin 1, 2 to input Module Function, XT1. */ GPIO_setAsPeripheralModuleFunctionInputPin( GPIO_PORT_P2, GPIO_PIN0 + GPIO_PIN1, GPIO_PRIMARY_MODULE_FUNCTION ); //Set external clock frequency to 32.768 KHz CS_setExternalClockSource(32768); //Set ACLK=XT1 CS_initClockSignal(CS_ACLK,CS_XT1CLK_SELECT,CS_CLOCK_DIVIDER_1); //Start XT1 with no time out CS_turnOnXT1(CS_XT1_DRIVE_0); //Set SMCLK = DCO with frequency divider of 1 CS_initClockSignal(CS_SMCLK,CS_DCOCLKDIV_SELECT,CS_CLOCK_DIVIDER_1); //Set MCLK = DCO with frequency divider of 1 CS_initClockSignal(CS_MCLK,CS_DCOCLKDIV_SELECT,CS_CLOCK_DIVIDER_1); // Configure UART pins //Set P1.0 and P1.1 as Secondary Module Function Input. /* * Select Port 1 * Set Pin 0, 1 to input with function, (UCA0TXD/UCA0SIMO, UCA0RXD/UCA0SOMI). */ GPIO_setAsPeripheralModuleFunctionInputPin( GPIO_PORT_P1, GPIO_PIN4 + GPIO_PIN5, GPIO_PRIMARY_MODULE_FUNCTION ); /* * Disable the GPIO power-on default high-impedance mode to activate * previously configured port settings */ PMM_unlockLPM5(); //Configure UART //SMCLK = 1MHz, Baudrate = 115200 //UCBRx = 8, UCBRFx = 0, UCBRSx = 0xD6, UCOS16 = 0 EUSCI_A_UART_initParam param = {0}; param.selectClockSource = EUSCI_A_UART_CLOCKSOURCE_SMCLK; param.clockPrescalar = 8; param.firstModReg = 0; param.secondModReg = 0xD6; param.parity = EUSCI_A_UART_NO_PARITY; param.msborLsbFirst = EUSCI_A_UART_LSB_FIRST; param.numberofStopBits = EUSCI_A_UART_ONE_STOP_BIT; param.uartMode = EUSCI_A_UART_MODE; param.overSampling = EUSCI_A_UART_LOW_FREQUENCY_BAUDRATE_GENERATION; if(STATUS_FAIL == EUSCI_A_UART_init(EUSCI_A0_BASE, ¶m)) { return; } EUSCI_A_UART_enable(EUSCI_A0_BASE); EUSCI_A_UART_clearInterrupt(EUSCI_A0_BASE, EUSCI_A_UART_RECEIVE_INTERRUPT); // Enable USCI_A0 RX interrupt EUSCI_A_UART_enableInterrupt(EUSCI_A0_BASE, EUSCI_A_UART_RECEIVE_INTERRUPT); // Enable interrupt //Verify if the Clock settings are as expected clockValue = CS_getMCLK(); clockValue = CS_getACLK(); clockValue = CS_getSMCLK(); __enable_interrupt(); while(1) { TXData = TXData + 1; // Increment TX data // Load data onto buffer EUSCI_A_UART_transmitData(EUSCI_A0_BASE, TXData); while(check != 1) { ; } check = 0; } } //****************************************************************************** // //This is the USCI_A0 interrupt vector service routine. // //****************************************************************************** #if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__) #pragma vector=USCI_A0_VECTOR __interrupt #elif defined(__GNUC__) __attribute__((interrupt(USCI_A0_VECTOR))) #endif void EUSCI_A0_ISR(void) { switch(__even_in_range(UCA0IV,USCI_UART_UCTXCPTIFG)) { case USCI_NONE: break; case USCI_UART_UCRXIFG: RXData = EUSCI_A_UART_receiveData(EUSCI_A0_BASE); if(!(RXData == TXData)) // Check value { while(1) { ; } } check = 1; break; case USCI_UART_UCTXIFG: break; case USCI_UART_UCSTTIFG: break; case USCI_UART_UCTXCPTIFG: break; } }
MSP430F5172: 程序烧录不良
Other Parts Discussed in Thread: MSP-GANG, UNIFLASH
Order No.: t01828184, quantity 2K
Order No.: t01755412, quantity 2K
Order No.: t01755410, quantity 4K
The total quantity is 8K. After putting into operation, 4910 PCs. have been tested, and 979 PCs. are found to have poor burning. The on-site staff wear anti-static bracelets. The operation is standard. The burning data pin test connection chip is normal, but it cannot be burned. Please help arrange a solution as soon as possible.



MSP430G2553: ADC10采样问题。
各位大神,我用信号源产生一个2kHz的正弦波信号,幅度1v,然会通过MSP430G2553的ADC10来采集信号,再将采集到数据通过UART发送到matlab中进行波形的还原,但是还原出来的信号总是会有毛刺(有时候也正常)。请问这是我程序哪里出问题了嘛?(信号源产生的信号是准确的,已经测试过了)。
下图为两种出现毛刺的情况
正常现象
#include <msp430.h>
#include "stdint.h"
#define nn 100;
uint16_t adcbuff[100] = {0};
uint8_t combuff[20]={0};
uint8_t iscomend =0 ;
/**
* main.c
*/
void InitSystemClock(void)
{
DCOCTL = CALDCO_16MHZ;
BCSCTL1 = CALBC1_16MHZ;
BCSCTL2 &= ~SELS;
BCSCTL2 &= ~(DIVS0 | DIVS1);
}
void InitUART(void)
{
UCA0CTL1 |= UCSWRST;
UCA0CTL0 &= ~(UCMODE1 | UCMODE0);
UCA0CTL0 &= ~UCSYNC;
UCA0CTL1 |= (UCSSEL1 | UCSSEL0);
UCA0BR0=0x82;
UCA0BR1=0x06;
UCA0MCTL |= (UCBRS1| UCBRS2);
P1SEL |= BIT1 + BIT2;
P1SEL2 |= BIT1 + BIT2;
UCA0CTL1 &= ~UCSWRST;
IE2 |= UCA0RXIE;
IFG2 &= ~UCA0RXIFG ;
}
void InitADCTrigByTimerA(void)
{
ADC10CTL1 |= ADC10SSEL_2;
ADC10CTL1 |= SHS0;
ADC10CTL1 |= CONSEQ1;
ADC10CTL0 |= SREF_1;
ADC10CTL0 |= ADC10SHT_1;
ADC10CTL0 &= ~ADC10SR;
ADC10CTL0 |= REF2_5V;
ADC10CTL0 |= REFON;
ADC10CTL1 |= INCH_4;
ADC10AE0 |= 1 << 4;
ADC10DTC0 |= ADC10CT;
ADC10SA = (uint16_t)(adcbuff);
ADC10CTL0 |= ADC10ON;
ADC10CTL0 |= ENC;
}
void InitTimerA()
{
TA0CTL |=TASSEL1;
TA0CTL |= MC0;
TA0CCR0 =0x004F;
TA0CCR1= 0x002F;
TA0CCTL0 &= ~CAP;
TA0CCTL1 &= ~CAP;
TA0CCTL1 |= OUTMOD_6;
P1SEL |= BIT6;
P1DIR |= BIT6;
}
int main(void)
{
uint16_t cnt = 0;
WDTCTL = WDTPW | WDTHOLD; // stop watchdog timer
InitSystemClock();
InitUART();
InitADCTrigByTimerA();
InitTimerA();
__bis_SR_register(GIE);
while(1)
{
if(iscomend)
{
iscomend =0;
for(cnt = 0; cnt<100;cnt ++)
{
while(UCA0STAT & UCBUSY);
UCA0TXBUF=*(adcbuff+cnt)/256;
__delay_cycles(30000);
while(UCA0STAT & UCBUSY);
UCA0TXBUF=*(adcbuff+cnt)%256;
__delay_cycles(30000);
}
}
}
return 0;
}
#pragma vector = USCIAB0RX_VECTOR
__interrupt void UART_Receive_ISR(void)
{
static uint8_t cnt2 = 0;
if(IFG2 & UCA0RXIFG)
{
IFG2 &= ~UCA0RXIFG;
combuff[cnt2++] = UCA0RXBUF;
cnt2 %= 20;
if(combuff[cnt2 - 1] == '#')
{
cnt2 = 0;
iscomend = 1;
}
}
}
MSP-EXP430G2: 问一个目标板的问题?
手头有一块MSP-EXP430G2,发现它有一个SBW的对外接口,
不知道这个SBW的接口可不可以仿真另一个目标板。就是将跳线J3全部断开,使用J4的2.3.4.5四个脚,对应VCC,SBWTCK ,SBWTDIO,GND.
如果看可以的话,能仿真全系列的MSP430吗?
MSP430F5529: msp430f5529
定义了一个数组S【5】={1,1,1,1,0}
以SMCLK(500KHz)为参考,想通过引脚将数组输出,即引脚输出8us高电平,2us低电平的循环
想用定时器来做,但是不知道该怎么设置
MSP430F4250: msp430f4250
需要保留的控制通讯接口(如下图)和我们下载通讯驱动接口(如下图)产生冲突,控制通讯接口如何接,你这样子说我们不明白,你要告诉我们怎么把控制信号(CE,SCL,DATA,MODE)分别接到贵司IC对应引脚上;能否提供一些外围电路资料或者别人设计过的资料供我们技术参考?