向各位大佬求助!
按照官方示例配置的寄存器,不过改成了输入四倍频。理论上应该输出490MHz的信号。
现在却张这个奇妙样子。中心频率在614MHz,而且右边那个峰忽大忽小。
附又臭又长的代码一段。
uint8_t RESET[3] = {0x00, 0x21, 0x1D};
uint8_t MUX_AS_MISO[3] = {0x00, 0x21, 0x18}; // MODE+Addr, up8 value, down8 values
// For this one: Write addr, change to mux as miso
// uint8_t readback[3] = {0xEE, 0x00, 0x00}; // Readback lock
uint8_t MULT_X4_CONFIG[3] = {0x0A, 0x14, 0x78};
uint8_t CHDIV_DIV8[3] = {0x4B, 0x08, 0xC0};
uint8_t DISABLE_RFOUTB[3] = {0x2E, 0x1F, 0xC3};
uint8_t PLL_N[3] = {0x24, 0x00, 0x27};
uint8_t PLL_NUM_HI[3] = {0x2A, 0x00, 0x18};
uint8_t PLL_NUM_LO[3] = {0x2B, 0x6A, 0x00};
uint8_t PLL_DEM_HI[3] = {0x26, 0x00, 0x7A};
uint8_t PLL_DEM_LO[3] = {0x27, 0x12, 0x48};
/* Infinite loop */
/* USER CODE BEGIN WHILE */
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_RESET);
HAL_SPI_Transmit(&hspi1, RESET, 3, 100);
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_SET);
HAL_Delay(50);
// RESET is special. Must be executed 1st.
// CHDIV & RFoutB disable
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_RESET);
HAL_SPI_Transmit(&hspi1, CHDIV_DIV8, 3, 100);
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_SET);
HAL_Delay(50);
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_RESET);
HAL_SPI_Transmit(&hspi1, DISABLE_RFOUTB, 3, 100);
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_SET);
HAL_Delay(50);
// PLL CONF
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_RESET);
HAL_SPI_Transmit(&hspi1, PLL_NUM_LO, 3, 100);
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_SET);
HAL_Delay(50);
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_RESET);
HAL_SPI_Transmit(&hspi1, PLL_NUM_HI, 3, 100);
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_SET);
HAL_Delay(50);
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_RESET);
HAL_SPI_Transmit(&hspi1, PLL_DEM_LO, 3, 100);
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_SET);
HAL_Delay(50);
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_RESET);
HAL_SPI_Transmit(&hspi1, PLL_DEM_HI, 3, 100);
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_SET);
HAL_Delay(50);
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_RESET);
HAL_SPI_Transmit(&hspi1, PLL_N, 3, 100);
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_SET);
HAL_Delay(50);
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_RESET);
HAL_SPI_Transmit(&hspi1, MULT_X4_CONFIG, 3, 100);
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_SET);
HAL_Delay(50);
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_RESET);
HAL_SPI_Transmit(&hspi1, MUX_AS_MISO, 3, 100);
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_SET);
HAL_Delay(50);
200字以内,仅用于支线交流,主线讨论请采用回复功能。