作者 主题:MSP430G2231 Launchpad - 初学者需要帮助 (Read 17358 times)

0会员和1位客人正在查看此主题。

离线 jproject.

  • 贡献者
  • 帖子:31
MSP430G2231 Launchpad - 初学者需要帮助
« on: 2011年5月30日,07:13:09 AM»
大家好!

我最近得到了自己的推出板,我对微控制器很新(这实际上是我的第一个微控制器)。我刚刚完成了在c中写一些代码,并在各种延迟时间闪烁,但我'm无法理解该微控制器的编码。我检查了标题文件msp430g2231.h,但这只是让我更加困惑。我检查了用户'S MSP430系列手册,但其近700页所以......我想知道是否有人可以帮助我了解MSP430的编码,而无需阅读整个手册。现在,我只是想做简单的项目,如灯光传感器,当没有光线时,使其打开LED(夜间灯)。此外,我需要什么样的传感器(传感器的规格)?


谢谢!
 

在线的 Johnboball.

  • 支持者
  • ****
  • 帖子:534
  • 国家: Au.
  • 采取行动解决了问题。
Re:MSP430G2231 Launchpad - 初学者需要帮助
« 回复#1开: 2011年5月30日,07:33:37»
您可以找到好的文章和一些教程,也可以在MSP430论坛 http://www.43oh.com/
« 上次编辑:2011年5月30日,07:51:10 AM由TronixSuff »
 

离线 jproject.

  • 贡献者
  • 帖子:31
Re:MSP430G2231 Launchpad - 初学者需要帮助
« 回复#2开: 2011年5月30日,07:50:19 AM»
感谢你能这么快回复!

这是一个很好的链接,我找到了您推荐的网站的初学者:

http://www.43oh.com/forum/viewtopic.php?f=8&t=449&p=6346#p6346

有许多不同的人建议各种电子书和网站让您入门。
 

离线 jproject.

  • 贡献者
  • 帖子:31
Re:MSP430G2231 Launchpad - 初学者需要帮助
« 回复#3开: 2011年5月30日,06:23:41 PM»
I'M仍然有很多麻烦理解编码。这些例子不是基于Launchpad,他们不在't解释实际编码(如逻辑运算符)。有人可以帮忙吗?


谢谢你。

P.S.我是否需要了解微控制器和董事会的所有架构师进行小项目?我目前刚刚完成第一年电气工程,这些微控制器似乎是第四年的东西。我的教练建议我测试这一点,而不是玩Arduino,因为它最终会更好,但看起来它将占据全年夏天来了解发射板。
 

离线 无聊@工作

  • 超级贡献者
  • ***
  • 帖子:3931
  • 国家: 00
Re:MSP430G2231 Launchpad - 初学者需要帮助
« 回复#4开: 2011年5月30日,06:34:11 PM»
我是否需要了解微控制器和董事会的所有架构师进行小项目?

是的。
我删除pms未读。如果你有话要说,就在公共场合。
所有其他人: 轮廓->[修改个人资料] Buddies / Ignore列表 - >Edit Ignore List
 

离线 jproject.

  • 贡献者
  • 帖子:31
Re:MSP430G2231 Launchpad - 初学者需要帮助
« 回复#5: 2011年5月30日,06:42:35 PM»
好的!是时候在微控制器上阅读了300页的时间...... Yay!
 

离线 thedirty.

  • 频繁的贡献者
  • **
  • 帖子:440
  • 国家: 加利福尼亚州
Re:MSP430G2231 Launchpad - 初学者需要帮助
« 回复#6开启: 2011年5月31日,下午01:09:15»
您是否尝试过Googling MSP430教程或LaunchPad MSP430教程? 看起来那里有很少的东西。

http://www.egarante.net/2010/09/msp430-launchpad-tutorial-part-1-basics.html
http://e2e.ti.com/videos/m/microcontroller/208276.aspx

如果您从另一个微控制器移动,则不难以查找F2xxx用户指南中外设的细节。  如果您从头开始,请使用任何没有抽象库的微控制器,如Arduino将很难加快速度。

