论坛

Launchpad原型斗篷?

开始于 "Ste ... @ gmail.com [msp430]" 2014年5月11日
约翰,

Tayda的价格为每张$ 0.19(数量1至数量49)。

http://www.taydaelectronics.com/connectors-sockets/stackable-headers/stackable-header-10-pins-2-54mm.html http://www.taydaelectronics.com/connectors-sockets/stackable-headers/stackable-header-10-pins-2-54mm.html

他们位于中国,需要一段时间(几周)才能到达 美国(不确定您住的地方,但是...)如果您只需要一些,请告诉我 然后我将一对夫妇塞进信封,然后由USPS首先将它们运送给您 类。转到我的商店(zenstore.granzeier.com)进行注册(以便我拥有您的 送货地址),然后通过链接向我发送电子邮件,并提及我 提供给他们,以及您需要多少,我将把它们拿出来。 (现在您可以看到 为什么我不是百万富翁。 ;-))

祝好运,

艺术

---在m ...中写道:

2014年5月12日星期一下午6:27,art3 @ ... mailto:art3 @ ... [msp430]写道:

史蒂夫

我的商店里有几对。有两种版本:一种带有无焊锡 面包板和直通接头连接器,用于堆叠多个增强包



嗨,Art,
我知道他们应该不会很难找到,但是您碰巧会遇到一个 您提到的直通接头的制造商和零件号?
谢谢,
-约翰

MSP430入门微控制器

嗨,大家好,
我正在尝试在F2013上设置DCO和计时器。到目前为止非常困惑。
我想做的是将DCO从32678Hz设置为16MHz
晶体,然后将未分割的DCO(mclk)馈入计时器,然后
使用CCR0捕获32768Hz(未划分的aclk)。
使用输出P1.0切换时,我期望的频率为32768/2
但是我认为大约是256/2,因为它没有在
全部,但中断是由于0xffff处的溢出或
16777216/65536 = 256

有人可以看到我在做什么吗?
谢谢。
皮特·L。

#包括

int main(无效)
{
无符号整数x = 0;
WDTCTL = WDTPW + WDTHOLD
// ti示例中的DCO设置16Mhz
如果(CALBC1_16MHZ == 0xFF)
{
while(1);
}
DCOCTL = 0;
BCSCTL1 = CALBC1_16MHZ;
DCOCTL = CALDCO_16MHZ;

//计时器设置
CCTL0 = CM_1 + CCIE + CCIS_1 + CAP + OUTMOD_4;
塔克= TASSEL_2 + MC_2 + TAIE + TACLR;

P1DIR | = 0x03;
_BIS_SR(GIE);

while(1){;}
}

#pragma vector = TIMERA1_VECTOR
__interrupt void Timer_A(void)
{
塔克|= TACLR;
塔克&= ~TAIFG;
P1OUT ^ = 0x01; //切换P1.0
}
---
保护 is active.
http://www.avast.com



嗨,大家好,
我正在尝试在F2013上设置DCO和计时器。到目前为止非常困惑。
我想做的是将DCO从32678Hz设置为16MHz
晶体,然后将未分割的DCO(mclk)馈入计时器,然后
使用CCR0捕获32768Hz(未划分的aclk)。
使用输出P1.0切换时,我期望的频率为32768/2
但是我认为大约是256/2,因为它没有在
全部,但中断是由于0xffff处的溢出或
16777216/65536 = 256

有人可以看到我在做什么吗?
谢谢。
皮特·L。

#包括

int main(无效)
{
无符号整数x = 0;
WDTCTL = WDTPW + WDTHOLD
// ti示例中的DCO设置16Mhz
如果(CALBC1_16MHZ == 0xFF)
{
while(1);
}
DCOCTL = 0;
BCSCTL1 = CALBC1_16MHZ;
DCOCTL = CALDCO_16MHZ;

//计时器设置
CCTL0 = CM_1 + CCIE + CCIS_1 + CAP + OUTMOD_4;
塔克= TASSEL_2 + MC_2 + TAIE + TACLR;

P1DIR | = 0x03;
_BIS_SR(GIE);

while(1){;}
}

