#include #include #include #include #include #include #include #include int main() { XUartLite RS232_1; XUartLite RS232; XUartLite_Config config; config.DeviceId = XPAR_RS232_DEVICE_ID; config.RegBaseAddr = XPAR_RS232_BASEADDR; config.BaudRate = XPAR_RS232_BAUDRATE; config.UseParity = 0; config.ParityOdd = 0; config.DataBits = XPAR_RS232_DATA_BITS; XUartLite_CfgInitialize (&RS232, &config, XPAR_RS232_BASEADDR ); XUartLite_Config config1; config1.DeviceId = XPAR_RS232_1_DEVICE_ID; config1.RegBaseAddr = XPAR_RS232_1_BASEADDR; config1.BaudRate = XPAR_RS232_1_BAUDRATE; config1.UseParity = 0; config1.ParityOdd = 0; config1.DataBits = XPAR_RS232_1_DATA_BITS; XUartLite_CfgInitialize (&RS232_1, &config1, XPAR_RS232_1_BASEADDR ); char a[1000]; char* d; char b[]={"READY!"}; const unsigned int fifoBytesSize = 16; unsigned int receivedBytesCountFromTerminal = 0; unsigned int receivedBytesCountFromMotor = 0; u8 receivedBufferFromMotor [fifoBytesSize] ; u8 receivedBufferFromTerminal[fifoBytesSize] ; XUartLite_ResetFifos(&RS232_1); XUartLite_ResetFifos(&RS232); while(1) { receivedBytesCountFromMotor = XUartLite_Recv(&RS232_1, receivedBufferFromMotor, fifoBytesSize); if (receivedBytesCountFromMotor != 0) //hier an der Stelle wenn ich strcpy nicht nutze sondern { d=strstr((const char*)receivedBufferFromMotor,b) es funktioniert nur wenn ich xil_printf("%s\n",receivedBufferFromMotor); sonst passiert nichts, obwohl ich schaue was ich empfange und dann mein Suchwort so schreibe. strcpy(a,(const char*)receivedBufferFromMotor); //xil_printf("%s\n",a); //XUartLite_Send(&RS232,receivedBufferFromMotor, receivedBytesCountFromMotor ); d=strstr(a, b); if (d!=0) { xil_printf("Init Is Done Start Sending Commands!\n"); break; } } } //*XUartLite_ResetFifos(&RS232_1); XUartLite_ResetFifos(&RS232); while(1) { receivedBytesCountFromTerminal = XUartLite_Recv(&RS232,receivedBufferFromTerminal,fifoBytesSize); if (receivedBytesCountFromTerminal != 0) { XUartLite_Send(&RS232_1,receivedBufferFromTerminal, receivedBytesCountFromTerminal); } // xil_printf("receivedBytesCountFromTerminal=%d",receivedBytesCountFromTerminal); receivedBytesCountFromMotor = XUartLite_Recv(&RS232_1, receivedBufferFromMotor, fifoBytesSize); if (receivedBytesCountFromMotor != 0) { xil_printf("%s\n",receivedBufferFromMotor); //XUartLite_Send(&RS232,receivedBufferFromMotor, receivedBytesCountFromMotor); } } *// return 0; }