主题中讨论的其他器件:ADS1191
工具/软件:Code Composer Studio
大家好、我已经使用 MSP432一段时间了、首先、我要感谢大家在这里提供的所有出色支持。
现在、我要对 ADS1191前端进行编程 首先、在测试中、我使用 ACLK 作为 SPI 协议的时钟源、工作正常。 现在、我尝试使用 SMLCK 作为时钟源、我将其编程为12MHz、因为我需要其他外设的该速度、 并且我在 SPI 的时钟分频器方面遇到了问题、因为我要使其以1MHz 的频率运行。 这是我用于时钟的代码。
void configCLK (void){ CS->KEY = CS_KEY_VAL; CS->CTL0 = 0x00; CS->CTL0 = CS_CTRL0_DCORSEL_4; CS->CTL1 = CS_CTL1_SELA_2 | CS_CTL1_SELM_3 | CS_CTL1_3|CS_CLIN_3|CS_DISALESS_0_C_= 0x00;CS_CL_CL_CLIN_CL_CLINS = 0x00_CL_CLIN_CL_CLINS;CS_CLINDI
这里是我用于 SPI 协议的接口。
void configSPI (void){ EUSCI_B0->CTLW0 |= EUSCI_B_CTLW0_SWRST; EUSCI_B0->CTLW0 = EUSCI_B_CTLW0_SWRST | EUSCI_B_CTLW0_MST | EUSCI_B_CTLW0_SYNC | EUSCI_B_CTLW0_MSB; EUSCI_B0->CTLW0 |= EUSCI_B_CTLW0_ssel_SMCLK; //EUSCI_B0->BRW = 12; EUSCI_B0->CTLW0 &=~EUSCI_B_CTLW0_SWRST; EUSCI_B0->IFG &=~(EUSCI_B_IFG_TXIFG | EUSCI_B_IFG_RXIFG); }
如您所见、我对 BRW 指令进行了注释、因为它不起作用。 当我运行类似这样的代码时、通信没有问题、但我担心的是、ADS1191数据表显示最大时钟速度为2MHz、这就是我希望它在1MHz 时的原因。 但是、当我放置 BRW 寄存器的分频器时、通信甚至不会开始。 我通常会评论我的代码、但我来自墨西哥、因此我删除 了这些注释以便于解释。
感谢大家。