原创 OJ練習1

給出一段數據流,如 7e7e7e020301067e7e7e0301010106 幀頭爲等於或大於3個7e7e7e 則後面爲有效報文, 緊接着1個字節爲報文長度,報文長度n有效範圍 【1,64】 之後爲連續n個字節的報文內容, 報文內容

原创 C語言嵌入式系統編程修煉之道——內存操作篇

數據指針 在嵌入式系統的編程中,常常要求在特定的內存單元讀寫內容,彙編有對應的MOV指令,而除C/C++以外的其它編程語言基本沒有直接訪問絕對地址的能力。在嵌入式系統的實際調試中,多借助C語言指針所具有的對絕對地址單元內容的讀寫能力。以指

原创 想成爲嵌入式程序員應知道的0x10個基本問題

C語言測試是招聘嵌入式系統程序員過程中必須而且有效的方法。這些年,我既參加也組織了許多這種測試,在這過程中我意識到這些測試能爲面試者和被面試者提供許多有用信息,此外,撇開面試的壓力不談,這種測試也是相當有

原创 隊列的數據結構及基本運算

1 特點 插入在隊列頭(front)進行,刪除在隊列尾(rear)進行,簡稱先進先出(first in first out) 2 數據結構定義 typedef struct { int queue[MAXSIZE]; int fro

原创 C語言嵌入式系統編程修煉之道——軟件架構篇

1.模塊劃分 模塊劃分的“劃”是規劃的意思,意指怎樣合理的將一個很大的軟件劃分爲一系列功能獨立的部分合作完成系統的需求。C語言作爲一種結構化的程序設計語言,在模塊的劃分上主要依據功能(依功能進行劃分在面向對象設計中成爲一個錯誤,牛頓定律遇

原创 windows下C調用socket實現TCP和UDP通信

TCP SERVER實現 #include< stdio.h > #include< stdlib.h > #include< windows.h > #include< winsock.h > #include< string.h >

原创 棧數據結構及基本運算

定義 操作受限的線性表,限定對元素的插入和刪除只能在表的一端進行。 數據結構定義 #define MAXSIZE 100 typedef struct { int data[MAXSIZE]; int top; }STACK_S

原创 程序員,如何在工作中嶄露頭角?

摘要:程序員是很特別的個體,有的人在IT這個行業裏取得了成功;有的人對自己的現狀很滿意,於是就一直在一家公司的一個崗位上幹了很多年;還有一部分人被炒魷魚了。那麼作爲一個特別的程序員,如何能在工作中嶄露頭角呢? 文章作者 Yuriy

原创 C語言學習筆記2

1、運算符的優先級和結合方向,看多了也就記住了。 2、#define 和#undef(撤銷已定義的宏名)       #line 例子 #line number["filename"]改變當前行數和文件名稱   #error 編譯程序是遇

原创 多任務程序看門狗結構設計

    看門狗一般分爲硬件看門狗和軟件看門狗,主要用來解決程序CPU異常,程序跑飛掛死等問題,提高系統的可靠性。     看門狗分硬件看門狗和軟件看門狗。硬件看門狗是利用一個定時器電路,其定時輸出連接到電路的復位端,程序在一定時間範圍內對

原创 linux鏈表管理-先轉,待編輯

linux鏈表,是一種非常實用,方便的鏈表管理。  鏈表數據結構的定義很簡單(節選自[include/linux/list.h],以下所有代碼,除非加以說明,其餘均取自該文件):     struct list_head {      s

原创 鏈表數據結構與基本運算

定義 鏈式存儲結構 特點 通過鏈指針來表示數據元素之間的邏輯關係,而非順序存儲結構 插入,刪除方便。容易擴充表容量。 數據結構 typedef struct node { int data; struct node *next; }

原创 多任務下看門狗程序實現

探討多任務下喂狗的方式 一直以來,我不斷的探索RTOS的使用方法,以UC/OS-II爲基礎。當然努力的結果是逐漸形成了一個可以使用的軟件平臺。但我意識到如果沒有相應文檔的支持或許這個東西也許只有我自己能使

原创 C語言嵌入式系統編程修煉之道——性能優化篇

1.使用宏定義 在C語言中,宏是產生內嵌代碼的唯一方法。對於嵌入式系統而言,爲了能達到性能要求,宏是一種很好的代替函數的方法。 寫一個“標準”宏MIN ,這個宏輸入兩個參數並返回較小的一個:     錯誤做法: #define MIN(

原创 順序表數據結構及基本運算

1、定義     借組數組開闢地址連續的存儲空間。 2、特點     1、地址連續的存儲單元     2、最簡單的,最自然的存儲方法。 3、數據結構描述 #define MAXSIZE 100 typedef struct {