你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F429 Discovery 与 ZSC31210 SPI 通讯

[复制链接]
Aaron_0618 提问时间:2017-6-4 17:36 /
本帖最后由 Aaron_0618 于 2017-6-4 22:03 编辑

每3ms读取 SPI4_Read(ZSC,2);但是每次ZSC[0]与ZSC[1]两个値永远相同,清问问题点在哪边我设定错了?

void SysTick_Handler(void)  //1ms
{
   SPI_Delay++;
   if(SPI_Delay==3)
   {
        SPI4_Read(ZSC,2);
        SPI_Delay=0;
   }
}

static void SPI4_Init(void)
{  
    GPIO_InitTypeDef GPIO_InitStructure;  
    SPI_InitTypeDef  SPI_InitStructure;  

    RCC_APB2PeriphClockCmd(RCC_APB2Periph_SPI4, ENABLE);  
    RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOE | RCC_AHB1Periph_GPIOE | RCC_AHB1Periph_GPIOE, ENABLE);  
    RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOE, ENABLE);  
    GPIO_PinAFConfig(GPIOE, GPIO_PinSource12, GPIO_AF_SPI4);  
    GPIO_PinAFConfig(GPIOE, GPIO_PinSource13, GPIO_AF_SPI4);  
    GPIO_PinAFConfig(GPIOE, GPIO_PinSource14, GPIO_AF_SPI4);  

    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;  
    GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;  
    GPIO_InitStructure.GPIO_PuPd  = GPIO_PuPd_DOWN;  
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;  
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12;  
    GPIO_Init(GPIOE, &GPIO_InitStructure);  
    GPIO_InitStructure.GPIO_Pin =  GPIO_Pin_13;  
    GPIO_Init(GPIOE, &GPIO_InitStructure);  
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_14;  
    GPIO_Init(GPIOE, &GPIO_InitStructure);         

    SPI_I2S_DeInit(SPI4);  
    SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex;  
    SPI_InitStructure.SPI_Mode = SPI_Mode_Master;  
    SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b;  
    SPI_InitStructure.SPI_CPOL = SPI_CPOL_Low;  
    SPI_InitStructure.SPI_CPHA = SPI_CPHA_1Edge;  
    SPI_InitStructure.SPI_NSS = SPI_NSS_Soft;  
    SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_128;   //ZSC31210 50K-800K
    SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB;  
    SPI_InitStructure.SPI_CRCPolynomial = 7;  
    SPI_Init(SPI4, &SPI_InitStructure);  
    SPI_Cmd(SPI4, ENABLE);  

    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11;  
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;  
    GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;  
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;  
    GPIO_InitStructure.GPIO_PuPd  = GPIO_PuPd_NOPULL;  
    GPIO_Init(GPIOE, &GPIO_InitStructure);  
    GPIO_SetBits(GPIOE, GPIO_Pin_11);
}


void SPI4_Read(uint8_t* pBuffer, uint16_t NumByteToRead)
{   
    GPIO_ResetBits(GPIOE, GPIO_Pin_11);  
    while(NumByteToRead > 0x00)  
    {   
       *pBuffer = SPI4_SendByte(0xFF);   
        NumByteToRead--;   
        pBuffer++;  
    }   
    GPIO_SetBits(GPIOE, GPIO_Pin_11);  
}  


static uint8_t SPI4_SendByte(uint16_t byte)
{  
    SPI_I2S_SendData(SPI4, (uint16_t)byte);  
    return (uint8_t)SPI_I2S_ReceiveData(SPI4);
}


收藏 评论3 发布时间:2017-6-4 17:36

举报

3个回答
Tcreat 回答时间:2017-6-4 18:40:16
亲 不要把社区当成了你们家的后院,看看你帖的代码,哪里是要请教问题的态度~
suoma 回答时间:2017-6-4 19:53:36
首先代码不全,
Aaron_0618 回答时间:2017-6-4 21:42:08
看过原文的各位抱歉....格式跑掉了

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版