我也建议使用ti'在尝试新的东西时,将示例外设代码作为基础。
http://focus.ti.com/mcu/docs/mcuprodcodeexamples.tsp?sectionId=96&tabId=1468
马克希金斯
 

离线 达信斯

  • 贡献者
  • 帖子:30
Re:MSP430G2231 Launchpad - 初学者需要帮助
« 回复#7: 2011年6月01日,01:22:39»
我不'认为您需要阅读微控制器手册。他们'建议阅读肯定,特别是家庭用户'■指南。但是,在阅读之前,请确保确认您的微控制器与家庭用户有哪些模块'导轨相当大,你会'我想在模块上阅读一切'永远找不到。

我觉得你的印象'T非常了解C编程。在使用微控制器的任何内容之前,这是绝对需要的,即使使用像Arduino这样的系统,它基本上只是一组非常高级别的硬件抽象的C / C ++库。您可以在线找到许多C教程,它'在进入微控制器时要了解你的c很重要。

TI'例子是混合袋,我不'在次数上亲自发现它们非常丰富。但是,那里有'在网上和ti上的很多代码'S Launchpad Wiki包含与其他Ressources的链接,您应该退房。
 

离线 jproject.

  • 贡献者
  • 帖子:31
Re:MSP430G2231 Launchpad - 初学者需要帮助
« 回复#8开: 2011年6月01日,01:59:51 AM»
您是否尝试过Googling MSP430教程或LaunchPad MSP430教程? 看起来那里有很少的东西。

http://www.egarante.net/2010/09/msp430-launchpad-tutorial-part-1-basics.html
http://e2e.ti.com/videos/m/microcontroller/208276.aspx

如果您从另一个微控制器移动,则不难以查找F2xxx用户指南中外设的细节。  如果您从头开始,请使用任何没有抽象库的微控制器,如Arduino将很难加快速度。

我也建议使用ti'在尝试新的东西时,将示例外设代码作为基础。
http://focus.ti.com/mcu/docs/mcuprodcodeexamples.tsp?sectionId=96&tabId=1468

Enrico Garante网站帮助了我很多!容易理解。谢谢你。


我不'认为您需要阅读微控制器手册。他们'建议阅读肯定,特别是家庭用户'■指南。但是,在阅读之前,请确保确认您的微控制器与家庭用户有哪些模块'导轨相当大,你会'我想在模块上阅读一切'永远找不到。

我觉得你的印象'T非常了解C编程。在使用微控制器的任何内容之前,这是绝对需要的,即使使用像Arduino这样的系统,它基本上只是一组非常高级别的硬件抽象的C / C ++库。您可以在线找到许多C教程,它'在进入微控制器时要了解你的c很重要。

TI'例子是混合袋,我不'在次数上亲自发现它们非常丰富。但是,那里有'在网上和ti上的很多代码'S Launchpad Wiki包含与其他Ressources的链接,您应该退房。

我熟悉C / C ++语言(研究到我能够进行搜索/商店数据库程序的点),但是有一些代码我从未见过这样的按位分配运算符(| =,&=,^ =)。为什么我们需要这些?此外,我从未见过这些"~"在C编程中但我'在PIN地址前面的MSP430源文件中看到了它们。我决定实验并没有源代码"~"在地址前,它没有差别所以我'混淆为什么首先需要它们。

至于模块,我目前拥有MSP430G2231 LaunchPad(就像主题的标题一样 :P)所以这应该解释一切。

是的,我检查了TI视频教程,但有时会非常令人困惑,因为他们告诉您查看示例和TI手册,而无需对手册的页码或部分的任何引用。我确实在几分钟后找到了他们,通过章节的标题,但除非你熟悉整个MSP430的架构师,否则并不高兴!
 

离线 8086

  • 超级贡献者
  • ***
  • 帖子:1086
  • 国家: GB.
    • 迂回 - 电子组装
Re:MSP430G2231 Launchpad - 初学者需要帮助
« 回复#9: 2011年6月01日,02:11:09 AM»
我熟悉C / C ++语言(研究到我能够进行搜索/商店数据库程序的点),但是有一些代码我从未见过这样的按位分配运算符(| =,&=,^ =)。为什么我们需要这些?此外,我从未见过这些"~"在C编程中但我'在PIN地址前面的MSP430源文件中看到了它们。我决定实验并没有源代码"~"在地址前,它没有差别所以我'混淆为什么首先需要它们。

