go在arm上讀取串列埠資料

2021-07-11 21:57:39 字數 721 閱讀 9382

最近在imx6上開發程式使用go作為後台服務程式,需要用到讀取串列埠資料,想通過cgo用c來讀取取串列埠資料

package main

/* #cgo ldflags: lib/testrs232.a

#include "lib/testrs232.h"

int opendev(char *buf)

int writedev(char *buf,int writesize)

int setpara(enum ebaud baud, enum edatabit databit, enum eparitybit  paritybit

,enum estopbit stopbit)

int readdata(char *buf,int bufsize)

*/

import "c"

在上面呼叫中,/**/內的是c**,後面緊跟著import "c"

例如:go裡要使用上面的函式

c.opendev(c.cstring("/dev/ttymxc2"))

在linux下成功編譯,並能讀取串列埠的值,但想編譯到arm平台的板子上,總是顯示錯誤,後來在liteide裡,編輯當前環境,將

cgo_enabled=1,預設

cgo_enabled=0,再編譯,還是出現錯誤,找不到編譯器,後來設定環境變數cc,設定為板子的工具鏈

cc=arm-fsl-linux-gnueabi-gcc,編譯成功

讀取串列埠資料

void uartbuf wd uartbuf ringbuf,uint8 t datain d今天移植一段 的時候看到乙個挺有意思的寫法 如上 這是一段微控制器讀取串列埠資料的函式,一開始看到的時候我很是懵比,要我以前寫的話或者看的大多數程式都是乙個簡單的迴圈賦值到緩衝陣列,索引達到陣列的size...

讀取串列埠資料

讀取串列埠資料 2017年06月01日 12 10 39 閱讀數 700 cpp view plain copy cpp view plain copy void uartbuf wd uartbuf ringbuf,uint8 t datain d今天移植一段 的時候看到乙個挺有意思的寫法 如上 ...

Linux讀取串列埠資料

大致為 有乙個傳送端週期性的往本機串列埠上傳送資料,本機需要定時讀取串列埠資料,解析,獲取自己想要的資訊。實際描述為 由於是做智慧型駕駛的,需要讀取車輛速度,通過obd裝置讀取並解析車輛速度,然後通過藍芽傳送給pc串列埠 也是通過乙個藍芽模組接收 pc端串列埠定時接收串列埠資料並解析。在上述過程中,...