原创 FPGA學習筆記---二進制碼、獨熱碼、格雷碼分析對比

       在Verilog學習中常用的編碼方式有二進制編碼(Binary)、格雷碼(Gray-code)編碼、獨熱碼(One-hot)編碼,對於新手來說,搞不清楚編碼爲什麼要分這麼多格式?統一用一種格式不好嗎?那麼現在就來看看這三種編

原创 FPGA學習筆記---時序邏輯與組合邏輯分析比較

       在學習FPGA使用Verilog HDL語言編程時,開始遇到時序邏輯和組合邏輯時概念一看就明白,但是實際使用時還是不清楚到底要用哪個。現在用就一個例子來體會一下這兩者的區別。      首先先看組合邏輯和時序邏輯的定義。

原创 一鍵清理Quartus工程編譯垃圾

         在學習FPGA時,會使用到Quartus軟件,這個軟件生成的文件非常多,常常一個很簡單的功能,生成的工程文件夾就有幾十兆,在工程複製和存儲時非常佔用空間,那麼能不能在調試完工程之後,把沒用的中間文件刪掉,只留下關鍵文件就

原创 FPGA學習筆記---Modelsim使用技巧總結

      在學習FPGA時,需要經常在modelsim軟件中觀察波形,而modelsim波形顯示界面在默認設置下看起來不是很方便。現在就總結一下如何在modelsim波形顯示界面改變默認顯示。 首先看一下默認波形顯示界面 在窗口最左邊

原创 C語言排序方法-----冒泡排序法

關於冒泡排序百度百科是這樣定義的: 算法原理爲: 下面直接看C語言代碼的實現 //打印數組元素 void printf_nums( int num[], int count ) { int i = 0; for

原创 IAR編譯器中函數智能提示

在用IAR環境編譯代碼時,按下“.”號,會智能提示變量和函數。 用上下箭頭選中變量後按回車鍵就行。不過唯一的缺點就是變量前的那個點需要手動刪除。不知道有沒有其他辦法解決這個問題。

原创 STM8學習筆記---讀取STM8S003單片機序列號

最近做項目時需要用到單片機的序列號,於是查了一下STM8S003單片機UID讀取的方法。讀取UID方法大概分兩種,一種是直接在地址中讀取,一種是通過定義一個聯合體,將聯合體的起始地址設置在UID起始地址處,在初始化的時候直接將UI

原创 C語言中利用聯合體巧妙處理數據

在C語言處理數據的時候,經常會遇到將一個整形數據拆分成高位和低位,或者是將兩個字符型數據組合成一個整形數據。通常的做法是將數據左移或者右移對數據進行組合或者拆分。現在可以利用聯合體的特性來處理這一類數據。 聯合體又叫共用體,共用體

原创 keil5中如何實時查看變量值

在調試程序中經常需要觀察變量的值,那麼在keil中如何查看變量值。 首先進入仿真界面 比如要觀察局部變量i、j、k的值,首先將變量選中,然後右鍵選擇 Add “i” to Watch1 keil中共有兩個觀察窗口,這裏選擇Wa

原创 利用STM32F103單片機輸出SPWM波

最近需要用到單片機輸出SPWM波功能,在網上找了好多資料,發現都不完整,有算法的沒有代碼,有代碼的看不懂算法。於是只好自己摸索,現將方法整理如下。 關於什麼是SPWM波,爲什麼要用SPWM波,網上的介紹有很多,就不多說了。主要說一

原创 STM32復位源判斷

在項目中有時候會遇到單片機莫名奇妙復位的情況,爲了判斷是那種原因引起復位,就需要對單片機的復位源進行判斷。現用STM32F103C8T6單片機進行測試。 先看看單片機復位源都有哪些? 在STM32中文參考手冊中可以看到,復位源可

原创 STM8學習筆記---union聯合體的應用

平時用單片機編寫程序經常會遇到將一個16位數拆封爲兩個8位數,或者將將兩個8位數組成一個16位數。如: data = data_h * 256 + data_l; data_h = data / 256; data_l = dat

原创 免費的在線流程圖繪製工具 --- draw.io

     今天推薦一款免費的在線流程圖繪製軟件,話不多說直接看效果。   瀏覽器中直接搜索draw.io 第一個就是官方網站,直接點進去。 進去之後默認是英文界面,先不要點中間的按鈕,直接點右上角的地球圖標,切換語言。 選中簡體中文

原创 在Altium Designer中利用陣列粘貼功能快速繪製元器件封裝

          在AD中手動繪製元器件封裝是經常會有的事情,系統自帶的陣列粘貼功能在元器件封裝繪製時可以極大地提高工作效率,現在就來演示一下如何使用陣列粘貼功能。首先新建一個元器件封裝庫。         工具欄中選擇File ---

原创 FPGA學習---Modelsim自動仿真

       FPGA中的Modelsim自動仿真,就是在Quartus II 軟件中調用Modelsim軟件進行仿真。用流水燈的工程演示一下自動仿真步驟。      首先打開led工程。 編譯工程 代碼沒有錯誤,下面就可以生成仿真