|
- int InitUART(void)
- {
- hCom = CreateFile(TEXT("COM15"),
- GENERIC_READ|GENERIC_WRITE, //允許讀
- 0, //指定共享屬性,由于串口不能共享,所以該參數必須為0
- NULL,
- OPEN_EXIStiNG, //打開而不是創建
- 0, //屬性描述,該值為FILE_FLAG_OVERLAPPED,表示使用異步I/O,該參數為0,表示同步I/O操作
- NULL);
- if (hCom == INVALID_HANDLE_VALUE)
- {
- printf("打開COM失敗!\n");
- return FALSE;
- }
- else
- {
- printf("COM打開成功!\n");
- }
- SetupComm(hCom, 1024, 1024); //輸入緩沖區和輸出緩沖區的大小都是1024字節
- /*********************************超時設置**************************************/
- COMMTIMEOUTS TimeOuts;
- //設定讀超時
- TimeOuts.ReadIntervalTimeout = MAXBYTE;//讀間隔超時
- TimeOuts.ReadTotalTimeoutMultiplier = 0;//讀時間系數
- TimeOuts.ReadTotalTimeoutConstant = 0;//讀時間常量
- //設定寫超 int Dis, Vol, 時int Dis, Vol,
- TimeOuts.WriteTotalTimeoutMultiplier = 1;//寫時間系數
- TimeOuts.WriteTotalTimeoutConstant = 1;//寫時間常量
- SetCommTimeouts(hCom, &TimeOuts); //設置超時數據寫入
- /*****************************************配置串口***************************/
- DCB dcb;
- GetCommState(hCom, &dcb);
- dcb.BaudRate = 9600; //波特率為9600
- dcb.ByteSize = 8; //每個字節有8位
- dcb.Parity = NOPARITY; //無奇偶校驗位
- dcb.StopBits = ONESTOPBIT; //一個停止位
- SetCommState(hCom, &dcb);//配置數據寫入
- return 1;
- }
復制代碼
|
-
C.png
(56.8 KB, 下載次數: 56)
下載附件
2019-5-2 09:37 上傳
-
MCU.png
(206.5 KB, 下載次數: 58)
下載附件
2019-5-2 09:37 上傳
|