"~"意味着我相信反转操作数中的所有位。
 

离线 jproject.

  • 贡献者
  • 帖子:31
Re:MSP430G2231 Launchpad - 初学者需要帮助
« 回复#10: 2011年6月01日,02:26:29»
所以,如果我做〜0x001它将相等11 ... 10?我还是不'要了解,因为我在取出后用示例代码编写了MCU"~"它完全良好。 Grrr如此令人困惑!
 

离线 8086

  • 超级贡献者
  • ***
  • 帖子:1086
  • 国家: GB.
    • 迂回 - 电子组装
Re:MSP430G2231 Launchpad - 初学者需要帮助
« 回复#11开: 2011年6月01日,02:30:43 AM»
可能是代码行没有改变程序中的任何内容'S主要功能。

你能发布有问题的行,包括两侧的几个吗?
 

离线 jproject.

  • 贡献者
  • 帖子:31
Re:MSP430G2231 Launchpad - 初学者需要帮助
« 回复#12: 2011年6月01日,02:44:47»
这是,它's from http://www.egarante.net/2010/09/msp430-launchpad-tutorial-part-1-basics.html


#包括<msp430g2231.h>


int main(空白)  //Main program
{
 wdtctl = wdtpw + wdthold; //停止看门狗定时器
 
 p1dir | = bit0; //将p1.0设置为输出和p1.3输入方向
 P1OUT &=〜bit0; //将p1.0设置为关闭
 p1ie | = bit3; // P1.3中断启用
 P1IFG &=〜bit3; // p1.3中断标志清除
 
 __bis_sr_register(gie); //启用所有中断
 
 虽然(1)//永远循环,我们'LL在中断常规中做我们的工作......
 {}
}

#pragma矢量= port1_vector
__interrupt void port_1(void)
{
    P1OUT ^= BIT0;  // Toggle P1.0
    P1IFG &=〜bit3; // p1.3中断标志清除
}


如果您不熟悉标题文件,Bit0到位#均值
Bit0 = 0x0001U(这是LED的地址)
Bit1 = 0x0002U.
Bit2 = 0x0004U.
Bit3 = 0x0008U(这是交换机按钮的地址)
等等...
 

离线 thedirty.

  • 频繁的贡献者
  • **
  • 帖子:440
  • 国家: 加利福尼亚州
Re:MSP430G2231 Launchpad - 初学者需要帮助
« 回复#13开启: 2011年6月01日,05:03:13 PM»
〜反转数字,所以

Bit3 = 00001000.
〜bit3 = 11110111

所以(11110111.&变量)清除变量中的位。

I'如果你不肯定会发生什么会发生什么't清除中断标志。 如果它仍然可以正常工作,但没有清除中断标志,我猜任何't检查哪个中断启动了ISR,因为标志留下了高。
马克希金斯
 

离线 贾尼恩

  • 超级贡献者
  • ***
  • 帖子:1046
  • 国家: FI.
Re:MSP430G2231 Launchpad - 初学者需要帮助
« 回复#14: 2011年6月01日,07:38:07 PM»
如果在MSP430上的ISR末尾未清除端口中断标志,则MCU将立即重新输入ISR,然后返回它。

问候,
janne.
 

离线 jproject.

  • 贡献者
  • 帖子:31
Re:MSP430G2231 Launchpad - 初学者需要帮助
« 回复#15: 2011年6月01日,08:08:34 PM»
这是我用于编程MCU的代码,它与上面发布的原始代码完全相同(推动开关切换红色LED)。


#包括<msp430g2231.h>


int main(空白)  //Main program
{
 wdtctl = wdtpw + wdthold; //停止看门狗定时器
 
 P1DIR = BIT0;//摆脱或分配"|="
 P1OUT &= bit0; // 摆脱 "~"
 P1IE = BIT3;//摆脱或分配"|="
 P1IFG &=〜bit3; // p1.3中断标志清除
 
 __bis_sr_register(gie); //启用所有中断
 //摆脱了循环时
}

