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

MSP430AFE253IPWR SVS设置问题

$
0
0

由于需要配置低电压工作状态,在SVS设置中,VLD有个设置看不懂,1.2这个是哪个的电压值?


【TI 测评】+ MSP-EXP432P401R -- 1、开箱上电

$
0
0

收到板卡,先来上电测试下板卡默认的工作。

 

一、开箱

产品全套

板子正面图片


板子背面图片


 

二、上电

USB连接线将板卡与电脑连接,电脑显示安装这么多驱动。


 


 

三、上电运行情况

 

上电后,LED2闪烁,按按键S2切换LED2显示的颜色,按S1改变LED2闪烁的频率,拍摄的视频显示的不完整,有点奇怪。


 

 

 

 

【TI 测评】+msp432环境搭建及原理图分析

【TI 测评】+ MSP-EXP432P401R -- 2、GPIO点亮LED

$
0
0

    根据官网的SDK文件包,来创建自己的工程文件,使用KEIL开发环境通过GPIO驱动LED灯,来测试工程文件。

    

   一、硬件

 

   板卡硬件LED部分电路图,板卡上有一个LED1和一个RGB LED2。

    二、创建自己的项目文件

    

    下载开发板的SDK文件: SDK

    

    SDK里面有完整工程文件,我从中选取相关的文件创建自己的项目文件。

    

    三、程序

 

    3.1、main.c

    

#include "config.h"

int main(void)
{
    volatile uint32_t i;

    // Stop watchdog timer
    WDT_A_hold(WDT_A_BASE);
	
		//InitPort();		//initport
		InitLed();
		
    while(1)
    {
       led_tog();

        // Delay
				rgbled_red_on();
        for(i=50000; i>0; i--);
				rgbled_red_off();
        for(i=50000; i>0; i--);
				rgbled_green_on();
        for(i=50000; i>0; i--);
				rgbled_green_off();
        for(i=50000; i>0; i--);
				rgbled_blue_on();
        for(i=50000; i>0; i--);
				rgbled_blue_off();
        for(i=50000; i>0; i--);
    }
}

    3.2、led.c

    

#include "config.h"


//initled
void InitLed(void)
{
	 // Set P1.0 to output direction
	GPIO_setAsOutputPin( GPIO_PORT_P1,GPIO_PIN0);
	
	GPIO_setAsOutputPin( GPIO_PORT_P2,GPIO_PIN0);	
	GPIO_setAsOutputPin( GPIO_PORT_P2,GPIO_PIN1);
	GPIO_setAsOutputPin( GPIO_PORT_P2,GPIO_PIN2);
	
	rgbled_red_off();
	rgbled_green_off();
	rgbled_blue_off();
}

    

    3.3、led.h

    

#ifndef LED_H_
#define LED_H_

void InitLed(void);

#define led_tog() GPIO_toggleOutputOnPin( GPIO_PORT_P1,GPIO_PIN0 ); // Toggle P1.0 output
#define rgbled_red_on() 		GPIO_setOutputHighOnPin( GPIO_PORT_P2,GPIO_PIN0 );
#define rgbled_red_off()		GPIO_setOutputLowOnPin( GPIO_PORT_P2,GPIO_PIN0 );

#define rgbled_green_on() 	GPIO_setOutputHighOnPin( GPIO_PORT_P2,GPIO_PIN1 );
#define rgbled_green_off()	GPIO_setOutputLowOnPin( GPIO_PORT_P2,GPIO_PIN1 );

#define rgbled_blue_on() 		GPIO_setOutputHighOnPin( GPIO_PORT_P2,GPIO_PIN2 );
#define rgbled_blue_off()		GPIO_setOutputLowOnPin( GPIO_PORT_P2,GPIO_PIN2 );
#endif  

   

   四、编译

    

    

    五、下载

 

    5.1、设置仿真器

    5.2、下载程序


 

    六、执行结果

 

    LED1和RGB LED2交替闪烁。

 

 

 

