Time of Update: 2018-12-04
炮製了一篇,基本是拿來主義,不算技術,只能算雜談。主要來源是腦中的記憶和《主流ARM嵌入式系統設計技術與執行個體精解》,歡迎指正。*******************************************************************************關於嵌入式*******************************************************************************嵌入式應用的特點:功能特定,規模靈活,即時
Time of Update: 2018-12-04
文法環境是公司自己做的,但大概思路可以看得出來,是同行有錯誤的地方請指證.! RESET;KID—金鑰索引<--! %kid = 05;type—交易類型<--! %ltype = 31;posid—終端機編號<--! %posid = 00 11 22 33 44 55;time—交易時間(主機)<--! %time = 20 06 08 08 00 00 00;money—交易金額<--! %money = 12345678;DLK分散密鑰<--! %
Time of Update: 2018-12-04
掃自己的盲,給別人看。 依然源自《主流ARM嵌入式系統設計技術與執行個體精解》 *******************************************************************************關於開發工具和調試*******************************************************************************關於硬體調試 工具箱:萬用表,示波器,電烙鐵等 調試方法,注意模組化
Time of Update: 2018-12-04
第一部分 CPU基礎知識一、為什麼用CPU卡IC卡從介面方式上分,可以分為接觸式IC卡、非接觸式IC卡及複合卡。從器件技術上分,可分為非加密儲存卡、加密儲存卡及CPU卡。非加密卡沒有安全性,可以任意改寫卡內的資料,加密儲存卡在普通儲存卡的基礎上加了邏輯加密電路,成了加密儲存卡。邏輯加密儲存卡由於採用密碼控制邏輯來控制對EEPROM的訪問和改寫,在使用之前需要校正密碼才可以進行寫操作,所以對於晶片本身來說是安全的,但在應用上是不安全的。它有如下不安全性因素:1、密碼線上路上是明文傳輸的,易被截取;
Time of Update: 2018-12-04
int const *p; 指向int型唯讀變數的指標 const int *p; 指向int型唯讀變數的指標,與第一個相同 int * const p; 指向int型變數的唯讀指標 const int * const p; 指向int型唯讀變數的唯讀指標 const * int p; const int const *p; 很明顯,這是錯的 由上可以這樣總結,const表示是唯讀變數,還是唯讀指標變數,關鍵看const是在*和變數名之間呢,還是在它們外面,
Time of Update: 2018-12-04
2009-04-26
Time of Update: 2018-12-04
這裡討論四個函數:setjmp, longjmp, sigsetjmp, siglongjmp #include <setjmp.h>int setjmp(jmp_buf env);直接返回返回0,使用儲存的上下文從longjmp返回返回非零。void longjmp(jmp_buf env, int
Time of Update: 2018-12-04
串口通訊流量控制
Time of Update: 2018-12-04
作者:fengge8ylf
Time of Update: 2018-12-04
工具: count lines of code at "http://cloc.sourceforge.net" Linux-2.6.31-rc7------------------------------------------------------Language files blank comment code------------------------------------------------------C
Time of Update: 2018-12-04
1.輸入一組數,輸出其中有多少個負數。 程式碼如下:#include <iostream>int main(){ int sum = 0, value; std::cout << "Please input your numbers [End with CRTL+D] :" << std::endl; while (std::cin >> value) { if (value < 0) { sum++; } } std::cout
Time of Update: 2018-12-04
我們用的u-boot已經改的面目全非,不過核心還是完全相同的,換了個面目而已。開源的好處,想改就改來玩玩。不過流程還是人家的。 u-boot通過bootm命令來啟動核心,這個命令的處理函數是do_bootm,這個函數處理的是uboot-mkimage製作的映像,如果正好這個映像是核心,那麼它就會調用do_bootm_linux函數,並在該函數中給核心傳遞參數並調用核心入口函數來啟動核心。下面就來寫寫do_bootm和do_bootm_linux的簡單流程,以及u-boot是如何把核心啟動參數傳遞
Time of Update: 2018-12-04
printf 可能是許多程式員在開始學習C 語言時接觸到的第二個函數(我猜第一個是main),說起來,自然是老朋友了,可是,你對這個老朋友瞭解多嗎?你對它的那個孿生兄弟sprintf 瞭解多嗎?在將各種類型的資料構造成字串時,sprintf 的強大功能很少會讓你失望。由於sprintf 跟printf 在用法上幾乎一樣,只是列印的目的地不同而已,前者列印到字串中,後者則直接在命令列上輸出。這也導致sprintf 比printf
Time of Update: 2018-12-04
在VC中,CSTRING類的用法形式多樣,豐富多彩.但有時與傳統資料類型之間的轉換成為了很多人的難題.下面我來簡單介紹它們之間的關係.1 如何?cstring與char*之間的轉換: CString m_cstr="abc"; char* m_char="def"; char* lp=m_cstr.GetBuffer(m_cstr.GetLength()); m_cstr.ReleaseBuffer();
Time of Update: 2018-12-04
Gallery是畫廊的意思,可以實現圖片的瀏覽功能。主要內容Gallery控制項的使用使用Gallery + ImageSwitcher完成圖片瀏覽功能一、Gallery控制項的使用要把圖片顯示到Gallery裡面,要使用Gallery的setAdapter()方法,所以我們先寫好一個adapter類GalleryAdapter.javapackage com.tianjf;import android.content.Context;import
Time of Update: 2018-12-04
怎麼實現在同一個TextView中設定不同的字型風格呢?需要使用的類:android.text.Spanned; android.text.SpannableString;
Time of Update: 2018-12-04
範圍:主要說的是工作在13.56MHz的近距離非接觸卡 其中遵循ISO/IEC 14443標準的PICC(proximity integrated circuit card)和PCD(proximity coupling device),工作距離大概大概10厘米到20厘米。 遵循ISO/IEC 15693標準的VICC(vicinity)和VCD工作距離大概是1米,比前者要大。ISO/IEC 14443
Time of Update: 2018-12-04
特點:Load / Store結構(儲存空間操作僅包括load和store,所有其他動作在寄存器中完成)32位固定指令寬度3地址指令格式(即兩個源運算元和結果寄存器都獨立指定)每條指令都條件執行可在單周期執行的單條指令內同時完成一項普通以為操作和一項普通ALU操作自動變址功能寄存器模型使用者模式下R1-R15的15個32位通用寄存器堆,R15為PC寄存器CPSR的狀態寄存器高四位表示N(負數)、Z(零)、 C(進位)、V(溢出)標誌分類介紹: +-------------+--------
Time of Update: 2018-12-04
求子數組的最大和: 輸入一個整形數組,數組裡有正數也有負數。數組中連續的一個或多個整數組成一個子數組,每個子數組都有一個和。求所有子數組的和的最大值。要求時間複雜度為O(n)。 例如:輸入的數組為1,-2,3,10,-4,7,2,-5;和最大的子數組為3,10,-4,7,2;因此輸出為該子數組的和18。 解決方案如下:import java.util.Scanner;public class Test {/** * 計算前幾個數的和,如果小於零則重新賦值,置為下一個元素; *
Time of Update: 2018-12-04
請比較下面兩個FOR迴圈的優缺點 1.for(i=1;i<N;i++){ if(condition) dosomething(); else dootherthing();}2.if(condition){for (i=1;i<N;i++) dosomething()}else{for (i=1;i<N;i++) dootherthing()}