本帖最后由 孤独的守望者 于 2014-7-2 17:51 编辑
u8 t;
u8 a[1];
u8 mmm=16;
u8 len;
u8 Flag=1;
delay_init();
NVIC_Configuration();
uart_init(9600);
LED_Init();
KEY_Init();
while(1)
{
if(USART_RX_STA&0x8000)
{
len=USART_RX_STA&0x3fff;
a[0] = atoi ("USART_RX_BUF");
printf("\r\n您输入的是:\r\n\r\n");
for(t=0;t<len;t++)
{
USART_SendData(USART1, USART_RX_BUF[t]);
while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);
}
printf("\r\n\r\n");
USART_RX_STA=0;
while(Flag)
{
motor(0x01,0x01);
a[0]--;
if(a[0] == 0)
{
Flag = 0;
}
}
Flag = 1;
}
// while(Flag)
// {
// motor(0x01,0x01);
// mmm--;
// if( mmm == 0)
// {
// Flag = 0;
// }
// }
// while(1)
// {
// ;
// }
//
我用注释掉的那部分就转我计算的圈速,但是用串口接收给mmm的数值,也就是在串口发16,转的圈速就不对了,motor是驱动电机的子程序,应该没问题的 串口的字符转数值可以那么用atoi嘛 求大神指教 |