--- trunk/PIC/Testprogram/serial1.cpp 2007/02/01 10:03:52 38 +++ branches/linux-serial/serial1.cpp 2007/02/06 14:01:59 63 @@ -1,8 +1,13 @@ // serial1.cpp : Defines the entry point for the console application. // -#include "stdafx.h" +#ifdef _MSC_VER #include "serial1.h" +#endif + +#include "stdafx.h" + + #ifdef _DEBUG #define new DEBUG_NEW #endif @@ -12,10 +17,10 @@ #include #include #include +#include -#include -void pause() +void my_pause() { char d[1]; std::cout << "Press enter to continue" << std::endl; @@ -23,33 +28,62 @@ } -int main() +int main(int argc, char* argv[]) { int count = 0; unsigned char c,input; - CH7Serial serial("com8", 9600); + CH7Serial serial; + + if (argc != 2) + { + std::cout << "Usage: " << argv[0] << "" << std::endl; + exit(0); + } try { - // tænd lysdiode S3 / RB1 + int count =0; + serial.open(argv[1], CSerial::Baud9600); + while(1) + { + try{ + std::cout << "Potmeter: " << serial.readTarget(5) << std::endl; + } + catch (timeout_error& e) + { + std::cout << "Restarting ..." << std::endl; + serial.close(); + Sleep(50); + serial.open(argv[1], CSerial::Baud9600); + Sleep(50); + } + std::cout << count++ << std::endl; + Sleep(50); + } + + serial.open(argv[1], CSerial::Baud9600); + // tænd lysdiode S3&S4 / RB1&RB2 std::cout << "--------------------------------------" << std::endl; serial.writeTarget(0,1); + std::cout << "-"; + serial.writeTarget(1,1); Sleep(2000); // sluk lysdiode S3 / RB1 std::cout << "--------------------------------------" << std::endl; serial.writeTarget(0,0); - Sleep(2000); + Sleep(200); //Aflæser potmeter ved 9600 bps std::cout << "--------------------------------------" << std::endl; std::cout << "Potmeter: " << serial.readTarget(5) << std::endl; + //Skifter hastighed til 19200 bps serial.writeTarget(10, 4); Sleep(100); serial.close(); - serial.open("com8", 19200); + serial.open(argv[1], CSerial::Baud19200); //aflæser potmeter ved 19200 bps std::cout << "--------------------------------------" << std::endl; @@ -61,20 +95,33 @@ Sleep(500); serial.close(); - serial.open("com8",9600); + serial.open(argv[1], CSerial::Baud9600); //aflæser potmeter igen ved 9600 bps std::cout << "--------------------------------------" << std::endl; std::cout << "Potmeter: " << serial.readTarget(5) << std::endl; - } catch (std::exception e) + + } + catch (std::runtime_error& e) + { + std::cout << "Error: " << e.what() << std::endl; + exit(1); + } + catch (std::exception& e) + { + std::cout << "Exception: " << e.what() << std::endl; + exit(2); + } + catch(...) { - std::cout << "Exception :" << e.what() << std::endl; + std::cout << "asd" << std::endl; + exit(3); } //std::cout << serial.readTarget(2) << std::endl; - pause(); + my_pause(); return 0; }