msp430fr2512 是否可以隔着较薄的金属面板实现触摸控制,设计注意要点是什么?

$
0
0

msp430fr2512是否可以隔着较薄的金属面板实现触摸控制,设计注意要点是什么?

MSP430AFE253IPWR

$
0
0

 目前对MCU-MSP430的工作电压区间做了如下实验,发现一个较为奇怪的离散现象;

详细情况如下:

 

1、输入电源直接接到C13,MCU-MSP430的临界工作电压在  1.7989V~1.8077V之间。

这个电压是测量C16电容得到的。

2、但是输入电源接在B+,B-,MCU-MSP430的临界工作电压在  1.8622V-1.8768V之间。

这个电压是测量C16电容得到的。

以上参数均是同一块板子测得,请问这两种情况下临界工作点为何相差近70mV?

请问有没有MSP430FR6047 单独调用USS模块的代码

$
0
0

老师最近让学这个,请问有没有MSP430FR6047单独调用USS模块的代码,看了手册没懂,就主要SAPH 和SHDS的代码

msp430fr6989使用问题?

$
0
0

6989用来驱动段码液晶时,我大概我用到25个pin,剩下的pin,我还能用作通用IO吗?


【TI 测评】+msp432 等间隔AD采样

$
0
0

等间隔AD采样

本测试为系列测试的第二个测试,等间隔AD采样测试。

1.    基本原理描述

本次测试为等间隔采样测试,其基本设计想法是,通过TIMER A的比较输出产生一个等间隔的AD转换信号,触发AD定时完成AD转换动作,并记录转换结果,通过uart展示AD转换结果。

产生的转换信号频率为128次/20ms,单次转换时间为156.25us。采用P55作为模拟量输入引脚。如下图开发板引脚定义中A0-P5.5。

开发板引脚定义:

  

2.    系统时钟设置

初始化系统工作于48MHz,同时调整MCLK为HFXT时钟源,SMCLK采用内部DCO时钟(3MHz)。

       CS_setDCOCenteredFrequency(CS_DCO_FREQUENCY_48);

       CS_initClockSignal(CS_MCLK, CS_HFXTCLK_SELECT, CS_CLOCK_DIVIDER_1 );

       CS_initClockSignal(CS_HSMCLK, CS_HFXTCLK_SELECT, CS_CLOCK_DIVIDER_2 );

       CS_initClockSignal(CS_SMCLK, CS_DCOCLK_SELECT, CS_CLOCK_DIVIDER_1 );

       CS_initClockSignal(CS_ACLK, CS_REFOCLK_SELECT, CS_CLOCK_DIVIDER_1 );

 

这里必须强调一句,必须将Flash的等待延时设置为3以上

      /* Set 2 flash wait states for Flash bank 0 and 1*/

      FlashCtl_setWaitState(FLASH_BANK0, 3);

      FlashCtl_setWaitState(FLASH_BANK1, 3);

之前的调试这个值设置为2,总是不正确,改为3后系统可以真确运行了。依据MSP432P401R的数据手册中的相关说明,如下表所示,48Mhz时对应flash wait states为3.

 

3.    ADC的设置

由于转换速度较快,因此初始化ADC的时钟为MCLK,4分频24MHz。ADC可以工作的最高频率为25MHz。

ADC14_initModule(ADC_CLOCKSOURCE_MCLK, ADC_PREDIVIDER_1, ADC_DIVIDER_4, 0);

选用TIMER A0 的CCR1和CCR0构成的比较输出作为ADC的转换控制信号。

      从用户手册中我们可以看到ADC14SHSx可以有8种采样控制输入源。

      从数据手册中可以找到ADC的外部触发源信号,如下表所示,001对应TA0_C1的比较输出信号。这个信号是准备选用的采样控制信号。

函数,设置触发源1:

ADC14_setSampleHoldTrigger(ADC_TRIGGER_SOURCE1, false);

4.    TIMER A的设置

      初始化定时器,由于希望定时周期为156.25us产生一次触发信号,因此,定时器的周期为156.25us

      选用SMCLK作为定时器的时钟源,3分频后,定时器的实际计数频率为1MHz。

      可得周期值为v = 156.25us*1M*10-6 = 163.84≈164 。因此设置CCR0 = 164.

      比较输出CCR1的比较值选择CCR0的1半,同时设置比较数据为set/reset模式。

定时器的设置为:

/* Timer_A Continuous Mode Configuration Parameter */

const Timer_A_UpModeConfig upModeConfig =

{

       TIMER_A_CLOCKSOURCE_SMCLK,           // SMCLK Clock Source

       TIMER_A_CLOCKSOURCE_DIVIDER_3,       // SMCLK/1 = 1Mhz

       164,

       TIMER_A_TAIE_INTERRUPT_DISABLE,     // Disable Timer ISR

       TIMER_A_CCIE_CCR0_INTERRUPT_DISABLE, // Disable CCR0

       TIMER_A_DO_CLEAR                     // Clear Counter

};

 

/* Timer_A Compare Configuration Parameter */

const Timer_A_CompareModeConfig compareConfig =

{

       TIMER_A_CAPTURECOMPARE_REGISTER_1,         // Use CCR1

       TIMER_A_CAPTURECOMPARE_INTERRUPT_DISABLE,   // Disable CCR interrupt

       TIMER_A_OUTPUTMODE_SET_RESET,               // Toggle output but

       82                                           //

};

 

5.    实测效果

将A0接3.3V,读数应该接近最大值16384;将A0接GND,读数应该为0.

 

program will not fit into available memory.

$
0
0

Description Resource Path Location Type
<a href="processors.wiki.ti.com/.../10099"> program will not fit into available memory. placement with alignment fails for section ".text" size 0x2174 . Available memory ranges: lnk_msp430g2253.cmd /LCD pass line 96 C/C++ Problem

MSP430FR2633做Mutual Capacitive Button,走线问题咨询,谢谢!

$
0
0

想咨询下  MSP430FR2633做Mutual Capacitive Button走线问题.

材质软板,两根TX 走线较长 ,且背面有地,请问对触摸是否 有影响, 实测 这连个TX对应的按键触摸效果基本不好, 但有两个按键效果好不错,谢谢!

msp430fr6043的uss模块相关问题

$
0
0

您好,关于6043的uss模块,PGA的输入范围我记得是35mv-1000mv,而给出的测试信号是包含y轴下半部分波形的,这个是因为在外部对信号进行了处理吗?还是uss模块设置后本身就能采集负电压?

MSP430 直接驱动drv8711的引脚时, 电流合适 吗?

$
0
0

DRV8711EVM上直接用MSP430的引脚去驱动DRV8711电流不会过大吗? 根据资料上说的DRV8711输入高电平的电流最大只能是70ua. IO 脚直接驱动不会存在电流过大吗? 如果更换成了其他MCU ,要怎么做了?

有关于MSP430硬件乘法器的例程吗?

$
0
0

最近程序中需要用到比较多的乘法和除法运算,直接使用乘除法运算应该速度会比较慢,正好430上包含了一个硬件乘法器,所以像试试看效果怎么样,但是找了找没找到例程,所以希望谁能给我一个例程。

MSP430F427的SD16模块启动慢

$
0
0

最近用MSP430F427做了个测量电路,用单片机的SD16做a/d,电路已经调通,出现了个问题,就是SD16启动特别的慢,请大家指导!谢谢!

现象:1、MSP430F427上电启动,SD16的结果从正的最大慢慢变化成正确的数值;

           2、(停用情况下为省电让系统休眠)休眠重新启动后,SD16的结果从负的最大慢慢变化成正确的数值;

                    休眠时间越长,SD16的结果从负变化成正确数值的时间越长;有时要20多秒;

           3、用中断和程序控制采集效果一样;

           4、输入加缓冲放大和没加效果一样;

           5、用内基准和外基准一样;

           6、几个通道都一样。