#pragma矢量= port1_vector
__interrupt void port_1(void)
{
    P1OUT ^= BIT0;  // Toggle P1.0
    P1IFG &=〜bit3; // p1.3中断标志清除
}


现在,为什么这与原始代码完全相同?
 

在线的 Mechatrommer.

  • 超级贡献者
  • ***
  • 帖子:10270
  • 国家: 我的
  • 重新评估指令......
Re:MSP430G2231 Launchpad - 初学者需要帮助
« 回复#16开: 2011年6月01日,09:02:40 PM»
我熟悉C / C ++语言(研究到我能够进行搜索/商店数据库程序的点),但是有一些代码我从未见过这样的按位分配运算符(| =,&=, ^=).
不!您不熟悉C,ESP您不熟悉二进制操作。您可能是一个专家数据库程序员,但要成为MCU程序员,您需要在二进制中掌握号码。和我'm not the one :P once you'用二元操作完成,然后是的!您可以阅读注册中的位的手册。
« 上次编辑:2011年6月01日,09:12:13 PM由Mechatrommer »
It'非常难以启动生命..自然的一种特征。物理法是大美的数学理论......你可能想知道为什么?我们的知识表明,自然是如此建造。我们只需要接受它。人们可以通过说...(保罗迪拉克)来描述这种情况
 

离线 jproject.

  • 贡献者
  • 帖子:31
Re:MSP430G2231 Launchpad - 初学者需要帮助
« 回复#17开: 2011年6月01日,09:13:50 PM»
我熟悉C / C ++语言(研究到我能够进行搜索/商店数据库程序的点),但是有一些代码我从未见过这样的按位分配运算符(| =,&=, ^=).
不!您不熟悉C,ESP您不熟悉二进制操作。您可能是一个专家数据库程序员,但要成为MCU程序员,您需要在二进制中掌握号码。和我'm not the one :P


哈哈yeeeee!我对MCU编程很新。我必须得到"dirty"正如我的教练会说并学会MCU的二进制部分。您将推荐任何优秀的网站或电子书用于MCU编程?我目前只是在阅读MSP430微控制器基础知识电子书。
 

alm

  • 来宾
Re:MSP430G2231 Launchpad - 初学者需要帮助
« 回复#18开启: 2011年6月01日,09:17:16 PM»
我同意良好的掌握C,尤其是按位运营商的良好掌握,对于C的MCU编程至关重要.C在PC上的学习方面通常比微米上的更容易,因为PC上的调试和测试往往是更容易。 按位运算符上的本教程 可能是一个很好的阅读。 BitWise运营商自k以来一直是C的标准部分&R C,因此它们在所有平台上的所有编译器中都在工作。没有任何关于该教程的AVR。
 

离线 jproject.

  • 贡献者
  • 帖子:31
Re:MSP430G2231 Launchpad - 初学者需要帮助
« 回复#19: 2011年6月1日,09:31:35 PM»
我同意良好的掌握C,尤其是按位运营商的良好掌握,对于C的MCU编程至关重要.C在PC上的学习方面通常比微米上的更容易,因为PC上的调试和测试往往是更容易。 按位运算符上的本教程 可能是一个很好的阅读。 BitWise运营商自k以来一直是C的标准部分&R C,因此它们在所有平台上的所有编译器中都在工作。没有任何关于该教程的AVR。

谢谢你的链接!我正在朝着正确的方向逐渐达到非常好的方向。这也是一个链接,我想在c中按顺序添加:



除了额外的解释和视频格式之外,与论坛相同。
 

离线 Baljemmett.

  • 支持者
  • ****
  • 帖子:666
  • 国家: GB.
Re:MSP430G2231 Launchpad - 初学者需要帮助
« 回复#20开: 2011年6月01日,09:34:07 PM»
P1DIR = BIT0;//摆脱或分配"|="
 P1OUT &= bit0; // 摆脱 "~"
 P1IE = BIT3;//摆脱或分配"|="

现在,为什么这与原始代码完全相同?

嗯,要说实话,而不是回答你的问题可能会更好地问你一个回报:在这些变化的情况下会导致行为没有变化吗? 正如所指出的那样,对位运算符的理解是对您的类型注册操作至关重要'使用微控制器时需要做。 由于您似乎已经了解了各种按位和分配运算符,因此它不应该'太棘手而无法理解你改变的差异 :)
 

