原创 信號量,消息郵箱的運用

1.信號量的用途    1)共享資源的保護,例如需要共用一段內存,初始信號量的計數值爲1      task1:                                   task2                       

原创 基於STM32F407VGT6單片機的FSMC與FPGA通信

1. 關於FSMC FSMC引腳定義: 地址線:A16-23 共8根地址線 數據線有16根(看單片機的原理圖) 控制信號RD、WR、NE1/NCE2,這兩個片選都接的是PD7,NE1即選中BAN1,用於擴展外部SRAM,FPGA相當於掛在

原创 VHDL,Verilog學習與對比 (1)

1.進程語句本身是並行語句,但其內部爲順序語句。 2.VHDL不區分大小寫,Verilog區分大小寫。 3.參數規範:普通內部信號全部小寫,參數定義大寫。 4. 寄存器類型:表示一個抽象的數據存儲單元,它只能在always語句和initi

原创 基於STM32F407VGT6單片機的以太網通信(MII接口)

首先感慨一下,忙活了半個月,改了硬件加軟件,網上基本都是RMII的程序,很少有STM32F4 MII的程序,網上很流行的PHY芯片主要是DP83848(支持MII/RMII),LAN8720(只支持RMII),主要講解整個修改的過程,我的

原创 數據結構之鏈表

1.動態創建一個鏈表:動態內存申請+模塊化設計  1)創建鏈表(創建一個表頭表示整個鏈表)   2)創建結點   3)插入結點   4)刪除結點   5)打印遍歷鏈表(測試)

原创 UCOSii核心任務調度

       1. 爲系統中處於就緒狀態的任務分配CPU是多任務操作系統的核心工作。這項工作涉及兩項技術;一是判斷哪些任務處於就緒狀態;二十進行任務調度。所謂任務調度,就是通過一個算法在就緒任務中確定應該馬上運行的任務,操作系統用於負責這

原创 UCOSii如何解決優先級反轉

優先級反轉時如何產生的: 當出現低優先級的任務與高優先級的任務使用同一信號量,而系統中還存在其他中等優先級別的任務時,如果低優先級的任務先獲得了信號量,就會使高優先級的任務處於等待狀態,而那些不使用該信號量的中等任務卻可剝奪低優先級的任務

原创 信號量的運用

1.信號量的用途    1)共享資源的保護,例如需要共用一段內存,初始信號量的計數值爲1      task1:                                   task2                       

原创 通信網絡學習(1)

1.多址方式的理解: 按照信道接入方式來講主要分爲分配類接入、隨機接入類以及這兩者的混合類,分配類是利用TDMA(Time Division Multiple Access)、FDMA(Frequency Division Multipl

原创 VHDL語言學習(2)

1.數組類型使用和定義 Type   DataREG16 is array( natural range<>) of std_logic_vector(15 downto 0); --自定義數組類型,每個數組元素的類型爲 std_logi

原创 C語言複習

1. static在C語言中的用法 1)、如果是在函數外面定義的,那麼其效果和全局變量類似,即static說明的變量可以在當前c程序文件中使用。 2)、如果是在函數內部定義的,那麼這個變量只初始化一次,即使再次調用這個函數,這個stati

原创 UCOSII操作系統學習之任務間的通信(1)

1.任務間通訊方式:信號量和郵箱 爲了把描述事件的數據結構統一起來,UCOSII 使用叫做事件控制塊(ECB)的數據結構來描述諸如信號量、郵箱(消息郵箱)和消息隊列這些事件。信號量,郵箱,消息隊列都是一類事件。 2.信號量:       

原创 基於STM32F407ZGT6單片機的FSMC與FPGA通信

1. 關於FSMC FSMC引腳定義: 地址線:A16-23 共8根地址線 數據線有16根(看單片機的原理圖) 控制信號RD、WR、NE1/NCE2,這兩個片選都接的是PD7,NE1即選中BAN1,用於擴展外部SRAM,FPGA相當於掛在

原创 VHDL學習

1.進程語句本身是並行語句,但其內部爲順序語句。

原创 基於STM32F407的超聲波測距程序

本文是基於STM32F407,寄存器開發,用一個定時器得出ECHO高電平時間,計算出距離。