#pragma vector = TIMERA1_VECTOR
__interrupt void Timer_A(void)
{
塔克|= TACLR;
塔克&= ~TAIFG;
P1OUT ^ = 0x01; //切换P1.0
}
---
保护 is active.
http://www.avast.com



要访问引脚上用于输出的计时器功能,您需要设置
SEL寄存器中的相关位
P1.0未连接到定时器作为输出,仅作为TACLK的输入
OUTMOD是输出或比较功能,在捕获模式下不执行任何操作

为此,您需要对捕获事件实施ISR
然后手动切换图钉


在15/05/2014 8:29 PM,Peter Lissenburg p ... @ sensair.com [msp430]写道:
> 嗨,大家好,
>我正在尝试在F2013上设置DCO和计时器。到目前为止非常困惑。
>我想做的是将DCO从32678Hz设置为16MHz
>晶体,然后将未分割的DCO(mclk)馈入计时器,然后
>使用CCR0捕获32768Hz(未划分的aclk)。
>使用输出P1.0切换时,我期望的频率为32768/2
>但是我认为大约是256/2,因为它没有在
>全部,但中断是由于0xffff处的溢出或
>16777216/65536 = 256
>
>有人可以看到我在做什么吗?
> 谢谢。
> 皮特·L。
>
>#include int main(void)
> {
> 无符号整数x = 0;
>WDTCTL = WDTPW + WDTHOLD
>// ti示例中的DCO设置16Mhz
>如果(CALBC1_16MHZ == 0xFF)
> {
> while(1);
> }
> DCOCTL = 0;
>BCSCTL1 = CALBC1_16MHZ;
>DCOCTL = CALDCO_16MHZ;
>
> //计时器设置
>CCTL0 = CM_1 + CCIE + CCIS_1 + CAP + OUTMOD_4;
>TACTL = TASSEL_2 + MC_2 + TAIE + TACLR;
>
> P1DIR | = 0x03;
> _BIS_SR(GIE);
>
> while(1){;}
> }
>
>#pragma vector = TIMERA1_VECTOR
>__interrupt void Timer_A(void)
> {
> 塔克|= TACLR;
> 塔克&= ~TAIFG;
>P1OUT ^ = 0x01; //切换P1.0
> }
> ---
>由于avast,此电子邮件没有病毒和恶意软件!防毒软件 保护处于活动状态。
> http://www.avast.com
>
>
>
>
嗨,Al,
thanks for that.
是的,我不知道为什么把那个输出语句放在那里,无奈地我
假设!
我的底部确实有一个ISR。那就是我要切换的地方
来自的信号。但是我以为我会在
来自32k Xtal的aclk计数约为512。
(很抱歉,我现在意识到设置DCO与
32k Xtal)。
但是该中断大约在TAR翻转后出现。
所以
CCTL0 = CM_1 + CCIE + CCIS_1 + CAP;
#定义CM_1(1 * 0x4000u)/ *捕获模式:1-位置。边缘* /
#定义CCIE(0x0010)/ *捕获/比较中断使能* /
#定义CCIS_1(1 * 0x1000u / *捕获输入选择:1-CCIxB * /
#定义CAP(0x0100)/ *捕获模式:1 /比较模式:0 * /

没有将CCR0设置为在aclk的前沿中断。
一切看起来都不错,但随后却无法正常工作,所以我一定错了!

皮特·L。

