芯片:MSP430FR6972
问题:你好,我想问一下ADC12采样1ms触发一次,开一个通道单次采样与开几个通道连续采样在采样时间及功耗方面是不是都差不多。时间应该够吧,功耗呢?差的多不多呢?
芯片:MSP430FR6972
问题:你好,我想问一下ADC12采样1ms触发一次,开一个通道单次采样与开几个通道连续采样在采样时间及功耗方面是不是都差不多。时间应该够吧,功耗呢?差的多不多呢?
请教一个问题,OFIFG一直为1是什么原因?采用xt2模式,外接8M晶振,晶振起振,但是一直检测到OFIFG为高,请问这个正常吗?
芯片:MSP430FR6972
IDE:IAR6.14
问题描述:
我的程序平时在一直采集电流,接收到读取电池电压指令后关闭采样定时器,重新配置ADC通道采集电池电压。调试过程发现采集完后读取的电压值老是不正确,进入IAR调试定位到temp = ADC12MEM0;这一句发现此时ADC12MEM0的值是对的,但是全速跑然后将断电定位到Indicator_Status.Voltage_Bat = temp;这一句发现temp值不正确,通过调试框看寄存器值ADC12MEM0值却对的。这是什么原因导致的呢?
相关程序:
{
TimerB0_Stop(); //暂停电流采样
For_Real_Sample();
while(ADC12IFGR0 & ADC12IFG1 == 0);
temp = ADC12MEM0;//这里
Indicator_Status.Voltage_Bat = temp;
}
void For_Real_Sample(void)
{
PowerSwitch(ADC_CAP,ENABLE);
PowerSwitch(ADC_BAT,ENABLE);
while(REFCTL0 & REFGENBUSY); // If ref generator busy, WAIT
REFCTL0 |= REFVSEL_2 | REFON; // Select internal ref = 2.5V, Internal Reference ON
ADC12CTL0 &= ~ADC12ENC;
ADC12CTL0 = ADC12ON | ADC12SHT0_2 | ADC12MSC; // Turn on ADC12, 采样周期64 ADC12CLK,采样保持时间尽量长
ADC12CTL1 = ADC12SHP |ADC12SHS_0 | ADC12CONSEQ_1 | ADC12SSEL_3 | ADC12PDIV_1; // ADC12SC触发采样,序列通道采样 0-1,SMCLK/4
ADC12MCTL0 = ADC12VRSEL_1 | ADC12INCH_14; //ADC_BAT
ADC12MCTL1 = ADC12VRSEL_1 | ADC12INCH_15 | ADC12EOS; //ADC_CAP
ADC12IER0 = 0; //关闭中断
while(!(REFCTL0 & REFGENRDY)); // Wait for reference generator to settle
ADC12CTL0 |= ADC12ENC + ADC12SC;
}
做的MSP430FR5992的板子,只用37/38PIN连接了zFET的TEST和RST,一直显示TI MSP430 USB1_0/MSP430 : Target must be connected before loading program.
Hello TI 团队:
我现在用的单片机型号是FR2512,下载接口选用的是SBW的方式,现在想实现加密功能,选择烧断熔丝的方式,熔丝烧断后不能再通过SBW再下载,也不能读出来程序。 现在有一个疑问:在烧断熔丝的情况下,再采用BSL的方式下我的程序是否还能被读出来?如果可以读出来的话,我要怎样实现。谢谢。
MSP430i2401远程升级BSL怎么跳转APP应用代码?
客户利用MSP430FR2532设计RF遥控器。 RF发射器程序是程序部分与地址码部分分开的,程序写在连续的ROM内,地址码烧录在flash内,在出厂烧录的时候,将客户指定的起始地址写入flash,然后自加1进行地址改写烧录。客户现提出需求,希望我们能够提供一台烧录器让他们可以自己进行地址码的改写,想请问这个功能能否在不提供我司烧录程序的情况下实现,即只改写flash部分的地址码而不影响程序部分。
Usb连上电脑和FR6047板后可以连接。
链接上以后就在不停的刷新 errors
按板子上的按键 ,上下左右中间按键 ,液晶屏都没有被点亮。
点 request update 可以把设置更新下去
点测试 ,无数据。
点ADC CAPTURE 无数据
我将定时器和uart设置时钟为ACLK,再使芯片进入LPM3,那么 定时中断还能喂看门狗吗,如果不能会不会复位,uart还能通过串口中断接收数据吗
相关文件中有提到USS_1.70.00.03的文件夹,可是没找到,哪里可以直接下载
原理图是这样的,代码如下
void main(void)
{
WDTCTL |= WDTPW + WDTHOLD;
ADC12CTL0 = REF2_5V + REFON;
DAC12_0CTL |= DAC12CALON; //启动校验DAC
while((DAC12_0CTL & DAC12CALON) != 0){_NOP();} //等待校验完成
DAC12_0CTL = DAC12IR + DAC12AMP_5 + DAC12ENC;
while(1)
{
DAC12_0DAT = 0x0FFF;
delay_ms(100);
DAC12_0DAT = 0x0999;
delay_ms(100);
}
}
按这样Vref+应该是有2.5V输出的,但是实测为0,使用的是BSL的下载方式能正常烧录进去,请问可能是什么原因导致的?谢谢
Hi TI 团队:
产品设计中所选型号为F67471A,因为此颗官网无法提供样片,所以申请的是替换样片F6779 1A (数据手册显示为同一系列)。但是在官网上显示的替换型号为F6779 A。想了解一下这两颗有什么区别,使用哪颗做样品的替换更好一些? 会不会影响后续实际产品的稳定性?感谢帮忙答复,谢谢。
请问TI工程师:
我今天调试程序,突然调试状态无法运行,Load程序到芯片上后,无法运行到main,程序停留在boot.c文件中的 __mpu_init()。
这是什么情况~~ 着急等待回复
辅助时钟ACLK使用VLO晶振;
UART配置为ACLK的主时钟;
但是用串口助手调试,发现并不会进入UART接收中断。
难道ACLK没有工作,还是配置错误?
另外,我使用SMCLK作为UART主时钟时,正常工作。
附上串口初始化配置程序和基本时钟系统配置程序:
void UART_initial(void)//UART模块配置
{
P1SEL = BIT1 + BIT2;//P1.1&P1.2 SECOND FUNCTION
P1SEL2 = BIT1 + BIT2;
P1DIR = BIT2 + BIT4;//P1.2 P1.4 OUTPUT ,P1.1 RX
UCA0CTL1 |= UCSWRST;// UART RESET
UCA0CTL1 |= UCSSEL_1;// ACLK 12kHz VL Oscillator
UCA0BR0 = 1;//104
UCA0BR1 = 0;
UCA0MCTL = UCBRS0+UCBRS1;//generate 9600BPS
UCA0CTL1 &= ~UCSWRST;// OPERATION
IE2 |= UCA0RXIE;//OPEN RX interrupt
}
void Clk_initial(void)
{
if(CALBC1_1MHZ==0xFF || CALDCO_1MHZ==0xFF)
{
while(1);
}
DCOCTL = 0; // Select lowest DCOx and MODx settings
BCSCTL1 = CALBC1_1MHZ; // Set RSEL2=0X04:RSEL4 + XT20FF=0X80
DCOCTL = CALDCO_1MHZ; //Set DCO1=0x40:DCO2
BCSCTL2 = SELM0; //SELM0=0x40 1MHz DCO FOR MCLK&SMCLK internal Resistor
BCSCTL3|=LFXT1S_2;//guidesheet上面没写BCSCTL3,这里选择ACLK的时钟源为内部VLO
}
烦劳各位了!
请问:MSP430F6736的SD24—B模块能否用于单端输入模式(使用时输入信号最大3V),可以的话如何连接硬件部分,外接参考电压范围是多少?
是不是将Vref处输入3V,模拟量输入P端输入信号,N端连接至AVSS?
AVSS,以及N端,P端跟AVSS之间都需要接电容么,推荐值为多少呢?
谢谢!
我看到ccs 已经完全免费了,但是使用TI编译器时,有16KB代码大小限制. 我想问一下现在CCS V8也有这个代码大小限制么?还是已经完全放开了?为什么会设置这样的限制啊,既然已经免费了.要是想使用全功能的TI编译器的话,怎么获得呢?可以买到么?谢谢!
我的客户在使用MSP-FET时遇见一个IAR6.5出现failed to set device voltage错误,请问有什么方法可以解决?
我将在note里面备注客户信息。
想請問關於一些預處理的問題
目前使用的是MSP430FR2355,希望能在燒錄的同時將部分資料進行預寫入Information Memory。
需要在進入main之前則要完成此動作,其實就是希望能模仿eeprom的功能,能在燒錄時就先把資料放進去。
时钟例程中为什么有这几句话
// Output ACLK & SMCLK
P7DIR |= BIT0 | BIT1;
P7SEL0 &= ~BIT0 | ~BIT1;
P7SEL1 |= BIT0 | BIT1;
不加上的话程序不会循环运行,不知道为什么?这几句话是必要的吗?我看和时钟配置没关系呀,它只是时钟的输出引脚而已啊