我只是想用c實現乙個簡單的收發, 但是卻花費了很多時間, 此文記錄一些要點.
驅動的安裝
按照官網給的驅動進行安裝, 要注意
作業系統和kernel的版本要和手冊中的一致
記得賦予埠許可權.
原始碼
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
inttransmit
(canmsg_t tx)
tx.flags = msg_ext;
//如果不加的話, 接收端的data值會錯誤.
write
(fd,
&tx,1)
;//寫1幀
printf
("write down\n");
usleep
(1000);
close
(fd)
;return1;
}int
receive
(canmsg_t *_rx)
測試函式就不寫了.
要注意的幾點:
傳送幀如果沒有flags引數, 則接受幀的data會錯誤. 但是length,id等引數是正確的.
在receive函式中, 別忘記memcpy. 不然函式結束後, 區域性記憶體失效, 只是傳出去乙個指標, 外部得到的結果自然亂碼.
要在write後延遲一段時間再關閉檔案, 否則收不到.
這裡有用swig對python的封裝, 但是我沒有跑通.
這裡我認為是乙個大的框架, 但是不能支援我的裝置.
簡訊的收發簡單Demo
簡訊的傳送 傳送簡訊相當的簡單,只需要幾行 如下 引數phonenumber和msgstr均是string型別,表示接收方的 號碼和簡訊內容 smsmanager sms smsmanager.getdefault pendingintent pi pendingintent.getbroadcas...
CAN匯流排簡單介紹
keywords 區域網,現場匯流排,序列通訊 一句話描述,can匯流排因其高效能和可靠性強,廣泛應用於汽車產業,醫療裝置,船舶 一 can匯流排是什麼?can是控制器區域網路 controller area network,can 的簡稱,是由以研發和生產汽車電子產品著稱的德國bosch公司開發的...
STM32 CAN 配置 收發結構定義 留存
分布式系統專案需要,這次弄個can匯流排來布局,僅見can的冰山一角。本次使用擴充套件幀模式。stm32 對can的定義 庫 can結構體定義 說明 typedef struct can typedef can訊息傳送 can tx message structure definition type...