原创 環形緩衝區的創建

創建實例 //創建環形緩存區 /////////////////////////////////////////////////////////////////////////////////////////// #define

原创 Keil生成bin文件的方法

在keil中生成bin文件的方法如下: 在上面欄中勾選並添加該語句:fromelf.exe --bin -o “[email protected]” “#L” 即可。

原创 IIC設備熱重連機制

最近使用一款基於IIC驅動顯示芯片,因爲住MCU與顯示芯片是通過連接線連接的,所以若在中途拔掉或者斷開,載接上去就會顯示不了,不能正常通信。 根據SDA口的電平信號特性,缺省狀態下是上拉VCC的,默認高電平,通信過

原创 STM32模擬串口驅動(帶校驗位)

年前一個項目中,由於串口的資源緊張,硬件使用的是主MCU-STM32F030C8T6,其兩個硬件串口都被使用了,而另外一個器件間的通信也需要串口通信,故不得不採用模擬串口的方式, 該器件的通信要求是:4800bps /8/EVE

原创 AM2302溫溼度傳感器驅動調試筆記

手頭有一塊AM2302溫溼度模塊,之前沒有用過,最近閒暇,就嘗試寫一下驅動,使用的STM32F103主控MCU,雖然協議很簡單,但也零零散散花了3天時間,主要是一方面發現原先用的延時器不準,導致一直調試不成功,所以遇到調試不上,先

原创 一份按鍵驅動框架

這份是我在實際工作中摸索並逐步形成的一個比較好與可擴展性比較穩定的按鍵驅動框架,自己已經在51和ARM中都運行過,無論是普通實體按鍵還是觸摸按鍵皆可採用,主要實現了長按和短按功能,按鍵是嵌入式中一個不可忽視和必須掌握的功能,故分享

原创 阻塞任務環境運行框架的構建

前段時間,接手一個項目,剛開始看了下代碼框架,一點時間片的思想都沒有,有點類似於操作系統樣的,一個事件一個while,這樣導致看到代碼裏面的喂狗處很頻繁,而且代碼重複率很高,整個代碼的耦合度非常之高,改動一處,可能就會影響另一個地

原创 一種阻塞式多任務運行框架構建

前言:最近在接手一個程序時,需要加入無綫模塊,在實際隨著處理事件的不斷增加後,之前採用思路已經嚴重不可修改與閲讀性,遂而由此 因通信程序中狀態的切換較爲頻繁,且數量較多,而使用單一的狀態機實現的話,一旦傳輸的通道(或者事件)增加,

原创 嵌入式自編碼風格規範創建

從事嵌入式方向已有一年多有餘,漸覺一個良好的書寫編碼風格的重要性,在不斷的嘗試和吸取諸家風格,現在也慢慢的形成了自己的風格和特徵,現以錄之。 一、基礎變量 即非結構體,枚舉,聯合體等複合類型變量,則單詞全部採用小寫書寫,命名則採用

原创 RT_Thread+FreeModbus使用筆記

廢話一段先: 最近接手一個帶rt_thread程序的項目,裏面的Modbus485使用的是FreeModbus,懺愧,由於之前還未接觸過RTOS,還好,前人栽樹,後人乘涼,由於原來的程序邏輯已經寫得比較完善,所以我也沒有太投入太多

原创 RTX51 Tiny 學習筆記(四)

配置RTX51 Tiny (一) 硬件定時器 INT_REGBANK指定RTX51 Tiny Timer中斷使用的寄存器組。 默認設置爲1(對於寄存器組1)。 INT_CLOCK指定定時器產生中斷之前的週期數。 該數字可以是1000-

原创 RTX51Tiny 學習筆記(三)

/////////////////////////////////////////////////// 系統運行機制 RTX51 Tiny使用和管理目標系統的資源。 可以在項目的基礎上逐個配置RTX51 Tiny的許多方面。 //--

原创 呼吸燈的實現

最近做的項目中,有要求要實現LED燈光強弱變化控制的,之前有了解過呼吸燈的概念,也知道通過PWM來控制,但也只是停留在概念上面,以前也沒有真正去做過這方面的,所以就在網上再蒐羅了一番,感覺還是有些雲裏霧裏的,最後只好自己靜下心來,從原

原创 RTX51 Tiny學習筆記(二)

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

原创 RTX51Tiny 學習筆記(一)

以下皆搬運於 keil C51->Help 下的RTX51 Tiny User’s Guide,經過強大的Google傻瓜式翻譯而來,因語義都基本符合專業術語。故未作更改。 前沿 ///////////////////////////