-
求助各位大佬dspic33ev系列引脚映射SPI2存在问题
本人使用DSPIC33ev128与AD7606进行通信的过程中使用默认的SPI1可以正确读取7606总线数据,现在改用可映射的SPI2就出现以下问题。 问题1:片选信号在MISO的最后一个周期没有发完就拉高了,如下图所示 问题2:示波器看有输出信号但是SPI2BUF一直为空,单片机没有收到,while (!SPI2STATbits.SPIRBF)这个判别条件始终无法为通过。 问题3:单片机MOSI在发送两个字的数据,如0xff,示波器上显示输出只有一半,只有改为0xffff才显示完全 希望各位大佬不吝赐教,非常感谢代码如下: void SPI2_Init(void)//主模式 { TRISCbits.TRISC8 = 0;//设置为输出 SCK TRISCbits.TRISC2 = 1;//设置为输入 MISO TRISCbits.TRISC6 = 0;//设置输出 MOSI RPOR7bits.RP56R = 0b001001;//配置RP35为SCK2引脚 RC8 RPINR22bits.SDI2R = 0b0110010;//配置RPI34为MISO引脚 RB2 RPOR6bits.RP54R = 0b001000;//配置RP54为MOSI引脚 RC IFS2bits.SPI2IF = 0; //清中断 IEC2bits.SPI2IE = 0; //中断禁止 SPI2CON1bits.SPRE=0b001; SPI2CON1bits.PPRE=0b01; SPI2CON1bits.DISSCK = 0; //使能内部 SPI 时钟 SPI2CON1bits.DISSDO = 0; //SDOx引脚由模块控制 SPI2CON1bits.MODE16 = 1; //通信为字节宽 (16位) SPI2CON1bits.SMP = 0; //输入数据在数据输出时间末端采样 SPI2CON1bits.CKE = 0; //串行输出数据在时钟从工作状态转变为空闲状态时变化 SPI2CON1bits.CKP = 1; //空闲状态时钟信号为高电平; SPI2CON1bits.SSEN = 0;//模块不使用SS引脚 SPI2CON1bits.MSTEN = 1; //主控模式 SPI2CON2bits.SPIBEN = 0; //传统模式 SPI2STATbits.SPIEN = 1; //使能模块并将SCKx、SDOx、SDIx和SSx配置为串口引脚 SPI2BUF = 0x0000; //写0 IFS2bits.SPI2IF = 0; //清中断 IEC2bits.SPI2IE = 1; //使能中断 } unsigned int SPI2_ReadByte(unsigned int TxData) { SPI2BUF = TxData; // while (!SPI2STATbits.SPIRBF); while(SPI2STATbits.SPITBF); return SPI2BUF; } void AD7606_ReadData(void) { unsigned int i; AD_CS_L; for(i=0;i<8;i++) { DB_data[i] = SPI2_ReadByte(dummy); } AD_CS_H; } void __attribute__((__interrupt__, auto_psv)) _SPI2Interrupt(void) { IFS2bits.SPI2IF = 0;//中断标志清零 }
2471浏览量 3回复量 关注量 -
CH32V103 PD1引脚重映射问题
PD1重映射GPIO 设置上拉输入,默认是低电平void app_gpio_init(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOC|RCC_APB2Periph_GPIOD , ENABLE); //使能GPIOA,GPIOB,GPIOC,GPIOD外设时钟 RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE); //GPIOA引脚设置推挽输出 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_11; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_Init(GPIOA, &GPIO_InitStructure); //GPIOB引脚设置推挽输出 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_12|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_9; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_Init(GPIOB, &GPIO_InitStructure); //GPIOC引脚设置推挽输出 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_15|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10|GPIO_Pin_11; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_Init(GPIOC, &GPIO_InitStructure); //GPIOD引脚设置推挽输出 GPIO_PinRemapConfig(GPIO_Remap_PD01,ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_Init(GPIOD, &GPIO_InitStructure); //GPIOB引脚设置上拉输入 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1|GPIO_Pin_3|GPIO_Pin_8; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; GPIO_Init(GPIOB, &GPIO_InitStructure); //GPIOC引脚设置上拉输入 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_7|GPIO_Pin_12; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; GPIO_Init(GPIOC, &GPIO_InitStructure); //GPIOD引脚设置上拉输入 GPIO_PinRemapConfig(GPIO_Remap_PD01,ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; GPIO_Init(GPIOD, &GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; GPIO_Init(GPIOD, &GPIO_InitStructure); }
3249浏览量 3回复量 关注量 -
关于引脚的Alternate功能
[img]data:image/png;base64,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**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[/img]像这个样子,引脚的Alternate和Remap有什么区别,怎么把引脚配置成Alternate功能,并映射到对应的外设上?
2642浏览量 2回复量 关注量 -
GD32F103RB映射UART0到PB6,PB7失败怎么解决?
[color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] 我在作用GD32F103RB时,LQFP64将串口0重映射到PB6,PB7时串口发送数据时无输出。用示波器测量IO口无波形。但是串口中断可以进去。[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] PB6 - Remap: USART_RX[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] PB7 - Remap: USART_TX[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px]//初始化程序如下:[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px]nvic_irq_enable(USART0_IRQn, 14, 0); //[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px]// remap uart0[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px]rcu_periph_clock_enable(RCU_AF); [/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px]gpio_pin_remap_config(GPIO_USART0_REMAP,ENABLE);[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px]/* enable GPIO clock */[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px]rcu_periph_clock_enable( RCU_GPIOB); // clock already seted[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px]rcu_periph_clock_enable( RCU_GPIOB);[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px]/* connect port to USARTx_Tx */[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px]gpio_init(GPIOB, GPIO_MODE_OUT_OD, GPIO_OSPEED_2MHZ, GPIO_PIN_6);[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px]/* connect port to USARTx_Rx */[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px]gpio_init(GPIOB, GPIO_MODE_OUT_OD, GPIO_OSPEED_2MHZ, GPIO_PIN_7);[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px]/* enable USART clock */[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px]rcu_periph_clock_enable(RCU_USART0);[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px]/* USART configure */[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px]usart_deinit(USART0);[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px]usart_baudrate_set(USART0, 9600);[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px]usart_word_length_set(USART0, USART_WL_8BIT);[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px]usart_stop_bit_set(USART0, USART_STB_1BIT);[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px]usart_parity_config(USART0, USART_PM_NONE);[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px]usart_hardware_flow_rts_config(USART0, USART_RTS_DISABLE);[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px]usart_hardware_flow_cts_config(USART0, USART_CTS_DISABLE);[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px]usart_receive_config(USART0, USART_RECEIVE_ENABLE);[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px]usart_transmit_config(USART0, USART_TRANSMIT_ENABLE);[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px]usart_enable(USART0);[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px]// interrupt enable[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px]//usart_interrupt_enable(USART0, USART_INT_TBE);[/size][/font][/backcolor][/color]
4583浏览量 2回复量 关注量 -
求助-GD32F103RB将UART0重映射到PB6,PB7上无输出是怎么回事?
我在作用GD32F103RB时,LQFP64将串口0重映射到PB6,PB7时串口发送数据时无输出。用示波器测量IO口无波形。但是串口中断可以进去。 PB6 - Remap: USART_RX PB7 - Remap: USART_TX //初始化程序如下: nvic_irq_enable(USART0_IRQn, 14, 0); // // remap uart0 rcu_periph_clock_enable(RCU_AF); gpio_pin_remap_config(GPIO_USART0_REMAP,ENABLE); /* enable GPIO clock */ rcu_periph_clock_enable( RCU_GPIOB); // clock already seted rcu_periph_clock_enable( RCU_GPIOB); /* connect port to USARTx_Tx */ gpio_init(GPIOB, GPIO_MODE_OUT_OD, GPIO_OSPEED_2MHZ, GPIO_PIN_6); /* connect port to USARTx_Rx */ gpio_init(GPIOB, GPIO_MODE_OUT_OD, GPIO_OSPEED_2MHZ, GPIO_PIN_7); /* enable USART clock */ rcu_periph_clock_enable(RCU_USART0); /* USART configure */ usart_deinit(USART0); usart_baudrate_set(USART0, 9600); usart_word_length_set(USART0, USART_WL_8BIT); usart_stop_bit_set(USART0, USART_STB_1BIT); usart_parity_config(USART0, USART_PM_NONE); usart_hardware_flow_rts_config(USART0, USART_RTS_DISABLE); usart_hardware_flow_cts_config(USART0, USART_CTS_DISABLE); usart_receive_config(USART0, USART_RECEIVE_ENABLE); usart_transmit_config(USART0, USART_TRANSMIT_ENABLE); usart_enable(USART0); // interrupt enable //usart_interrupt_enable(USART0, USART_INT_TBE);
8896浏览量 3回复量 关注量 -
芯圣芯片PTM重映射寄存器如何配置?
各位好,第一次调试芯圣芯片,893650芯片,代码模块库例程里IIC重映射到P0.0、P0.1,SCL_MAP=0XC0,SDA_MAP=0XC1,这个C是怎么来的,哪里有说明文档,为何不是00,01?INT0例程里,INT0映射到P1.0,INT0_MAP=0X08,这个为何不是0x10?按芯片手册里串口映射配置寄存器的写法,不是应该高位是PORT口,低位是Pin口吗?这个赋值规则都不一样,搞不来,有芯圣原厂技术的吗?求支招,谢谢。
4275浏览量 5回复量 关注量 -
我问一下GD32F405RGT6对应的DMA映射表能发我一下吗 sos
我问一下GD32F405RGT6对应的DMA映射表能发我一下吗,手机号15600595231(微信号),qq邮箱:[email]1654473463@qq.com[/email]
2179浏览量 0回复量 关注量