在15/05/2014 11:48 PM,Onestone o ... @ bigpond.net.au [msp430]写道:
>要访问引脚上的计时器功能以输出, need to set the
>SEL寄存器中的相关位
>P1.0未连接到定时器作为输出,仅作为TACLK的输入
>OUTMOD是输出或比较功能,在捕获模式下不执行任何操作
>
>为此,您需要对捕获事件实施ISR
>然后手动切换图钉
>
> 铝
>
>在15/05/2014 8:29 PM,Peter Lissenburg p ... @ sensair.com [msp430]写道:
> > 嗨,大家好,
> >我正在尝试在F2013上设置DCO和计时器。到目前为止非常困惑。
> >我想做的是将DCO从32678Hz设置为16MHz
> >晶体,然后将未分割的DCO(mclk)馈入计时器,然后
> >使用CCR0捕获32768Hz(未划分的aclk)。
> >使用输出P1.0切换时,我期望的频率为32768/2
> >但是我认为大约是256/2,因为它没有在
> >全部,但中断是由于0xffff处的溢出或
> >16777216/65536 = 256
> >
> >有人可以看到我在做什么吗?
> > 谢谢。
> > 皮特·L。
> >
> > #包括
> >
> > int main(无效)
> > {
> > 无符号整数x = 0;
> >WDTCTL = WDTPW + WDTHOLD
> >// ti示例中的DCO设置16Mhz
> >如果(CALBC1_16MHZ == 0xFF)
> > {
> > while(1);
> > }
> > DCOCTL = 0;
> >BCSCTL1 = CALBC1_16MHZ;
> >DCOCTL = CALDCO_16MHZ;
> >
> > //计时器设置
> >CCTL0 = CM_1 + CCIE + CCIS_1 + CAP + OUTMOD_4;
> >TACTL = TASSEL_2 + MC_2 + TAIE + TACLR;
> >
> > P1DIR | = 0x03;
> > _BIS_SR(GIE);
> >
> > while(1){;}
> > }
> >
> >#pragma vector = TIMERA1_VECTOR
> >__interrupt void Timer_A(void)
> > {
> > 塔克|= TACLR;
> > 塔克&= ~TAIFG;
> >P1OUT ^ = 0x01; //切换P1.0
> > }
> >
> >
> > ---
> >由于avast,此电子邮件没有病毒和恶意软件!防毒软件
>保护处于活动状态。
> > http://www.avast.com
> >
> >
> >
> >
> >
> >
> >
> >
是的,我在写完之后注意到了您的打扰,忘记了
向下滚动!

好,首先您的中断是清除TACTL TAIFG标志
翻转中断TAIE,这是您的切换来自何处
您应该已经在TACTL0中使用了CCIFG中断。它看起来也像
您已使用TA1的通用向量中断地址,而没有
使用向量寄存器TAIV。您应该已经使用TIMERA0_VECTOR
对于CCR0。 塔克| = TACLR是不必要的,并且将计时器重置两次
潜在地。所以这个

> //计时器设置
>CCTL0 = CM_1 + CCIE + CCIS_1 + CAP;
>TACTL = TASSEL_2 + MC_2 + TACLR;
>

然后摆脱不需要的TIMERA1_VECTOR处理程序,而是将其替换


>#pragma vector = TIMERA0_VECTOR
>__interrupt void Timer_A(void)
> {
> CTTL0 &= ~CCIFG;
>P1OUT ^ = 0x01; //切换P1.0
> }

或类似的事情,出于这个原因,我不使用micros进行C编程,上面是 不如BIS / BIC等明显



