把程序下载进去没显示呢,求大神指导
void HC595_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOG, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_4;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOG, &GPIO_InitStructure);
GPIO_ResetBits(GPIOG,GPIO_Pin_4);
}
#define HC595_SI PGout(0)
#define HC595_SCK PGout(1)
#define HC595_RCLK PGout(2)
char LED[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
void sendbyte(unsigned char byte)
{
unsigned char num,i;
num=byte;
for(i=0;i<8;i++)
{
HC595_SCK=0;
delay_ms(5);
if((num&0x80)==0x80)
HC595_SI=1;
else
HC595_SI=0;
num=num<<1;
HC595_SCK=1;
delay_ms(5);
}
}
void out595()
{
HC595_RCLK=0;
delay_ms(5);
HC595_RCLK=1;
delay_ms(5);
HC595_RCLK=0;
}
main()
{
while(1)
{
for(i=0;i<8;i++)
{
sendbyte(LED[i]);
out595();
delay_ms(300);
}
}
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
char LED[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
void sendbyte(unsigned char byte)
{
unsigned char i;
HC595_RCLK=0;
for(i=0x80;i!=0;i>>=1)
{
HC595_SCK=0;
delay_us(1);
if(byte &i)HC595_SI=1;
elseHC595_SI=0;
HC595_SCK=1;
delay_us(1);
}
HC595_RCLK=1;
}
main()
{
while(1)
{
for(i=0;i<8;i++)
{
sendbyte(LED);
delay_ms(300);
}
}
}
大神,还是不行呢,主函数LED应该是一个数组呢
我上面的程序绝对不会有问题,如果你测试有问题就需要测试输出波形,看看是不是其他方面配置有问题。
一周热门 更多>