void initClocks (void){
//禁用看门狗计时器
WDTCTL = WDTPW | WDTHOLD;
//将 DCO 频率设置为8MHz
CS_setDCOFreq (CS_DCORSEL_0、CS_DCOFSEL_0);
//设置 ACLK 以在8MHz 下使用 DCO
CS_initClockSignal (CS_ACLK、CS_DCOCLK_SELECT、CS_CLOCK_DIVIDER_1);
//设置 SMCLK 以在8MHz 下使用 DCO
CS_initClockSignal (CS_SMCLK、CS_DCOCLK_SELECT、CS_CLOCK_DIVIDER_1);
}
void initSPI (void)
{
//配置用于 SPI 通信的引脚
GPIO_setAsPeripheralModuleFunctionInputPin (GPIO_PORT_P1、GPIO_PIN7、GPIO_PRIMARY_MODULE_FUNCTION);// MISO
GPIO_setAsPeripheralModuleFunctionOutputPin (GPIO_PORT_P1、GPIO_PIN6、GPIO_PRIMARY_MODULT_FUNCTION);// MOSI
GPIO_setAsPeripheralModuleFunctionOutputPin (GPIO_PORT_P2、GPIO_PIN2、GPIO_PRIMARY_MODULE_FUNCTION);// CLK
GPIO_setOutputLowOnPin (GPIO_PORT_P1、GPIO_PIN7);//默认将 MISO 设置为低电平
GPIO_setAsOutputPin (GPIO_PORT_P1、GPIO_PIN2);// CS
GPIO_setOutputHighOnPin (GPIO_PORT_P1、GPIO_PIN2);
//初始化 SPI 的 eUSCI 模块
EUSCI_B_SPI_initMasterParam spiParams ={0};
spiParams.selectClockSource = EUSCI_B_SPI_CLOCKSOURCE_SMCLK;
spiParams.clockSourceFrequency = 8000000;//将 SMCLK 频率设置为8MHz
spiParams.desiredSpiClock = 8000000;//将所需的 SPI 时钟设置为8MHz
spiParams.msbFirst = EUSCI_B_SPI_MSB_FIRST;
spiParams.clockPhase = EUSCI_B_SPI_PHASE_DATA_CAPTURE_ONFIRST_CHANGED_ON_NEXT;
spiParams.clockPolarity = EUSCI_B_SPI_CLOCKPOLARITY_INACTIVE_LOW;
spiParams.spiMode = EUSCI_B_SPI_3pin;
EUSCI_B_SPI_initMaster (EUSCI_B0_BASE、&spiParams);
EUSCI_B_SPI_ENABLE (EUSCI_B0_BASE);
}
您好! 我正在使用 MSP430 fraunchpad 创建数据记录器。 不幸的是、我无法在 P2.2上的 SPI CLK 上获得任何形式的时钟输出
如果我的时钟设置出了什么问题、我们非常感谢您提供任何帮助。