This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] MSP-EXP430FR6989:使 LED#39闪烁

Guru**** 656470 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1180384/msp-exp430fr6989-blinking-led-s

器件型号:MSP-EXP430FR6989

我在完成此代码时遇到了一些问题、我需要使 LED 闪烁、而不是按 顺序排列、我认为我会破坏配置。

;------------------------------------------------------------------
;与 TI Code Composer Studio 一起使用的 MSP430汇编器代码模板


;------------------------------------------------------------------
           cdecls C、list、"msp430.h"      ;包含器件头文件
           
;------------------------------------------------------------------
           .def   重置                  ;将程序入口点导出到
                                           ;使链接器知道它。
;------------------------------------------------------------------
           .text                          ;汇编到程序存储器中。
           .retain                        ;覆盖 ELF 条件链接
                                           ;并保留当前部分。
           .retainrefs                    ;并保留具有的任何段
                                           ;对当前段的引用。

;------------------------------------------------------------------
重置      mov.w  #_stack_end、SP        ;初始化 stackpointer
StopWDT    mov.w  #WDTPW|WDTHOLD、&WDTCTL ;停止看门狗计时器


;------------------------------------------------------------------
;这里是主循环
;------------------------------------------------------------------

;将计时器 B0配置为抛出中断
         BIS.w   #TBCLR、&TB0CTL             
         BIS.w   #TBSSEL_ACLK、&TB0CTL       
         BIS.w   #MC__Continous、&TB0CTL    
         BIS.w   #CNTL__12、&TB0CTL         ;计数器长度= 12位
         BIS.w   #ID__4、&TB0CTL             ;分频频率 4
         BIS.w   #TBIE、&TB0CTL             ;启用中断


         
         BIS.b   #BIT1、&P1REN      ;启用电阻器
         BIS.b   #BIT1,&P1OUT      ;选择上拉电阻器
         BIS.b   #BIT1、&P1IES      ;下降沿触发
         BIS.b   #BIT1、&P1IE      ;中断被启用


         BIS.b   #BIT2、&P1REN      ;启用电阻器
         BIS.b   #BIT2、&P1OUT      ;选择上拉
         BIS.b   #BIT2、&P1IES      ;上拉电阻器
         BIS.b   #BIT2、&P1IE      ;下降边沿触发中断
         
         
         
         
         ;禁用电源锁定以为 GPIO 供电
         BIC.w   #LOCKLPM5、&PM5CTL0


         NOP
         BIS.w   #GIE|LPM3、SR
         NOP


;------------------------------------------------------------------
;中断服务例程
;------------------------------------------------------------------
Timer_B0_ISR:

;在此处添加代码,不要忘记添加中断矢量
      BIC.b   #TBIFG、&TBCTL                ;测试和清除

      XOR.b   位#0、&P1OUT                ;切换绿色和红色 LED
      XOR.b   位#6、&P1OUT

      TI

;------------------------------------------------------------------
;堆栈指针定义
;------------------------------------------------------------------
           .global __stack_end
           .sect  .stack
           
;------------------------------------------------------------------
;中断矢量
;------------------------------------------------------------------

           .sect ".int37"
           Timer_B0_ISR

           .sect  ".reset"               ;MSP430复位矢量
           短路 复位