Stm32控制595要上拉电阻吗?595到单片机有排线,我用的是pa的2,3,4口,设置

2025-04-06 21:34:02
推荐回答(2个)
回答1:

    #define MOSIO GPIO_Pin_2  //PA2; 12 
#define S_CLK GPIO_Pin_3  //PA3; 13 
#define R_CLK GPIO_Pin_4  //PA4; 14
  
void HC595_INIT() 

    GPIO_InitStructure.GPIO_Pin = MOSIO|R_CLK|S_CLK;  
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_Init(GPIOA, &GPIO_InitStructure);  
    GPIO_SetBits(GPIOA,R_CLK);  
    GPIO_SetBits(GPIOA,S_CLK);  
    GPIO_SetBits(GPIOA,MOSIO);  
}
  
void HC595SendData(unsigned char SendVal) 
{         
    unsigned char i;   
    
    GPIO_ResetBits(GPIOA, R_CLK);

    for(i=0;i<8;i++) 
    {    
        GPIO_ResetBits(GPIOA, S_CLK); 
        if((SendVal<        {  
            GPIO_SetBits(GPIOA, MOSIO);   
        }  
        else   
        {              
            GPIO_ResetBits(GPIOA, MOSIO);
        }
        delay_us1(1);  
        GPIO_SetBits(GPIOA, S_CLK);        
    }      
    
    delay_us1(1);     
    GPIO_SetBits(GPIOA, R_CLK);
}

 仔细看下595数据手册,时序不对

回答2:

是不是时序不对