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.

[参考译文] MSP430FR6972:MSP430FR6972

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1414269/msp430fr6972-msp430fr6972

器件型号:MSP430FR6972

工具与软件:

你(们)好  

我正在使用 MSP430FR6972、我要使用 SPI、UART 和 I2C、从而实现寄存器配置  

示例:

SPI2_UCA0

            bis 软件     #UCSWRST,UCA0CTLW0;
            MOV.w    #(UCSWRST+UCMSB+UCMST+UCSYNC+UCSSEL1+UCSSEL0)、UCA0CTLW0  
            MOV.w   #16、UCA0BRW;*时钟 DIVISO 2 VA 500kHz SMCLK èè A 8MHz */
            BIC      #(BIT4+BIT3)、P4SEL0;*禁用 UART 端口4
            BIC      #(BIT0+BIT1+BIT2)、P2SEL1   
           bis       #(BIT0+BIT1+BIT2)、P2SEL0;*启用 SPI 端口2  

           BIC.w       UCSWRST、UCA0CTLW0

SPI2_UCB1

             UCB1CTLW.w  #UCSWRST、bis  
             MOV.w #(UCSWRST+UCMSB+UCMST+UCSYNC+UCSSEL1+UCSSEL0)、UCB1CTLW0  
            MOV.w #16、UCB1BRW
            bic.b  #(BIT1+BIT2)、P3SEL0;*禁用 端口3上的 I2C  
            BCLR.b  #(BIT5+BIT6+BIT7)、P4SEL0;  
            bclr_b #(BIT5+BIT6+BIT7)、P4SEL1;*启用 SPI 端口4  
            BCLR.w #UCSWRST、UCB1CTLW0  

 我在 SPI_UCA0方面有问题、如果设置为类似 SPI、则输出引脚上没有任何信号

正确工作的 I/O 引脚、那么这种情况非常重要  

、SPI_UCB1可以正常工作、没有任何问题、  

对于 SPI_UCA0、在隐藏寄存器中有一些位来启用 SPI? 我试着去检查每一个地方  

但没有找到任何东西  

路易吉  

只有端口2有问题、在 sonme hide 寄存器上有一些特殊位?  

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

    路易吉、您好!

    看起来奇怪。 UCB1具有以下设置、它清除 P4SEL0和 P4SEL1中的位5、6、7、会将这些引脚置入 GPIO 模式、而不是 SPI。

    BCLR.b  #(BIT5+BIT6+BIT7)、P4SEL0;  
    bclr_b #(BIT5+BIT6+BIT7)、P4SEL1;

    同样、您确实设置了 P2EL0中的位5、6、7并清除了 P2SEL1中的相同位、这对于为 SPI (而不是 GPIO)启用引脚是正确的。

    BIC      #(BIT0+BIT1+BIT2)、P2SEL1   
    bis       #(BIT0+BIT1+BIT2)、P2SEL0;*启用 SPI 端口2

    所以、您是否确定您遇到了 UCA0而不是 UCB1的问题?

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

    您好、Dennis  

    抱歉、我写了 UCB1错误、因为我使用宏并转换错误  

               UCB1CTLW.w  #UCSWRST、bis  
                 MOV.w #(UCSWRST+UCMSB+UCMST+UCSYNC+UCSSEL1+UCSSEL0)、UCB1CTLW0  
                MOV.w #16、UCB1BRW
                bic.b  #(BIT1+BIT2)、P3SEL0;*禁用 端口3上的 I2C  
                bic.b  #(BIT5+BIT6+BIT7)、P4SEL0;  
                SPI.b #(BIT5+BIT6+BIT7)、;*启用 bis 端口4  
                BCLR.w #UCSWRST、UCB1CTLW0  

    该端口 UCB1运行良好  

    我发现了问题、使用了旧例程、但 我没想到使用这个新应用替换先前应用的寄存器、  

    旧例程使用 UCB1寄存器、而不是 UCA0、现在是可以的   

    抱歉出错了  

    路易吉