原创 什麼是計算機端口?主要有什麼用?怎樣設置?

端口簡介 隨着計算機網絡技術的發展,原來物理上的接口(如鍵盤、鼠標、網卡、顯示卡等輸入/輸出接口)已不能滿足網絡通信的要求,TCP/IP協議作爲網絡通信的標準協議就解決了這個通信難題。TCP/IP協議集成到操作系統的內核中,這就相當於在

原创 scanf()與gets()在讀取字符串時的區別

1 用scanf()函數輸入字符串時,%c表示以字符的形式輸入數據,每次爲一個數組元素輸入一個字符常量;%s表示以字符串的形式輸入數據,每次爲一個數

原创 阻塞、非阻塞的概念和select函數的阻塞功能

(1)阻塞block 所謂阻塞方式block,顧名思義,就是進程或是線程執行到這些函數時必須等待某個事件的發生,如果事件沒有發生,進程或線程就被阻塞,函數不能立即返回。 例如socket編程中connect、accept、recv、rec

原创 查看文件系統類型

雖然說,在Linux下mount一個文件系統時,可以不指定文件系統。這時候,操作系統會嘗試用所有它已知的文件系統格式去掛載。大多數情況下,都會正確的

原创 arm str ldr case

在ARM架構下, 數據從內存到CPU之間的移動只能通過LDR/STR指令來完成. 而MOV只能在寄存器之間移動數據,或者把立即數移動到寄存器中,並且數據的長度不能超過8位 1. LDR r0,=label 用於加載立即數或一個地址值到指定

原创 vim 基本命令

1.vim#在命令行中輸入vim,進入vim編輯器2.i#按一下i鍵,下端顯示 --INSERT--#插入命令,在vim中可能任意字符都有作用3.Esc#退出i(插入)命令進行其它命令使用4.:r filename#讀入一個文件內容,並寫

原创 ARM指令:BIC

Rd,  Rn, Oprand2 BIC(位清除)指令對 Rn 中的值 和 Operand2 值的反碼按位進行邏輯“與”運算。 (注意:ARM官方網站有誤, 寫的是補碼) BIC 是 邏輯”與非” 指令, 實現的 Bit Clear的

原创 Socket原理與編程基礎

 一、Socket簡介 Socket是進程通訊的一種方式,即調用這個網絡庫的一些API函數實現分佈在不同主機的相關進程之間的數據交換。 幾個定義: (1)IP地址:即依照TCP/IP協議分配給本地主機的網絡地址,兩個進程要通訊,任一進

原创 字節序 大端 小端

在各種計算機體系結構中,對於字節、字等的存儲機制有所不同,因而引發了計算機通信領 域中一個很重要的問題,即通信雙方交流的信息單元(比特、字節、字、雙字等等)應該以什麼樣的順序進行傳送。如果不達成一致的規則,通信雙方將無法進行正 確的編/

原创 C# 串口通信 stm32 電機

前幾天已經完成了stm32通過PWM對電機的控制,這幾天趁上班之餘,也完成了c#通過串口通信控制電機的運行。界面如下 好久沒寫文章了,發現非常不擅長分享和表達,第一反應是演示出來,可惜這裏不能有動畫,功能不強大啊。哪天有空了,把上位機代

原创 stm32通過pwm控制導軌電機

通過一段時間的實踐,經過自己摸索,終於通過stm32發出PWM去控制電機的運行。以下將詳細講解整個設備的搭建過程,不算複雜的項目,但是初次玩電機的朋友也可能能夠從中獲取到一些方法。 項目具體是,通過stm32發出PWM去控制電機,使得導軌

原创 norflash芯片內執行(XIP)

爲什麼程序不能直接在nandflash上執行?出於這個疑惑帶來了這篇博文,是我在網上找了很多資料後總結的,假如有誤,希望馬上指出來,免得我誤人子弟。謝謝! 首先認識下nandflash和norflash: NOR Flash 和 N

原创 ARM彙編指令MCR/MRC學習

MCR指令將ARM處理器的寄存器中的數據傳送到協處理器的寄存器中。如果協處理器不能成功地執行該操作,將產生未定義的指令異常中斷。 指令的語法格式: MCR{<cond>} p15, 0, <Rd>, <CRn>, <CRm>{,<o

原创 關於ANSI,unicode與utf-8的區別

非常好的一篇文章,值得一看,特轉之關於編碼ansi、GB2312、unicode與utf-8的區別先做一個小小的試驗:在一個文件夾裏,把一個txt文本(文本里包含“今天的天氣非常好”這句話)分別另存爲ansi、unicode、utf-

原创 關於vs2005、vs2008和vs2010項目互轉的總結

有做.net的程序員和朋友曾經問過我,關於vs2005和vs2008、vs2008和vs2010、vs2005和vs2010項目互轉的問題,那麼關於這個問題有兩層含義:一種是通過高版本的編譯器打開低版本的項目,進行升級;一種是通過修改S