在16/05/2014 9:59 AM,Peter Lissenburg p ... @ sensair.com [msp430]写道:
> 嗨,Al,
> thanks for that.
>是的,我不知道为什么把那个输出语句放在那里,无奈地我
> 假设!
>我的底部确实有一个ISR。那就是我要切换的地方
>来自的信号。但是我以为我会在
>来自32k Xtal的aclk计数约为512。
>(很抱歉,我现在意识到设置DCO与
> 32k Xtal)。
>
> 所以
>CCTL0 = CM_1 + CCIE + CCIS_1 + CAP;
>#定义CM_1(1 * 0x4000u)/ *捕获模式:1-位置。边缘* /
>#定义CCIE(0x0010)/ *捕获/比较中断使能* /
>#定义CCIS_1(1 * 0x1000u / *捕获输入选择:1-CCIxB * /
>#定义CAP(0x0100)/ *捕获模式:1 /比较模式:0 * /
>
>没有将CCR0设置为在aclk的前沿中断。
>一切看起来都不错,但随后却无法正常工作,所以我一定错了!
>
> 皮特·L。
>在15/05/2014 11:48 PM,Onestone o ... @ bigpond.net.au [msp430]写道:
>>要访问引脚上用于输出的计时器功能,您需要设置
>>SEL寄存器中的相关位
>>P1.0未连接到定时器作为输出,仅作为TACLK的输入
>>OUTMOD是输出或比较功能,在捕获模式下不执行任何操作
>>
>>为此,您需要对捕获事件实施ISR
>>然后手动切换图钉
>>
>> 铝
>>
>>在15/05/2014 8:29 PM,Peter Lissenburg p ... @ sensair.com [msp430]写道:
>> > 嗨,大家好,
>> >我正在尝试在F2013上设置DCO和计时器。到目前为止非常 confused.
>> >我想做的是将DCO从32678Hz设置为16MHz
>> >晶体,然后将未分割的DCO(mclk)馈入计时器,然后
>> >使用CCR0捕获32768Hz(未划分的aclk)。
>> >使用输出P1.0切换时,我期望的频率为32768/2
>> >但是我认为大约是256/2,因为它没有在
>> >全部,但中断是由于0xffff处的溢出或
>> >16777216/65536 = 256
>> >
>> >有人可以看到我在做什么吗?
>> > 谢谢。
>> > 皮特·L。
>> >
>> > #包括
>> >
>> > int main(无效)
>> > {
>> > 无符号整数x = 0;
>> >WDTCTL = WDTPW + WDTHOLD
>> >// ti示例中的DCO设置16Mhz
>> >如果(CALBC1_16MHZ == 0xFF)
>> > {
>> > while(1);
>> > }
>> > DCOCTL = 0;
>> >BCSCTL1 = CALBC1_16MHZ;
>> >DCOCTL = CALDCO_16MHZ;
>> >
>> > //计时器设置
>> >CCTL0 = CM_1 + CCIE + CCIS_1 + CAP + OUTMOD_4;
>> >TACTL = TASSEL_2 + MC_2 + TAIE + TACLR;
>> >
>> > P1DIR | = 0x03;
>> > _BIS_SR(GIE);
>> >
>> > while(1){;}
>> > }
>> >
>> >#pragma vector = TIMERA1_VECTOR
>> >__interrupt void Timer_A(void)
>> > {
>> > 塔克|= TACLR;
>> > 塔克&= ~TAIFG;
>> >P1OUT ^ = 0x01; //切换P1.0
>> > }
>> >
>> >
>> > ---
>> >由于avast,此电子邮件没有病毒和恶意软件!防毒软件
>>保护处于活动状态。
>> > http://www.avast.com
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
在2014年5月15日星期四20:59:19 +1000上,您写道:

>Hi Guys,
>我正在尝试在F2013上设置DCO和计时器。到目前为止非常困惑。
>我想做的是将DCO从32678Hz设置为16MHz
>晶体,然后将未分割的DCO(mclk)馈入计时器,然后
>使用CCR0捕获32768Hz(未划分的aclk)。
>使用输出P1.0切换时,我期望的频率为32768/2
>但是我认为大约是256/2,因为它没有在
>全部,但中断是由于0xffff处的溢出或
>16777216/65536 = 256
>
>有人可以看到我在做什么吗?

我建议您阅读MSP430x2xx系列用户的
指南,第375页的底部,“ 12.2.6.2 TAIV,中断向量
发电机”,其中说:

“任何对TAIV寄存器的访问,读取或写入
自动重置最高未决中断标志。”

在我为CC1 / TA事件向量编写的代码中,它看起来
像这样的东西:

加&TAIV, PC
退休; 00h无待处理的中断
不02h TACCR1 CCIFG
不04h TACCR2 CCIFG
nop ; 06h Reserved
nop ; 08h Reserved
nop ; 0Ah TAIFG
nop ; 0Ch Reserved
nop ; 0Eh Reserved

现在也阅读第381页。其中列出了所示的来源
以上。

对于您的情况,您想要响应0Ah(TAIFG)条目。

我认为这可能至少是您的问题的一部分。我没
不过,请看一下其余的代码。我确实有自己的代码
几年没有使用32.768kHz
使用xtal校准并保持16MHz DCO
比例积分控制回路。不确定是否
是您要实现的目标。但是它已经过测试
作品。可以发掘并再次测试,如果可以的话
救命。

乔恩


在2014年5月15日星期四21:19:30 +1000上,您写道:

>Hi Guys,
>我正在尝试在F2013上设置DCO和计时器。到目前为止非常困惑。
>我想做的是将DCO从32678Hz设置为16MHz
>晶体,然后将未分割的DCO(mclk)馈入计时器,然后
>使用CCR0捕获32768Hz(未划分的aclk)。
>使用输出P1.0切换时,我期望的频率为32768/2
>但是我认为大约是256/2,因为它没有在
>全部,但中断是由于0xffff处的溢出或
>16777216/65536 = 256
>
>有人可以看到我在做什么吗?
>Thanks.
>Pete L.

