原创 linux之getopt 函數詳解

命令行參數解析函數 —— getopt() getopt()函數聲明如下: #include <unistd.h> int getopt(int argc, char * const argv[], const char *optstri

原创 C語言之數據輸出printf( )和putchar( )

格式化輸出函數printf( ) printf( )功能: 向系統指定輸出設備按指定的格式輸入任意個任意類型的數據,並返回實際輸出的字符數。若出錯,將返回負數。 printf( )使用形式: printf("格式控制字符串",輸

原创 MODBUS通訊協議及編程【一】

一、Modbus 協議簡介    Modbus 協議是應用於電子控制器上的一種通用語言。通過此協議,控制器相互之間、控制器經由網絡(例如以太網)和其它設備之間可以通信。它已經成爲一通用工業標準。有了它,不同廠商生產的控制設備可以連成工業

原创 字符串與字符數組的區別

用字符數組和字符指針變量都可實現字符串的存儲和運算。但是兩者是有區別的。在使用時應注意以下幾個問題: 1.字符串指針變量本身是一個變量,用於存放字符串的首地址。而字符串本身是存放在以該首地址爲首的一塊連續的內存空間中並以‘\0’作爲串的結

原创 linux之#if 0 ... #endif用途

在過去都沒有去理會#if 的作用,今天突發奇想,開啓編譯器試一試。 很多人都知道,#if  0  ...   #endfif的作用跟/*...*/的作用是一樣的,就是註釋,可是註釋爲什麼不用註釋符號/*就行了麼?google了一下,大家都

原创 C語言數據輸入scanf( )和getchar( )

格式化輸入函數scanf( ) scanf( )功能: 按照指定的格式讀入鍵盤上輸入的若干個任意類型的數據,存入到argument參數所指向的內存單元,函數返回值爲讀入並賦給argument的數據個數,出錯則返回0。 scanf(

原创 int argc 、char *argv[] 與 char **argv

char *argv[] 與 char **argv #include<stdio.h> #include<string.h> int main(int argc,char *argv[])//同int main(int argc

原创 Makefile中的-Wall -O2 -Os -g等選項介紹

-Wall:選項可以打印出編譯時所有的錯誤或者警告信息。這個選項很容易被遺忘,編譯的時候,沒有錯誤或者警告提示,以爲自己的程序很完美,其實,裏面有可能隱藏着許多陷阱。變量沒有初始化,類型不匹配,或者類型轉換錯誤等警告提示需要重點注意,錯

原创 linux之printk和printf的區別

大部分常用的C庫函數在Linux內核中都已經得到了實現。在所有沒有實現的函數中,最著名的就數printf()函數了。內核代碼雖然無法調用 printf()函數,但它可以調用printk()函數。printk()函數負責把格式化好的字符串拷

原创 STM32中中斷優先級理解

很多人在配置STM32中斷時對固件庫中的這個函數NVIC_PriorityGroupConfig()——配置優先級分組方式,會很不理解,尤其是看中文翻譯版的,因爲中文翻譯版裏把這裏翻譯成“先佔優先級和從優先級”這樣翻譯其實是不對的,很容

原创 MFC串口編程——使用WM_COMM_TXEMPTY_DETECTED來判斷接收結束

最重要的寫在最前面: ::SendMessage((port->m_pOwner)->m_hWnd, WM_COMM_TXEMPTY_DETECTED, (WPARAM) RXBuff, (LPARAM) port->m_nPort

原创 MFC下自動識別串口的實現

摘自:http://blog.csdn.net/itas109/article/details/18359295 程序:http://blog.csdn.net/itas109/article/details/18359295 se

原创 解決CserialPort類串口程序中WriteToPort只能發送一次問題

現象:每次打開串口只能發送一次,需要關閉再打開或者接收完數據才能發送 成因:在自帶串口的電腦、或用優質的USB串口線都沒有出現改問題,很有可能跟串口線的質量有關, 調試發現在調用玩WriteToPort函數 SetEvent(

原创 用兩個隊列實現一個棧

轉自:http://blog.csdn.net/jiange_zh/article/details/50583370 隊列是先進先出,而棧是先進後出; 考慮到我們取棧頂元素的便利性,我們在實現時使得棧頂等於隊列頭; 由於棧的pop

原创 Linux電子書項目之freetype實現矢量字體的顯示(2)

上一篇博文我們通過點陣數組實現了字母的顯示:http://blog.csdn.net/shenhuan1104/article/details/79476053現在我們通過freetype這個框架在PC和單板LCD上分別實現矢量字體的顯示