查看: 2098|回复: 0

初学msp430一点点发现

[复制链接]
  • TA的每日心情
    难过
    2021-2-27 22:16
  • 签到天数: 1568 天

    连续签到: 1 天

    [LV.Master]伴坛终老

    发表于 2019-1-21 13:26:06 | 显示全部楼层 |阅读模式
    分享到:
    发现msp430和51和stm32都有一点相似。



    相似处————stm32:

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

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

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



    再说今天写的程序吧

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


    /*PxIN  Px 口输入寄存器 只读 无
      PxOUT Px 口输出寄存器 可读可写 保持不变
      PxDIR Px 口方向寄存器 可读可写 0(全部输入)
      PxSEL Px 口第二功能选择 可读可写 0(全部为IO 口)
      PxIE  Px 口中断允许 可读可写 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))




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

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

    }

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

    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-11-23 21:38 , Processed in 0.119378 second(s), 16 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.