您的代码是读取TAIV还是C编译器自动
生成这样的代码? (我没有使用C本身来处理
您正在尝试做什么。组装非常容易
在这个细节上做得很好。)

无论如何,我建议您阅读MSP430x2xx系列
用户指南,第375页底部,“ 12.2.6.2 TAIV,中断
向量生成器”,其中说:“任何访问,读取或写入,
TAIV寄存器的值自动重置最高未决
中断标志。”

在我为CC1 / TA事件向量编写的代码中,它看起来
像这样的东西:

加&TAIV, PC
退休; 00h无待处理的中断
不02h TACCR1 CCIFG
不04h TACCR2 CCIFG
nop ; 06h Reserved
nop ; 08h Reserved
nop ; 0Ah TAIFG
nop ; 0Ch Reserved
nop ; 0Eh Reserved

(正在汇编中。)现在还请阅读第381页。
上面显示的来源。在您的情况下,您想回应
0Ah(TAIFG)条目。

如果您不阅读TAIV,我认为这可能至少是一部分
你的问题。

乔恩


乔恩,你好
谢谢您和艾尔的时间。
我不得不改几天了,所以让你
知道我什么时候回来,并尝试了您的建议。

最后回答您的问题,是的,我的目标之一是控制
DCO。但是,我希望在那一个ISR中做更多的事情。

让你知道我怎么走。
干杯。
皮特·L。

在19/05/2014 5:47 PM,Jon Kirwan j ... @ infinitefactors.org [msp430]写道:
>在2014年5月15日星期四21:19:30 +1000上,您写道:
>
> >Hi Guys,
> >我正在尝试在F2013上设置DCO和计时器。到目前为止非常困惑。
> >我想做的是将DCO从32678Hz设置为16MHz
> >晶体,然后将未分割的DCO(mclk)馈入计时器,然后
> >使用CCR0捕获32768Hz(未划分的aclk)。
> >使用输出P1.0切换时,我期望的频率为32768/2
> >但是我认为大约是256/2,因为它没有在
> >全部,但中断是由于0xffff处的溢出或
> >16777216/65536 = 256
> >
> >有人可以看到我在做什么吗?
> >Thanks.
> >Pete L.
>
>您的代码是读取TAIV还是C编译器自动
>生成这样的代码? (我没有使用C本身来处理
>您正在尝试做什么。组装非常容易
>在这个细节上做得很好。)
>
>无论如何,我建议您阅读MSP430x2xx系列
>用户指南,第375页底部,“ 12.2.6.2 TAIV,中断
>向量生成器”,其中说:“任何访问,读取或写入,
>TAIV寄存器的值自动重置最高未决
> 中断标志。”
>
>在我为CC1 / TA事件向量编写的代码中,它看起来
>像这样的东西:
>
> add &TAIV, PC
>退休; 00h无待处理的中断
>nop; 02h TACCR1 CCIFG
>nop; 04h TACCR2 CCIFG
> nop ; 06h Reserved
> nop ; 08h Reserved
> nop ; 0Ah TAIFG
> nop ; 0Ch Reserved
> nop ; 0Eh Reserved
>
>(正在汇编中。)现在还请阅读第381页。
>上面显示的来源。在您的情况下,您想回应
> 0Ah(TAIFG)条目。
>
>如果您不阅读TAIV,我认为这可能至少是一部分
> 你的问题。
>
> 乔恩

---
保护 is active.
http://www.avast.com



在2014年5月19日星期一18:03:18 +1000上,您写道:

>Hi 乔恩,
>谢谢您和艾尔的时间。
>我不得不改几天了,所以让你
>知道我什么时候回来,并尝试了您的建议。
>
>最后回答您的问题,是的,我的目标之一是控制
>DCO。但是,我希望在那一个ISR中做更多的事情。

那里不要做太多。你想要它很紧。如果你可以的话,
设置标志并让其他代码在看到
标志。尽量减少直接进入
ISR本身。这一点很重要。

>让你知道我怎么走。
>Cheers.
>Pete L.

谢谢。我会对听有兴趣。

乔恩