新手上路
- 积分
- 26
- 金钱
- 26
- 注册时间
- 2017-4-8
- 在线时间
- 5 小时
|
1金钱
刚开始学STM32,想用串口控制LED的亮灭,但是不知道为什么用上面的可以,用strcmp进行比较时不行?主程序如下:
int main()
{
u8 t,f=0;
u8 len;
delay_init(72);
LED_Init();
NVIC_Configuration();
uart_init(9600);
while(1)
{
if(USART_RX_STA&0x80)
{
len=USART_RX_STA&0X3F;
printf("\n您发送的消息为:\n");
for(t=0;t<len;t++)
{
rd[t]=USART_RX_BUF[t];
USART1->DR=USART_RX_BUF[t];
while((USART1->SR&0X40)==0);
}
printf("\r\n\r\n");
f=1;
USART_RX_STA=0;
}
if(f)
{
if(rd[0]=='l'&&rd[1]=='e'&&rd[2]=='d'&&rd[3]=='o'&&rd[4]=='n')
{
LED1=0;
printf("\nled_on_ok\n");
}
if(rd[0]=='l'&&rd[1]=='e'&&rd[2]=='d'&&rd[3]=='o'&&rd[4]=='f'&&rd[5]=='f')
{
LED1=1;
printf("\nled_off_ok\n");
}
/*if(strcmp(rd,"ledon")==0)
{
LED1=0;
printf("\nled_on_ok\n");
}
if(strcmp(rd,"ledoff")==0)
{
LED1=1;
printf("\nled_off_ok\n");
} */
f=0;
}
}
}
|
|