SD卡的寫檔案 以及 C中#符號

來源:互聯網
上載者:User

一  首先總結一下SD卡的寫檔案,需注意的事項如下:
1. FAT16 寫的時候必須至少寫一個扇區。

2. FAT表不能頻繁的讀寫,否則會出錯。申請新的一個簇時,直接在這個簇裡面(即下一簇號)的寫為0XFFFF。
3. FAT似乎必須轉化成u16才能寫。貌似是這樣,具體沒仔細看。
4. 擷取新的索引簇的時候,直接從舊的索引簇的後面開始寫新的索引簇號,並在新的索引簇號中寫0XFFFF。
5. 寫FAT1後要寫FAT2。
6. 推薦幾款很不錯的工具:WinHex.exe。幫了我不少忙,可以將FAT裡面的資料分析得一清二楚。

 

二  其次,這次遇到了一個符號 “##”,到網上查了很長時間,沒有很明確的意思。

 

#     井號    

#     前端處理符號

出現這個符號的代碼如下:

 

 #define P_EP(n) ((USB_EP_EVENT & (1 << (n))) ? USB_EndPoint##n : NULL)</p><p>/* USB Endpoint Events Callback Pointers */<br />void (* const USB_P_EP[16]) (U32 event) = {<br /> P_EP(0),<br /> P_EP(1),<br /> P_EP(2),<br /> P_EP(3),<br /> P_EP(4),<br /> P_EP(5),<br /> P_EP(6),<br /> P_EP(7),<br /> P_EP(8),<br /> P_EP(9),<br /> P_EP(10),<br /> P_EP(11),<br /> P_EP(12),<br /> P_EP(13),<br /> P_EP(14),<br /> P_EP(15),<br />};</p><p>/*<br /> * USB Endpoint 1 Event Callback<br /> * Called automatically on USB Endpoint 1 Event<br /> * Parameter: event<br /> */</p><p>void USB_EndPoint1 (U32 event) {<br />}</p><p>/*<br /> * USB Endpoint 2 Event Callback<br /> * Called automatically on USB Endpoint 2 Event<br /> * Parameter: event<br /> */</p><p>void USB_EndPoint2 (U32 event) {</p><p> switch (event) {<br /> case USB_EVT_OUT:<br /> MSC_BulkOut();<br /> break;<br /> case USB_EVT_IN:<br /> MSC_BulkIn();<br /> break;<br /> }<br />}

 

其中的這句話 USB_EndPoint##n  , 剛開始沒看懂,後來看懂了

 

比方說N是1的話,那麼USB_EndPoint##n即表示函數USB_EndPoint1。

 

這種寫法真是奇怪,等我搞明白後再來寫。

 

 

三  備忘一些函數指標相關的東東

 

int *p;     p為指向整型量的指標變數
int *p[n];   p為指標數組,由n個指向整型量的指標元素組成。
int (*p)[n];  p為指向整型二維數組的指標變數,二維數組的列數為n
int *p()    p為返回指標值的函數,該指標指向整型量
int (*p)()   p為指向函數的指標,該函數返回整型量
int **p     p為一個指向另一指標的指標變數,該指標指向一個整型量。

 

其中的int (*p)[n];  遇到的情況貌似較少。

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.