原创 linux設備驅動歸納總結(十):1.udev&misc

linux設備驅動歸納總結(十):1.udev&misc xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

原创 單片機I/O口推輓輸出與開漏輸出的區別

單片機I/O口推輓輸出與開漏輸出的區別(轉)     推輓輸出:可以輸出高,低電平,連接數字器件; 開漏輸出:輸出端相當於三極管的集電極. 要得到高電平狀態需要上拉電阻才行. 適合於做電流型的驅動,其吸收電流的能力相對強(一般2

原创 生成直線的Bresenham算法

從上面介紹的DDA算法可以看到,由於在循環中涉及實型數據的加減運算,因此直線的生成速度較慢。   在生成直線的算法中,Bresenham算法是最有效的算法之一。Bresenham算法是一種基於誤差判別式來生成直線的方法。   一、直線B

原创 STM32 Printf函數實現方法

在STM32串口通信程序中使用printf發送數據,非常的方便。可在剛開始使用的時候總是遇到問題,常見的是硬件訪真時無法進入main主函數,其實只要簡單的配置一下就可以了。 下面就說一下使用printf需要做哪些配置。 有兩種配置方法

原创 生成直線的DDA算法

數值微分法即DDA法(Digital Differential Analyzer),是一種基於直線的微分方程來生成直線的方法。   一、直線DDA算

原创 輸入阻抗和輸出阻抗小結

輸入阻抗和輸出阻抗小結       一、輸入阻抗 輸入阻抗是指一個電路輸入端的等效阻抗.在輸入端上加上一個電壓源U,測量輸入端的電流I,則輸入阻抗Rin就是U/I.你可以把輸入端想象成一個電阻的兩端,這個電阻的阻值,就是輸入阻抗.

原创 STM32的“外部中斷”和“事件”區別和理解

事件是中斷的觸發源,開放了對應的中斷屏蔽位,則事件可以觸發相應的中斷。 事件還是其它一些操作的觸發源,比如DMA,還有TIM中影子寄存器的傳遞與更新;而中斷是不能觸發這些操作的,所以要把事件與中斷區分開。  你要好好地看看相應的模塊框圖,

原创 折半查找法(C語言)

#include <stdio.h> #define max 20 int binary(int x,int list[],int n)      

原创 新型的按鍵掃描程序,僅三行程序

不過我在網上游逛了很久,也看過不少源程序了,沒有發現這種按鍵處理辦法的蹤跡,所以,我將他共享出來,和廣大同僚們共勉。我非常堅信這種按鍵處理辦法的便捷和高效,你可以移植到任何一種嵌入式處理器上面,因爲C語言

原创 軟件生存週期各階段活動定義淺釋

首先講一下軟件生存週期的定義,即以需求爲觸發點,提出軟件開發計劃的那一刻開始直到軟件在實際應用中完全報廢爲止可以認爲是一個完整的軟件生存週期,軟件生存週期的提出是爲了更好的管理、維護和升級軟件。其中更大的

原创 鍵盤消抖

首先將按鍵值保存兩次,以檢驗按鍵值的變化。當按鍵值變後將計數器置0,否則繼續加1。當計數器值等於fffff的時候,說明按鍵是正常按下的,接着保存兩次,檢測值的變化。若相應位有變化,則將相應的led控制取反。(好像新的代碼中鍵值只檢驗了一次

原创 呼吸機氧電池的工作原理及性能檢測

1 氧電池工作原理 氧電池,這裏特指醫用氧電池,又稱氧氣傳感器(Oxygen sensor)、氧濃度傳感器、氧氣單元、氧探頭、氧電極等,採用電化學原理,主要功能是用於測量混合氣體的氧濃度。測量範圍:0%~

原创 FPGA與CPLD

FPGA 1 FPGA [Field Programmable Gate Array],基於查找表LUT(Look-Up-Table, LUT)結構:LUT本質是一個RAM(主流FPGA都基於SRAM工藝的LUT結構),用開發軟件實現將

原创 解讀uCos中優先級判定表OSUnMapTbl原理(轉載)

OSOSRdyTbl[0]的bit7-bit0對應於優先級7-0, OSOSRdyTbl[1]的bit7-bit0對應於優先級15-8, OSOSRdyTbl[2]的bit7-bit0對應於優先級23-16, OSOSRdyTbl[

原创 脈衝邊沿檢測(Verilog)

在很多時候都要對輸入脈衝進行邊沿檢測,如PS/2時序,ps2_data數據在ps2_clk時鐘下降沿接收。   邊沿檢測Verilog程序代碼:   佈線佈局後仿真波形如下圖: 點擊看原圖   可以注意到其中的移位寄存器用了非阻