YTM32B1ME05的SPI速率问题
-
spi_state_t lpspi_MasterConfig0_State; const spi_master_config_t lpspi_MasterConfig0 = { .bitsPerSec=40000000U, .whichPcs=SPI_PCS0, .pcsPolarity=SPI_ACTIVE_LOW, .isPcsContinuous=false, .bitcount=8, .clkPhase=SPI_CLOCK_PHASE_1ST_EDGE, .clkPolarity=SPI_SCK_ACTIVE_HIGH, .lsbFirst=false, .transferType=SPI_USING_INTERRUPTS, .rxDMAChannel=1, .txDMAChannel=0, .callback=NULL, .callbackParam=NULL, .width=SPI_SINGLE_BIT_XFER, }; peripheral_clock_config_t clock_config0PeripheralClockConfig[4] = { { .clkName = DMA_CLK, .clkGate = true, .divider = DIV_BY_1, .clkSrc = CLK_SRC_DISABLED, }, { .clkName = GPIO_CLK, .clkGate = true, .divider = DIV_BY_1, .clkSrc = CLK_SRC_PLL, }, { .clkName = LINFlexD2_CLK, .clkGate = true, .divider = DIV_BY_1, .clkSrc = CLK_SRC_DISABLED, }, { .clkName = SPI4_CLK, .clkGate = true, .divider = DIV_BY_3, .clkSrc = CLK_SRC_PLL, }, }; const scu_config_t clock_config0ScuConfig = { .fircEnable = true, .fircDeepSleepEnable = false, .sircDeepSleepEnable = true, .sircStandbyEnable = true, .sircPowerDownEnable = true, .sysClkSrc = SCU_SYSTEM_CLOCK_SRC_PLL, .fxoscConfig = { .enable = true, .bypassMode = false, .gainSelection = 5, .frequency = 24000000U, }, .sxoscConfig = { .enable = false, .gainSelection = 0, .bypassMode = false, .deepsleepEnable = false, .standbyEnable = false, .powerdownEnable = false, .frequency = 32768U, }, .pllConfig = { .enable = true, .pllRefClock = SCU_PLL_REF_FXOSC_CLK, .pllFeedBackDiv = 10, .pllRefClkDiv = 1, }, .sysDiv = SCU_SYS_CLK_DIV_BY_1, .fastBusDiv = SCU_SYS_CLK_DIV_BY_1, .slowBusDiv = SCU_SYS_CLK_DIV_BY_3, .flashDiv = SCU_SYS_CLK_DIV_BY_3, .clockOutConfig = { .enable = false, .source = SCU_CLKOUT_SEL_PLL_CLK, .divider = 1 }, };
这样配置SCLK的时钟频率应该是40MHZ,但是测试只有20MHZ,
发帖前请查看
帮助没办法联网的电脑使用YCT
帮助改进和优化YT CONFIG TOOL,有机会抽取YTM32B1ME0 EVB哦...