feixiang20 发表于 2019-1-21 13:26:06

初学msp430一点点发现

发现msp430和51和stm32都有一点相似。



相似处————stm32:

都是控制寄存器,而不是位操作。但是配置IO口,都需要配置相应的IO参数。

相似处-----------51

起初不需要配置时钟,这比stm32号了一点。但是后期不知道是不是也需要相应的配置。



再说今天写的程序吧

#include "msp430x54x.h"
#include <stdlib.h>
#include <stdio.h>


/*PxINPx 口输入寄存器 只读 无
PxOUT Px 口输出寄存器 可读可写 保持不变
PxDIR Px 口方向寄存器 可读可写 0(全部输入)
PxSEL Px 口第二功能选择 可读可写 0(全部为IO 口)
PxIEPx 口中断允许 可读可写 0(全部不允许中断)
PxIES Px 口中断沿选择 可读可写 保持不变
PxIFG Px 口中断标志位 可读可写 0(全部未发生中断)*/


#define CPU_F ((double)8000000)
#define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0))
#define delay_ms(x) __delay_cycles((long)(CPU_F*(double)x/1000.0))




voidmain( void )
{
WDTCTL = WDTPW + WDTHOLD;//关闭看门狗

P5DIR |= BIT7;          //
while(1)
{
    P5OUT |=BIT7;
    delay_ms(100);
    P5OUT &=~ BIT7;
    delay_ms(100);
}

}

如果把P5DIR注释掉,跑马灯是无法成功的。经过自己思考,io口默认是可读的。所以必须强制为可写不可读。
---------------------


页: [1]
查看完整版本: 初学msp430一点点发现

Baidu
map