原创 如何查找出Linux使用的shell版本號

一、找出正在使用的shell類別 有很多種方法可以找出目前正在使用的shell類別。最簡單的方法是使用特殊的shell參數。 1、“$$” 通過特殊的shell參數“$$”可以查找出正在運行的shell的PID。“$$”參數是隻讀的不能

原创 linux系統ubuntu環境下修改MySQL (V5.7.18)的密碼

1、軟件版本       Ubuntu/Linaro:V12.04.2        Linux:V3.5.0-23-generic      MySQL:V 5.7.18 2、問題的由來          在linux環境下安裝

原创 [轉]函數如何正確的返回局部變量

       一般來說,函數是可以返回局部變量的。 局部變量的作用域只在函數內部,函數返回後,局部變量的內存已經釋放了。因此,如果函數返回的是局部變量的值,不涉及地址,程序不會出錯。但是如果返回的是局部變量的地址(指針)的話,程序運行後會

原创 Linux進程間通信 —— 信號(下)

1 信號生命週期 信號生命週期是從信號發送到信號處理函數的執行完畢。 對於一個完整的信號生命週期(從信號發送到相應的處理函數執行完畢)來說,可以分爲三個重要的階段,這三個階段由四個重要事件來刻畫:信號誕生、信號在進程中註冊完畢、

原创 char字符串轉double浮點函數——strtod

       最近在編寫通信協議解碼程序時需要把char字符串轉換爲double雙精度字符串。本想自己寫段字數類型轉換的程序,就網上看看大家遇到這類問題都是採取怎樣的處理方式。經過一番搜索,發現函數strtod可以實現這一功能。    

原创 Linux進程間通信 —— 6種機制簡介

Linux進程間通信(IPC)手段基本上是從Unix平臺上的進程通信手段繼承而來的。而對Unix發展做出重大貢獻的兩大主力AT&T的貝爾實驗室及BSD(加州大學伯克利分校的伯克利軟件發佈中心)在進程間通信方面的側重點有所不同。前者

原创 Linux進程間通信 —— 共享內存(下)

系統調用mmap()通過映射一個普通文件實現共享內存。系統V則是通過映射特殊文件系統shm中的文件實現進程間的共享內存通信。也就是說,每個共享內存區域對應特殊文件系統shm中的一個文件(這是通過shmid_kernel結構聯繫起來

原创 Linux進程間通信 —— 消息隊列

消息隊列(也叫做報文隊列)能夠克服早期Unix通信機制的一些缺點。作爲早期Unix通信機制之一的信號能夠傳送的信息量有限,後來雖然POSIX 1003.1b在信號的實時性方面作了拓廣,使得信號在傳遞信息量方面有了相當程度的改進,但

原创 Linux進程間通信 —— 信號(上)

1 信號及信號來源 1.1 信號本質 信號是在軟件層次上對中斷機制的一種模擬,在原理上,一個進程收到一個信號與處理器收到一箇中斷請求可以說是一樣的。信號是異步的,一個進程不必通過任何操作來等待信號的到達,事實上,進程也不知道信號

原创 Linux進程間通信——管道 pipe 詳解

1 管道相關的關鍵概念 管道是Linux支持的最初Unix IPC形式之一,具有以下特點: 管道是半雙工的,數據只能向一個方向流動;需要雙方通信時,要建立兩個管道; 只能用於父子進程或者兄弟進程之間(具有親緣關係的進程); 單獨

原创 STM32F4xx FPU和DSP庫的使用

       STM32F4xx屬於Cortex M4F架構,帶有32位的單精度硬件FPU(Float Point Unit),支持浮點指令集,相對比M0和M3架構,浮點運算性能高出數十倍甚至上百倍。CortexTMM4 FPU是A

原创 linux系統ubuntu環境下MySQL的常用shell命令

      好記性不如賴筆頭。爲了以後查閱使用方便,把linux環境下MySQL使用過程中的常用命令列了。       進入root模式:su  root       啓動MySQL: sudo  service  mysql sta

原创 Altium Designer 16 導線、焊盤報錯 Clearance Constraint、Short-Circuit

       最近在做一個產品升級改造的項目,需要把老產品的51換成STM32。在更改電路設計時遇到一個奇怪的報錯現象。採用的繪圖軟件是最新版的Altium Designer16.1。在更改完善原理圖後,把原理圖的更改導入到PCB文件中

原创 如何讓keil 支持malloc()、calloc()、free() —— MicroLIB 簡介和使用

        在keil中使用malloc()函數來動態分配內存,返回了分配內存的首地址,但是卻無法給內存賦值。同樣的程序使用linux GCC編譯器編譯並運行沒有任何問題。因此求助萬能的網。經過一番查閱,原來keil中如果需要使用ma

原创 STM32硬件錯誤HardFault_Handler的處理方法

       在用Keil對STM32的程序進行仿真時程序有時會跑飛,停止仿真程序會停在HardFault_Handler函數裏的死循環while(1)中。這說明STM32出現了硬件錯誤。         STM32出現硬件錯誤可能有