原创 C語言之static inline函數
今天在前輩的代碼中看到在頭文件中定義了static line函數,並且該函數只是判斷一個全局變量的狀態。 內聯代碼 //abc.c中定義了一個全局變量 uint8_t g_addrMode; //abc.h中定義static l
原创 CANopen之LSS Node-ID節點管理
CANopen之 LSS Node-ID節點管理1.區分CAN-ID和節點ID2.節點ID的分配3.層設置服務LSS3.1 服務內容3.2 LSS用到的CAN-ID3.3 LSS的尋址模式3.4 LSS狀態切換3.5 點對點配置(
原创 Cjson簡介與使用
json格式 json元素類型 /* cJSON Types: */ #define cJSON_Invalid (0) #define cJSON_False (1 << 0) #define cJSON_True
原创 C語言之sizeof、內存分區
sizeof sizeof 返回的是變量(單個變量或結構體)實際所佔用的空間的大小 typedef struct Person { char a; int b; }PERSON; int main() { std
原创 MQTT上報電壓值
添加標準功能 上報fmt const char *fmt="/sys/%s/%s/thing/event/property/post"; 在example_publish( )中獲取電壓值並上報 int example_pub
原创 python 解析excel表並排重輸出到txt
需求 解析excel表中每個單元格的元素,並且排重後輸出到txt文件中,保存格式爲UTF-8 程序 pip install xlrd import xlrd # 保存唯一字符的列表 convert_list = []
原创 PyQt5開發環境搭建
安裝第三方庫出錯方法 錯誤:Cannot unpack file xxxx 進入到Project Interpreter目錄,然後使用命令安裝: PyQt5安裝 基於之前已經安裝且配置了python環境3.6 Confi
原创 C語言之結構體相關
結構體相關 結構體成員offset和size 結構體對齊 結構體成員比較 結構體成員offset和size 如何計算結構體成員在結構體中的偏移 s爲結構體,m爲結構體成員 ((s *)0):強制轉化成數據結構指針,並使其指向
原创 Linux下wifi工具wpa_cli使用
wpa_cli使用 掃描 查看掃描結果 添加network 設置SSID 選擇某個network 查看networks 使能某個network 查詢連接情況 自動分配IP地址 API Demo 掃描 [root@demo]#
原创 epoll三種工作模式
epoll三種工作模式 水平觸發模式 LT 之前僞代碼的問題。 假設有100個數據,但是某次讀只能讀50個字節。下一次再讀50個字節。 只要fd對應的緩衝區有數據,即判斷緩衝區 epoll_wait返回 返回的次數與發送的數據次
原创 MQTT在嵌入式Linux上的點燈和關燈
MQTT運行 阿里雲創建設備 MQTT源碼下載及編譯 MQTT移植到ARM Linux平臺 MQTT點燈和關燈 阿里雲創建設備 注意:我這裏用的是連接協議是WIFI協議,如果用網線連接的話,創建的時候選擇:“以太網” MQT
原创 本地套接字
文件格式 管道文件: P ls -l 第一個字符爲P, 那麼爲管道文件 套接字:S 僞文件,不存在磁盤,在內核緩衝區內 有名管道用於沒有血緣關係進程間通信 進程A管道P進程Bopen()管道位於內核緩衝區open()進程
原创 epoll反應堆模型
當epoll_wait發現response_events[]中的fd發生變化時,自動代用ptr指向的回調函數。這樣子可以再次提高一點效率。 傳統 epoll – Server – Listen — cfd — 可讀 — ep
原创 eopll“三板斧”
epoll 僞代碼 epoll"三板斧" 看《一代宗師》,詠春有三板斧,“攤、膀、伏”。 eopll的剛入門時接觸的三個函數: int epoll_create(int size) epoll_ctl(int epfd, int
原创 Libevent使用套路
創建一個事件處理框架 unlink("myfifo"); //創建有名管道 mkfifo("myfifo",0664); //open file int fd = open("myfifo"