最近在用Keil c写一个串口控制舵机程序,遇到问题:
虚拟串口,使用串口工具发送数据,keilC中接收程序无反应;查看com2和com3确实有收发数据的?
还有一个
uint flag; //uint8 flag;
char buf_string[8]; //定义数据包长度为8个字符
..........省略其他无关代码
/*********************************************************************************
** 功能 : 处理串口接收数据包函数(成功处理数据包则返回1,否则返回0)
*********************************************************************************/
bit Deal_UART_RecData()
{
if(buf_string[0]=='A'&&buf_string[8]=='#') // 进行数据包头尾标记验证
{
sendChar(buf_string[1]);
flag = buf_string[1];
return 1;
}
return 0;
}
void SteeringGearUp(uint i, uint j) //void SteeringGearUp(uint8 i, uint8 j)
{
pwm=ms_5Con[j];
}
void main()
{
Timer0_Init();
Com_Init();
while(1)
{
//while(!flag);
while(flag==0);
tt = 0;
//sendChar(tt);
SteeringGearUp(0, tt); // 此函数写死固定角度,如:SteeringGearUp(0, 0) 正常运行;按现在程序用tt定义变量写死也能正常运行;就是改成传来的参数flag就没有反应了
//Delay(1000);
Led();
flag = 0;
}
}
程序烧到At89s52上,没反应,由于问题一,没法在线debug。问题卡在这儿了
请哪位大师指点一下,谢谢了
|