离线 jproject.

  • 贡献者
  • 帖子:31
Re:MSP430G2231 Launchpad - 初学者需要帮助
« 回复#21开: 2011年6月01日,09:56:49 PM»
P1DIR = BIT0;//摆脱或分配"|="
 P1OUT &= bit0; // 摆脱 "~"
 P1IE = BIT3;//摆脱或分配"|="

现在,为什么这与原始代码完全相同?

嗯,要说实话,而不是回答你的问题可能会更好地问你一个回报:在这些变化的情况下会导致行为没有变化吗? 正如所指出的那样,对位运算符的理解是对您的类型注册操作至关重要'使用微控制器时需要做。 由于您似乎已经了解了各种按位和分配运算符,因此它不应该'太棘手而无法理解你改变的差异 :)



Bit0 = 0x0001 = 0000 0001
Bit3 = 0x0008 = 0000 1000


原来的:
p1dir | = bit0;   //I'm假设由于所有引脚都设置在默认输入上,P1Dir将是0000 0000
      // p1dir | = bit0将等于p1dir = 0000 0000 | 0000 0001等于0000 0001
P1OUT.&= ~BIT0;   //由于Bit0设置为输出,i'm假设p1out = 0000 0001
       //P1OUT &=〜Bit0等于P1OUT = 0000 0001&1111 1110等于0000 0000
p1ie | = bit3;   // *我不确定p1ie值在开始时是什么,但我'假设它会
      // 0000 0000或0000 1000


我的编辑版本:
p1dir = bit0;   //摆脱或分配"|="
P1OUT.&= BIT0;  // got rid of "~"
p1ie = bit3;   //摆脱或分配"|="

这也意味着:
p1dir = 0000 0001
p1out = p1out.& 0000 0001 // p1out == 0000 0001?如果是这样,那么最终P1OUT是0000 0001
p1ie = 0000 1000


如果我错了,请纠正我!一如既往,谢谢。
 

在线的 Mechatrommer.

  • 超级贡献者
  • ***
  • 帖子:10270
  • 国家: 我的
  • 重新评估指令......
Re:MSP430G2231 Launchpad - 初学者需要帮助
« 回复#22: 2011年6月1日,晚上10:13:00»
您将推荐任何优秀的网站或电子书用于MCU编程?我目前只是在阅读MSP430微控制器基础知识电子书。
让我谷歌为你,键入"二进制算术运算按位等"。一些随机搜索......
http://atrevida.comprenica.com/atrtut02.html
http://www.doc.ic.ac.uk/~eedwards/compsys/arithmetic/index.html
然后阅读您的C / C ++书(在按位部分上),如果仍然没有,请购买一个。然后你的msp430#!@ $ @!#$ datasheet。然后你已经发现的例子。然后很多练习!祝你好运 ;)
« 上次编辑:2011年6月01日,Mechatrommer下午10:16:31 »
It'非常难以启动生命..自然的一种特征。物理法是大美的数学理论......你可能想知道为什么?我们的知识表明,自然是如此建造。我们只需要接受它。人们可以通过说...(保罗迪拉克)来描述这种情况
 

在线的 Mechatrommer.

  • 超级贡献者
  • ***
  • 帖子:10270
  • 国家: 我的
  • 重新评估指令......
Re:MSP430G2231 Launchpad - 初学者需要帮助
« 回复#23开: 2011年6月01日,晚上10:18:44»
好的,我看到了哪里'你现在得到了。我建议您尝试模拟PC环境中的值。尝试制作一个PC程序,该程序将在调试期间显示二进制值。所以你可以更快地检查你的错误。
P1OUT.&=〜bit0 ... p1out = p1out和(不是bit0)
It'非常难以启动生命..自然的一种特征。物理法是大美的数学理论......你可能想知道为什么?我们的知识表明,自然是如此建造。我们只需要接受它。人们可以通过说...(保罗迪拉克)来描述这种情况
 


分享我

掘客  Facebook  诽谤  可口的  Technorati.  推特  谷歌  雅虎
SMF.