PIC单片机的SPI2BUF传入数值不对怎么办
unsignedcharSPI_RW(unsignedchardata){SPI2BUF=data;while(!IFS2bits.SPI2IF);IFS2bits.SP...
unsigned char SPI_RW(unsigned char data)
{
SPI2BUF = data;
while(!IFS2bits.SPI2IF);
IFS2bits.SPI2IF = 0;
temp_data = SPI2BUF;
return SPI2BUF;
}
我传入的是0xcf,但是SPI2BUF我在调试的时候发现是0x5F怎么办 展开
{
SPI2BUF = data;
while(!IFS2bits.SPI2IF);
IFS2bits.SPI2IF = 0;
temp_data = SPI2BUF;
return SPI2BUF;
}
我传入的是0xcf,但是SPI2BUF我在调试的时候发现是0x5F怎么办 展开
1个回答
展开全部
_SDI2R = 9; /* SDI2 MISO -> RP9 */
_RP8R = 10; /* SDO2 MOSI -> RP8 */
_RP31R = 11; /* SCK2 SCLK -> RP31 */
SPI2CON1 = 0x012F; //SCLK = 3.2MHz
// SPI2CON1 = 0x013B; //SCLK = 8MHz
SPI2CON2 = 0x0000;
SPI2STATbits.SPIEN = 1;
uint8 SPI_ReadWriteByte(uint8 dat)
{
SPI2BUF = dat;
while(!SPI2STATbits.SPIRBF);
return (uint8)SPI2BUF;
}
_RP8R = 10; /* SDO2 MOSI -> RP8 */
_RP31R = 11; /* SCK2 SCLK -> RP31 */
SPI2CON1 = 0x012F; //SCLK = 3.2MHz
// SPI2CON1 = 0x013B; //SCLK = 8MHz
SPI2CON2 = 0x0000;
SPI2STATbits.SPIEN = 1;
uint8 SPI_ReadWriteByte(uint8 dat)
{
SPI2BUF = dat;
while(!SPI2STATbits.SPIRBF);
return (uint8)SPI2BUF;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询