请帮提供蓝牙(从属设备)中断处理程序

$
0
0

大家好:

    我们购买了BT-MSPAUDSOURCE Tools Bluetooth and MSP430 Audio开发板(MSP430F5229),希望提供中断处理程序(最好主设备,从属设备各一套);最好完整一些(宏定义,初始化,执行完整部分)  

      谢谢!

 

MSP430F2132的BSL管脚到底是P1.1 P1.2还是使用UART接口作为BSL?数据手册上面的描述不太清晰

$
0
0

Dears,

请问MSP430F2132的BSL管脚到底是P1.1 P1.2还是使用UART接口作为BSL?数据手册上面的描述不太清晰,多谢!

如果确认是P1.1 P1.2那就将这两个IO作为BSL引出,如果用UART就将P3.4 P3.5引出,是哪一个?

用FET工具+带SOCKET 的目标板方式(适配器),有对应的TI适配器型号吗?

$
0
0

我想用FET工具+带SOCKET 的目标板方式(适配器),对MSP430FR2100IRLLR(VQFN24)芯片进行CODE烧录。

用TI这个型号的适配器:MSP-TS430RGE24A,不知道是否可以。

帮忙确认下,谢谢。

CCS自动调用硬件乘法器运算速度慢的问题

$
0
0

MSP430FR6972自带了硬件乘法器,之前使用的是IAR开发环境,编译器不能够自动调用硬件乘法器,但是CCS环境可以自动调用硬件乘法器,于是我特意安装了一个CCS程序,并在CCS环境上写了一个测试程序(就是想验证是否能够自动调用硬件乘法器),为了进行对比我写了一段使用寄存器调用硬件乘法器的代码。

调试这个程序时,发现同时计算一千次乘法运算使用“ * ”运算符的运行时间比使用寄存器实现的乘法慢了近一倍。所以就怀疑,CCS到底有没有使用硬件乘法器,使用了的话,怎么可能会慢这么多呢?我看编译的汇编里面调用了”CALLA   #__mspabi_mpyl_f5hw“这句代码应该就是在调用硬件乘法器呀!而且我看硬件乘法器对应的寄存器,也确实有变化,这就说明了确实使用了硬件乘法器,只是这个速度不知道为什么慢这么多。

我的测试代码:

#include "config.h"
#include "msp_uart.h"
#include "msp_tim.h"

int main(void)
{
uint32_t res, sum;
// float a,b,c;
WDTCTL = WDTPW+WDTHOLD_L;
Led_Init();
USCI_A1_Init();
PM5CTL0 &= ~LOCKLPM5;
Clock_Init();
_EINT();
while(1)
{
/* 第一部分代码 */
printf("\n Part1 \n");
TimerA1_Init();
for(uint16_t i=0; i<1000; i++)
{
res=i*i;
sum += res;
}
TimerA1_Stop();
printf("Time->%ld us\n", Tick);
printf("%ld\n", sum);
Tick=0;
sum=0;

/* 第二部分代码 */
printf("\n Part2 \n");
TimerA1_Init();
for(uint16_t i=0; i<1000; i++)
{
MPY_INT16(i, i, res);
sum += res;
}
TimerA1_Stop();
printf("Time->%ld us\n", Tick);
printf("%ld\n", sum);
Tick=0;
sum=0;

LED1_Blink();
Delay_Ms(500);


}

}

输出结果:

 Part1:

Time->3999 us

332833500

Part2:me->2332 us

332833500

USB 转 RJ45 方案

$
0
0

如题,请问TI有USB转RJ45的方案吗,TI的官网没有找到合适的方案

谢谢

Viewing all 3634 articles
Browse latest View live