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 ...