-
AT32F435的XMC在同步复用模式下时钟引脚为什么没有信号?
AT32F435ZMT7芯片中的XMC在使用同步复用模式连接PSRAM时,PD3CLK引脚为什么没有时钟啊? 这是我的初始化函数代码 gpio_init_struct.gpio_pins = GPIO_PINS_3; //CLK gpio_init_struct.gpio_mode = GPIO_MODE_MUX; gpio_init_struct.gpio_out_type = GPIO_OUTPUT_PUSH_PULL; gpio_init_struct.gpio_pull = GPIO_PULL_NONE; gpio_init_struct.gpio_drive_strength = GPIO_DRIVE_STRENGTH_STRONGER; gpio_init(GPIOD, &gpio_init_struct); /*-- xmc configuration ------------------------------------------------------*/ xmc_norsram_default_para_init(&xmc_norsram_init_struct); xmc_norsram_init_struct.subbank = XMC_BANK1_NOR_SRAM3; //XMC_BANK1_NOR_SRAM3 xmc_norsram_init_struct.data_addr_multiplex = XMC_DATA_ADDR_MUX_ENABLE; //复用 xmc_norsram_init_struct.device = XMC_DEVICE_PSRAM; //PSRAM设备 xmc_norsram_init_struct.bus_type = XMC_BUSTYPE_16_BITS; //16bit xmc_norsram_init_struct.burst_mode_enable = XMC_BURST_MODE_ENABLE; //突发模式配置 xmc_norsram_init_struct.asynwait_enable = XMC_ASYN_WAIT_DISABLE; //异步传输期间等待信号使能控制 xmc_norsram_init_struct.wait_signal_lv = XMC_WAIT_SIGNAL_LEVEL_LOW; //等待信号极性,在同步模式下,此位设置NWAIT 信号极性 xmc_norsram_init_struct.wrapped_mode_enable = XMC_WRAPPED_MODE_DISABLE; //支持非对齐的成组模式,XMC 于同步模式时是否支持将非对齐的AHB 成组操作拆成2 次操作 xmc_norsram_init_struct.wait_signal_config = XMC_WAIT_SIGNAL_SYN_BEFORE; //等待时序配置,仅在同步模式有效 xmc_norsram_init_struct.write_enable = XMC_WRITE_OPERATION_ENABLE; //写使能位 xmc_norsram_init_struct.wait_signal_enable = XMC_WAIT_SIGNAL_ENABLE; //同步传输期间等待信号使能位 xmc_norsram_init_struct.write_timing_enable = XMC_WRITE_TIMING_DISABLE; //读写时序不同控制位,读存储器与写存储器使用不同的时序进行操作,即SRAM/NOR 闪存写时序寄存器(XMC_BKxTMGWR)被开放 xmc_norsram_init_struct.write_burst_syn = XMC_WRITE_BURST_SYN_ENABLE; //对存储器写操作位 xmc_nor_sram_init(&xmc_norsram_init_struct); /* timing configuration */ xmc_norsram_timing_default_para_init(&rw_timing_struct, &w_timing_struct); rw_timing_struct.subbank = XMC_BANK1_NOR_SRAM3; //指定需要复位的subbank rw_timing_struct.write_timing_enable = XMC_WRITE_TIMING_DISABLE; //读写时序不同控制位,读存储器与写存储器使用不同的时序进行操作,即SRAM/NOR 闪存写时序寄存器(XMC_BKxTMGWR)被开放 rw_timing_struct.addr_hold_time = 0x00; //地址保持时间 rw_timing_struct.addr_setup_time = 0x00; //地址建立时间 rw_timing_struct.data_setup_time = 0x00; //数据建立时间 rw_timing_struct.data_latency_time = 0x0A; //数据延迟,仅在同步模式有效 rw_timing_struct.bus_latency_time = 0x0; //总线延迟时间,为了防止数据总线发生冲突,在复用模式或同步模式时,一次读操作之后XMC在数据总线上插入延迟 rw_timing_struct.clk_psc = 0x0; //时钟分频系数,仅在同步模式有效,定义XMC_CLK 时钟的频率 rw_timing_struct.mode = XMC_ACCESS_MODE_A; //异步访问模式选择位,只在RWTD 位使能时有效 w_timing_struct.subbank = XMC_BANK1_NOR_SRAM3; w_timing_struct.write_timing_enable = XMC_WRITE_TIMING_DISABLE; w_timing_struct.addr_hold_time = 0x00; w_timing_struct.addr_setup_time = 0x00; w_timing_struct.data_setup_time = 0x00; w_timing_struct.data_latency_time = 0x0A; w_timing_struct.bus_latency_time = 0x0; w_timing_struct.clk_psc = 0x0; w_timing_struct.mode = XMC_ACCESS_MODE_A; xmc_nor_sram_timing_config(&rw_timing_struct, &w_timing_struct);
1188浏览量 1回复量 关注量