Linux和Windows平台的微控制器串列埠通訊

2021-10-02 11:02:25 字數 1470 閱讀 4117

1/windows

我們首先用串列埠除錯助手進行串列埠通訊,再使用c語言程式設計進行通訊。

windows上的串列埠除錯助手我使用的是安信可串列埠除錯助手

在微控制器中寫好串列埠通訊的**,在串列埠除錯助手中對應設定好串口號、波特率等引數,串列埠在win10下可以通過win+x—裝置管理器—埠來檢視。當然,最簡單的方法是插拔串列埠,串列埠除錯助手中多出來的那個串列埠便是微控制器的串口號。

stc微控制器**(stc89c52):

#include

#include

extern

void

uart_init

(void);

uint16_t a,flag;

intmain

(void

) es =0;

sbuf = a;

while

(!ti)

; ti =0;

es =1;

flag =0;

}}}void

uart_init

(void

)void

ser(

) interrupt 4

成功後,下一步我們就要用**進行串列埠通訊了。這裡我是在歐陽偉的串列埠通訊api上進行了修改。

首先我將send函式的形參buf由const void*改為void *,用來傳送變數。

int wzserialport::send(void* buf, int len)

接下來我又封裝了乙個自己的馬達控制函式。

void

motor_control

(int id,

int val)

;//最後必須有空格,微控制器才會認為輸入結束。

wzserialport w;

a[0]= id +48;

a[2]= val /

100+48;

a[3]=

(val /10)

%10+48

; a[4]

= val %10+

48;if(w.

open

("com7"

,9600,0

,8,1

))else

}

2/linux

和在windows上一樣,我們也是先跑通串列埠除錯助手,然後再使用**。

linux上我使用的串列埠除錯助手叫cutecom(圖形化介面),直接使用命令sudo apt-get install cutecom就可以在ubuntu上安裝(支援arm版本,樹莓派上也可以使用)。

其餘的步驟都和windows上的一樣,歐陽偉同樣也提供了linux上的串列埠通訊api!感謝開源!

值得一提的是,linux上的串口號是/dev開頭的,和windows上的com不一樣,注意一下就可以,在程式中要做好相應的修改。

php平台移植windows和linux

2015 1 14 今天專案中遇到乙個問題,在本地執行沒有問題,掛到伺服器上,就執行錯誤。過程中比較粗心,知道導致這樣的原因,居然小時漏掉了一些細節。比如,在php中通過宣告 autoload 方法可以自動載入相關類。而在windows和linux中有乙個比較大的區別,那就是linux是大小寫區分的...

Windows 程式移植到Linux平台的一波N折

本人前端時間寫了個html檔案分析器,windows平台上的vc6.0,使用標準c 昨天接到指令,應要求要發布乙個linux版本的,茫然啦,linux下面的hello world都沒有玩過,對linux下的c 程式僅僅限於聽他們神吹過的gcc,g makefile什麼的,其他一概不知。這就注定移植過...

Windows平台C 啟用和禁用裝置

在windows平台上有一套setupdi系列api可以獲取所有的硬體裝置,以及對其進行操作。現在我來主要說一下對指定裝置的啟用和禁用操作。首先說明一下,我的專案是個mfc對話方塊程式,我自己定義了乙個結構體用來存放相關的裝置資訊 typedef struct tagdeviceinfo else ...