问答

汇集网友智慧,解决技术难题

andreilei

TA的家园币:134  

  • HC32F460 SPI通信问题

    大家好,在使用HC32F460的SPI时,碰到这个问题:1/HC32F460可以正常发送数据,外部的设备也正常回复数据,但是HC32F460确收不到数据(读取DR寄存器得到的是刚才发送的数据)2/已经使用示波器观测波形,确认发送是正常的(外部设备也只有在收到数据后才回复)。示波器上的波形也显示外部设备返回了一个数据。以下是代码//SPI的配置voidSpi_Config(void){stc_spi_init_tstcSpiInit;/*configurationstructureinitialization*/MEM_ZERO_STRUCT(stcSpiInit);/*Configurationperipheralclock*/PWC_Fcg1PeriphClockCmd(SPI_UNIT_CLOCK,Enable);/*ConfigurationSPIpin*/PORT_SetFunc(SPI_SCK_PORT,SPI_SCK_PIN,SPI_SCK_FUNC,Disable);PORT_SetFunc(SPI_MOSI_PORT,SPI_MOSI_PIN,SPI_MOSI_FUNC,Disable);PORT_SetFunc(SPI_MISO_PORT,SPI_MISO_PIN,SPI_MISO_FUNC,Disable);//PORT_SetFunc(SPI_CS_PORT,SPI_CS_PIN,SPI_NSS_FUNC,Disable);//CS单独控制/*ConfigurationSPIstructure*/stcSpiInit.enClkDiv=SpiClkDiv8;//SpiClkDiv32SpiClkDiv64stcSpiInit.enFrameNumber=SpiFrameNumber1;stcSpiInit.enDataLength=SpiDataLengthBit8;//SpiDataLengthBit32SpiDataLengthBit16SpiDataLengthBit8stcSpiInit.enFirstBitPosition=SpiFirstBitPositionMSB;stcSpiInit.enSckPolarity=SpiSckIdleLevelLow;stcSpiInit.enSckPhase=SpiSckOddChangeEvenSample;//SpiSckOddSampleEvenChangeold--SpiSckOddChangeEvenSamplestcSpiInit.enReadBufferObject=SpiReadReceiverBuffer;//SpiReadSendBufferold--SpiReadReceiverBufferstcSpiInit.enWorkMode=SpiWorkMode3Line;stcSpiInit.enTransMode=SpiTransFullDuplex;stcSpiInit.enCommAutoSuspendEn=Disable;//DisablestcSpiInit.enModeFaultErrorDetectEn=Disable;stcSpiInit.enParitySelfDetectEn=Disable;stcSpiInit.enParityEn=Disable;stcSpiInit.enParity=SpiParityEven;stcSpiInit.enMasterSlav

  • AC7811用什么设备可以读写

    AC7811用什么设备接5根线可以读写,电路板上有个5针接口,哪位老师指导一下,