原创 串口的校驗位(STM32 C51)

在C51中是通過工作模式和數據位來進行設置的,在STM32中設置了校驗位之後就老是收不到數據後來才知道需要把數據位設置成9位就可以了但是好像不區分odd和even但是和無校驗是區分開的代碼如下switch (P){case 0:USART_

原创 關於內存的學習

內存字面意思就是內部存儲器,我們知道所有的計算機程序都是執行在內存中的。如果沒有內存計算機就不能執行任何程序。好多書上都有描述程序是在外存(例如硬盤等)中存放的要執行的時候CPU將程序拷貝的內存中去執行。內存其實也是一種存儲設備不過他有幾個

原创 ARM異常處理(IRQ中斷處理)總結1

ARM A8的異常處理表如下可以看到vector table的基地址是不固定的但是所有異常的偏移地址是固定的。這張表也爲了體現這個偏移量,還有要從硬件角度理解的是在CPU設計的時候這些異常就已經定義好了在發生相應的異常時候CPU就自動的轉到

原创 開機自啓動文件/etc/rc.local的一件小事

好幾天沒有寫博客了,現在也很晚了一直要求自己要早睡可是總也做不到。不扯了說一件今天碰到的一個小問題,可能對高手來說都不是問題但是對於我這種剛接觸linux而且也沒什麼老師就靠自己學的還真的就沒什麼小問題。還真的整整弄了1個多小時。事情的背景

原创 CPU的大小端模式

大小端模式的定義在百度百科上有明確的說法,意思就是就是數據的高位存儲在第地址的是低位的是大端模式,數據的高位存儲在地址的低位的就是小端模式。說着也不清楚。我們這裏討論的是CPU的大小端模式而不是通訊協議的大小端。要記住的是現在主流的CPU都

原创 C語言字符串

C語言中是沒有專門的字符串變量類型的,我覺得都是通過存放地址連續的字符來生產成的字符串。字符串有兩種辦法來聲明和使用一個是字符指針另一種是字符數組。如下:char ch="linux";char ch[]="linux";這兩種方法第一種用

原创 網絡基礎ISO七層協議_____我自己的理解

根據我自己目前的理解畫的圖如下,把所跑的協議和每層擔負的任務都寫在上頭以後如果有不同的理解或有錯誤的地方也好拿出來參考一下。有幾點要寫明1)封包的時候下層是對上層透明的2)在兩個節點之間是每層對每層進行對話的

原创 TCP協議(數據傳輸層)的連接過程【三次握手四次揮別】

前段時間學習OSI網絡模型感覺自己懂了其實,還很淺顯這兩條想深入的學習一下就把自己的心的寫在這裏,供大家參考指正。前言TCP是一個面向連接的協議。無論哪一方向另一方發送數據之前,都必須先在雙方之間建立一條連接。就這點與無連接協議如UDP不同

原创 CPU的彙編啓動代碼

在學習STM32的時候一直看不明白Startup_stm32f40_41xxx.s這個文件。裏邊寫的每句話好像也能看懂但是就不知道他想幹嘛。現在終於有點體會了所以來在這裏記錄下來,希望能對後來的人有幫助。1、首先啓動代碼要確定的是都用匯編來

原创 CPU的大小端模式

大小端模式的定義在百度百科上有明確的說法,意思就是就是數據的高位存儲在第地址的是低位的是大端模式,數據的高位存儲在地址的低位的就是小端模式。說着也不清楚。我們這裏討論的是CPU的大小端模式而不是通訊協議的大小端。要記住的是現在主流的CPU都

原创 offsetof與container_of宏的理解

這兩個是在linux內核中經常用到的兩個宏,先說offsetof這個宏的作用就是來計算在結構體中的一個元素與結構體地址的偏移量。結構體的元素訪問其實就是指針訪問,直接應用的時候是用一個點來訪問的但是其實在底層經過編譯器編譯後的執行程序還是用

原创 C語言字符串

C語言中是沒有專門的字符串變量類型的,我覺得都是通過存放地址連續的字符來生產成的字符串。字符串有兩種辦法來聲明和使用一個是字符指針另一種是字符數組。如下:char ch="linux";char ch[]="linux";這兩種方法第一種用

原创 單片機的freemodbus移植應用

前一段時間一直在研究modbus協議的源代碼,並且自己用單片機C實現了一下但是其實沒什麼卵用的,因爲根本就不可能用在實際工程中也是自己當時太不懂行情了上網搜了一下我覺得實際人家產品上用的很少應該是自己去寫,因爲那根本就不合算而且還會出錯,又

原创 第一篇 我的第一篇博客

到現在還沒有開一個博客說起來還挺可笑的,不過還是想從今天開始寫.不爲別的也沒想給別人看就是自己的總結主要包括學習心得體會,還有一些工作技巧以及我記不住的東西,因爲可能年齡也越來越大了就總是記不住很多東西,多的是賬號和密碼現在好像都記不住,還

原创 Linux (Centos)添加一塊新硬盤的步驟及注意事項

開始研究linux也有一段時間了,這個禮拜研究了好幾天終於搞清楚怎麼在運行的系統中在添加一塊新硬盤,我覺得這個挺重要的因爲現在硬盤幾乎都快成爲一種消耗品了。而且我覺得可以貫穿我這段時間一直關注的一些個基礎的知識點拿來這裏總結一下。(我是用我