新手入门
- 积分
- 7
- 金钱
- 7
- 注册时间
- 2019-9-27
- 在线时间
- 2 小时
|
1金钱
我做的是用手柄控制机器人,现在是发送一条指令机器人执行一次,机器人执行过程中发送指令则无效。接收手标指令用的是串口3中断,发送数据给舵机板用的是串口1库函数。我想实现机器人在执行指令过程中若收到新的数据则执行新的指令。
void UART_TC (uchar *str)
{
uchar *time=" T200\r\n";
while(*str != '\0')
{
while(USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET);
USART_SendData(USART1,*str);
str++;
}
str = 0;
while(*time !='\0')
{
while(USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET);
USART_SendData(USART1,*time);
time++;
}
}
这是部分发送数据的指令。
void USART3_IRQHandler(void)
{
u8 Res;
if(USART_GetITStatus(USART3, USART_IT_RXNE) != RESET) //ÖD¶Ï2úéú
{
{Res =USART_ReceiveData(USART3);//¶á衽óêÕμ½μÄêy¾Y
LED0=!LED0;}
if(Res==0x55)
{
uart3_rec_sta=1;
}
if(uart3_rec_sta==1)
{
zigbee_action_rec[zigbee_rec_num]=Res;
zigbee_rec_num++;
}
if(zigbee_rec_num==4)
{
zigbee_rec_num=0;
uart3_rec_sta=0;
if(zigbee_action_rec[0]==0x55&&zigbee_action_rec[3]==0xaa)
{
switch(zigbee_action_rec[1])
这是部分接收数据的指令。
|
|