原创 ST庫函數的assert_param程序的疑惑(轉)

不少人問在ST官方的STM32的庫函數裏有很多assert_param是什麼作用比如下面的assert_param(IS_ADC_ALL_PERIPH(ADCx));assert_param(IS_ADC_IT(ADC_IT));asse

原创 #define 與 typedef 的區別。

1) #define是預處理指令,在編譯預處理時進行簡單的替換,不作正確性檢查,不關含義是否正確照樣帶入,只有在編譯已被展開的源程序時纔會發現可能的錯誤並報錯。例如: #define PI 3.1415926 程序中的:area=PI*r

原创 理解Avalon總線的靜態地址對齊與動態地址對齊

儘管看了不少資料,但是一直對 Avalon slave 的動態地址對齊和靜態地址對齊的理解不是很透徹。前兩天自己做了一個SOPC的自定義組件,通過Deprecated這個選項的不同選取,一下子就理解了Avalon slave的兩種地址對齊

原创 Nios II 系統時鐘timestamp的應用

在用Nios II做外設時序驅動的時候,經常會用延時函數。有時會常使用某個FPGA芯片和時鐘,比如筆者一直使用的芯片是cyclone系列 EP2C35F484C8N,PLL輸入SOPC時鐘是50M。因此,提前測試硬件運行延時情況並編寫今

原创 C語言中const的用法

基本解釋           const是一個C語言的關鍵字,它限定一個變量不允許被改變。使用const在一定程度上可以提高程序的健壯性,另外,在觀看別人代碼的時候,清晰理解const所起的作用,對理解對方的程序也有一些幫助。   雖然這

原创 NIOSII Slave with readdatavalid signal must support at least 1 pending read 解決方法。

NIOS新建元件時加入.V文件報此錯誤,解決方法。 // ============這算鳥解決辦法,那我用SOPC builder該如何解決。 在『Avalon Interface Specifications』文檔中搜索相關內

原创 什麼是頻率補償?

1。主導思想:設法改變放大電路高頻部分的開環頻率特性,使高頻部分衰減的更快些,即使相移180度時,滿足|AF|<1,破壞自激條件。 2。實際校正做法:A。用示波器觀察放大電路是否自激,如自激,觀察自激頻率;             

原创 什麼是VSync。

VSync是垂直同期(Vertical Synchronization)的簡稱。基本的思路是將你的FPS和顯示器的刷新率同期起來。其目的是避免一種稱之爲"撕裂"的現象。再下面我將詳細介紹這些內容。 每一臺CRT顯示器都有自己的刷新

原创 五大內存分區。(轉自魚C)

在C/C++中,內存分成5個區,他們分別是堆、棧、自由存儲區、全局/靜態存儲區和常量存儲區。      棧,就是那些由編譯器在需要的時候分配,在不需要的時候自動清楚的變量的存儲區。裏面的變量通常是局部變量、函數參數等。      

原创 sizeof與strlen的區別。

sizeof(...)是運算符,它的功能是:獲得保證能容納實現所建立的最大對象的字節大小。用sizeof來返回類型以及靜態分配的對象、結構或數組所佔的空間,返回值跟對象、結構、數組所存儲的內容沒有關係。 strlen(...)是函數,要在

原创 RGB、YUV和YCbCr

    之前對RGB、YUV和YCbCr一直沒有清晰的理解和認識,今天打算做一個小結,結合網上的文章談談自己的看法,也希望有機會看到這篇文章的人能指點一二,相互交流,共同進步。     首先要說明,上述的RGB、YUV和YCbCr都是

原创 關於可屏蔽中斷與不可屏蔽中斷。

    可屏蔽中斷和不可屏蔽中斷都屬於外部中斷,是由外部中斷源引起的;但它們也有區別:可屏蔽中斷是通過CPU的INTR引腳引入,當中斷標誌IF=1時允許中斷,當IF=0時禁止中斷,不可屏蔽中斷是由NMI引

原创 多時域設計中如何處理信號跨時域。

     多時鐘域的設計中,對於信號跨時域的處理這裏可以採用乒乓操作的方法來進行。乒乓操作的處理流程爲:輸入數據流通過‘輸入數據選擇單元”將數據流等時分配到兩個數據緩衝區,數據緩衝模塊可以爲任何存儲模塊,比較常用的存儲單元爲雙口RAM(

原创 爲什麼要聲明靜態(static)數組

        在函數定義中用static聲明的局部變量雖然存在於程序的整個執行期間,但是只能在函數體內訪問。用static聲明局部數組可避免在每次調用函數時都建立和初始化數組以及在每次退出函數時撤銷數組。這樣可縮短程序的執行時間,特別是

原创 視頻信號的垂直消隱和水平消隱

所有的電視機都有一個刷新動作,用來重新定位電子槍顯示可見的數據。如電視機,它分爲NTSC制和PAL制, NTSC制每秒刷新60次, 而PAL制每秒刷新50次。 電子槍從左到右畫出象素,它每次只能畫一條掃描線,畫下一條之前要先回到左邊並