hengjingdianzi 发表于 2012-11-29 19:38:01

MSP学习的一些小心得

现在正在学习MSP430F149,刚刚开始学,有很多的东西都不懂,所以写的东西都很浅显,希望给正在学习的朋友一点点的借鉴。
1.在刚开始用这个开发板的时候,程序可以烧进去,但是开发板没有响应工作,工作电压都是正确的,最后用示波器测8M晶振发现没有起振,原来是上电的时候,晶振烧坏了。换过后正常工作。
2.在用这个芯片之前用的是STC的单片机,像51之类的都是可以单独定义每个I/O口,而MSP430则定义的是8个I/O。如果需要用某一个单独的I/O口的话,需要自己赋值。
   例如,利用宏定义P1^1为led.让这个灯实现关灭
   那么程序的编写 #define led_on   P1OUT&=0xfe//把P1口的低位置0(1111 1110)
                  #define led_off   P1OUT&=0xff   //把P1口的地位置1
主程序中直接调用 led_on、led_off 即可

bennyhuang 发表于 2012-11-29 19:51:00

#define led_off   P1OUT&=0xff   //把P1口的地位置1

你觉得可以置1吗?

skynet 发表于 2012-11-29 20:56:19

大佬,麻烦你想清楚再写{:mad:}{:dizzy:}

delay_year 发表于 2012-11-30 01:14:36

本帖最后由 delay_year 于 2012-11-30 01:15 编辑

其实可以对每个IO口操作的,比如说P1.1,先设为输出:P1DR|=BIT1; 再输出低电平:P1OUT&=~BIT1; 也可以单独对某些IO操作,比如设为输出:P1DIR|=BIT0+BIT1+BIT2;

这种方法既直观,又容易理解。

as9901 发表于 2012-11-30 07:48:09

P1OUT&=~0x01//把P1口的低位置0(1111 1110)
P1OUT|=0x01   //把P1口的低位置1

alengend 发表于 2012-11-30 08:01:13

有不少错误,楼主加油!

ccmj4708 发表于 2012-11-30 08:13:26

先设置P1SEL,再P1DIR,然后才P1OUT

msp430 发表于 2012-11-30 08:14:09

对于新手,我们应当给予鼓励.

#define led_off   P1OUT&=0xff   //把P1口的地位置1   
这个能把P1 口置1的是错误的
建议楼主多看看官方的例子.

orzorzorzorz 发表于 2012-11-30 08:45:28

lz的c语言功底还不够扎实,多学习

dadongleilei 发表于 2012-11-30 09:23:05

多看看430的例程和头文件,楼主就能发现正确的写法,比较规范的

xunke 发表于 2012-12-1 12:22:11

MSP430太贵了吧,也不好买。

boyiee 发表于 2012-12-1 19:10:18

哈哈
430现在价格还算可以 比以前要便宜多了

而且小东西还有G系列

william_rain 发表于 2012-12-1 19:41:17

|= (1<< Bit_number);//置1
&= ~(1<<Bit_number);//清零
^=//取反
页: [1]
查看完整版本: MSP学习的一些小心得