原创 串口通信協議和Linux下的串口編程

一、串口通信介紹: 串口通信(Serial Communications)的概念非常簡單,串口按位(bit)發送和接收字節,儘管比按位字節(byte)的並行通信慢,但是串口可以使用一根線發送數據的同時用另一根線接收數據。串口通信屬

原创 I2C基礎知識學習

I2C基礎知識1、I2C串行通信協議2、I2C總線概述3、I2C總線特點4、I2C總線的相關術語5、I2C總線通信協議 1、I2C串行通信協議 採用串行總線技術可以使系統的硬件設計大大簡、系統的體積減小、可靠性提高。同時,系統的更

原创 樹莓派(Raspberry Pi 3)燒錄raspbian系統並使用SecureCRT遠程登錄

raspbian的安裝過程一、準備的工具及燒錄過程中所使用的軟件二、安裝過程2.1格式化SD卡2.2在SD卡中燒錄樹莓派鏡像(操作系統)2.3將空白的ssh文件放入SD卡的boot盤2.4怎麼獲取樹莓派的ip地址三、遠程登錄樹莓派

原创 AT命令的簡單介紹和使用

一、AT命令的簡單介紹 AT即Attention,AT指令集是從終端設備(Terminal Equipment, TE)或數據中斷設備(Data Terminal Equipment, DTE)向終端適配器(Terminal Ad

原创 【MQTT學習】阿里雲物聯網平臺實現MQTT雙向通信

打開阿里雲官網https://www.aliyun.com/?utm_content=se_1000301881,註冊並登錄 登錄之後點擊右上角的控制檯點進去 點擊左側的欄目找到《產品與服務》,然後在界面直接搜索《物聯網平臺》

原创 【MQTT學習】MQTT協議中的基本概念

MQTT協議1、MQTT的概念2、MQTT的協議特點3、MQTT協議原理3.1MQTTT協議實現方式3.2網絡傳輸與應用消息3.3MQTT客戶端3.4MQTT服務器3.5MQTT協議中的訂閱、主題、會話、控制報文3.6數據表示 D

原创 互斥鎖的概念及使用

文章目錄互斥鎖的概念及使用互斥鎖解決多線程代碼示例 在上一篇博客中我們提到多線程共享同一個資源,怎麼解決多個線程之間共享同一個共享資源,是多線程編程需要考慮的一個問題!本章將會對此問題做出解答!首先我們先了解一下互斥鎖 互斥鎖的概

原创 死鎖產生的條件及如何解決死鎖

文章目錄死鎖的概念死鎖產生的條件解決死鎖的方法 死鎖的概念 1、死鎖的概念:死鎖是指兩個或兩個以上的進程或線程在執行過程中,由於競爭資源或者由於彼此通信而造成的一種阻塞的現象,若無外力作用,它們都將無法向前推進。這些永遠在互相等待

原创 c語言中 int main(int argc,char *argv[])的註解

1、int main(int argc,char *argv[])的註解 ①int argc,argc 是命令行總的參數個數 ②char *argv[], argv[]是argc個參數 比如有以下參數 ./a.out , h

原创 數據結構——鏈表(單鏈表)

文章目錄鏈表的基本概念單鏈表的基本概念單鏈表的結點定義對單鏈表的操作(1)不帶頭結點的尾插法(2)不帶頭結點的頭插法(3)帶頭結點的尾插法(4)帶頭結點的頭插法 鏈表的基本概念 鏈表的基本概念 在鏈表存儲中,每個結點不僅包含所存元

原创 Linux下的進程內存佈局 / c程序內存佈局

文章目錄進程空間內存佈局內存佈局編程代碼 進程空間內存佈局 不管學習c語言還是學習linux下的編程,我們都要了解並學習。每個進程先天就有0-4G的各自互不干涉的虛擬內存空間,0-3G是用戶空間執行用戶自己的代碼,高1GB的空間是

原创 Linux下用c程序讀取樹莓派DS18B20探測的溫度

文章目錄文件I/O操作函數文件夾操作相關係統調用Linux下用c程序讀取樹莓派DS18B20探測的溫度 在寫編程之前我們,我們先要了解文件I/O操作函數!我將介紹一下我們經常用到的幾個函數, 文件I/O操作函數 一、open系統調

原创 進程通信——信號

文章目錄信號的概念及類型信號的安裝signal()代碼示例sigaction()代碼示例 信號的概念及類型 信號是Linux系統中用於進程之間通信或操作的一種機制,信號可以在任何時候發送給某一進程,而無須知道該進程的狀態。如果該進

原创 數據結構——線性表(順序表)

文章目錄順序表的定義順序表的結構體定義順序表的操作 順序表的定義 順序表就是把線性表中的所有元素按照其邏輯順序,依次存儲到從指定的存儲位置開始的一塊連續的存儲空間中。這樣線性表中第一個元素的存儲位置就是指定的存儲位置,第i+1個元

原创 多路複用select實現網絡socket服務器

文章目錄select函數多路複用select實現網絡socket服務器多路併發的編程 select函數 1、 select()函數允許進程指示內核等待多個事件(文件描述符)中的任何一個發生,並只在有一個或多個事件發生或經歷一段指定