Time of Update: 2018-12-05
問題在OO設計和開發過程中,可能會經常遇到以下情況:我們需要為一個已經定義好的類添加新的職責(操作),通常的情況我們會給定義一個新類繼承自訂好的類,但是通過繼承的方式解決這樣的情況帶來了系統的複雜性,因為繼承的深度會變得很深。而Decorator提供了一種給類增加職責的方法,不是通過繼承實現的,而是通過組合。Decorator裝飾者模式動態地給一個對象添加一些額外的職責。就擴充功能而言,
Time of Update: 2018-12-05
轉載自http://www.elecfans.com/analog/20111024225773.html 概述 智能門鎖是指區別於傳統機械鎖具,在使用者識別、安全性、管理性方面更加智能化的鎖具。它是智能門禁系統中鎖門的執行組件。目前應用中常見的智能鎖具可以按照其使用者識別技術進行分類: · 生物識別技術類,包括指紋鎖、虹膜識別門禁。該類型鎖具利用生物識別特徵的唯一性,採用生物識別技術技術進行使用者ID識別。它具有安全性高,不存在丟失損壞的優勢,但是它不方便配置,相對裝置成本較高。 ·
Time of Update: 2018-12-05
問題iterator模式應該是最為熟悉的模式了,最簡單的證明就是在實現Composite模式,Flyweight模式,Observer模式中就直接用到了STL提供的Iterator來遍曆Vector或者List資料結構。Iterator模式也正是用來解決對一個彙總對象的遍曆問題,將對彙總的遍曆封裝到一個類中進行,這樣就避免了暴露這個彙總對象的內部表示的可能。iterator迭代器模式提供一種方法順序訪問一個彙總對象中各個元素, 而又不需暴露該對象的內部表示。小demoiterator.h#ifn
Time of Update: 2018-12-05
文章目錄 單一職責原則開放封閉原則裡氏代換原則依賴倒轉原則迪米特法則
Time of Update: 2018-12-05
問題請你自我介紹一下你自己? 你覺得你個性上最大的優點是什嗎? 說說你最大的缺點? 你對加班的看法? 你對薪資的要求? 在五年的時間內,你的職業規劃? 你朋友對你的評價? 你還有什麼問題要問嗎? 如果通過這次面試我們單位錄用了你,但工作一段時間卻發現你根本不適合這個職位,你怎麼辦? 在完成某項工作時,你認為領導要求的方式不是最好的,自己還有更好的方法,你應該怎麼做? 如果你的工作出現失誤,給本公司造成經濟損失,你認為該怎麼辦? 談談你對跳槽的看法? 工作中你難以和同事、上司相處,你該怎麼辦? 假
Time of Update: 2018-12-05
現在正在學習ARM+linux,突然覺得開個部落格寫寫筆記也是不錯的,好記性不如爛筆頭嘛,還可以自我監督下,下面是我的學習計劃: 一、現在linux系統的基本使用,常用命令,基本的shell編程已經瞭解了,現在正在學習ARM板上的硬體。雖然說實際應用中ARM的開發都是涉及到作業系統的,但是我覺得認真學習下裸機程式對於熟悉底層硬體也是有協助的,就當是複習單片機了,在玩裸機程式的同時呢,還是要加強一下C語言和資料結構的學習,這些方面太久沒用了,忘的也差不多了。
Time of Update: 2018-12-05
一、 NMEA0183標準語句(GPS常用語句) 1、 Global Positioning System Fix Data(GGA)GPS定位資訊$GPGGA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,M,<10>,M,<11>,<12>*hh<CR><LF><1>
Time of Update: 2018-12-05
由於在對內部Flash進行擦寫操作時,不能對Flash進行讀操作,否則會造成擦寫停止。而正常情況下,中斷向量表以及中斷處理函數,都是放在Flash內的。因此,對內部Flash進行擦寫操作時,一般會將系統的總中斷關閉,暫時性不去響應外部中斷。這樣,系統就僅僅是執行擦寫操作,而不會去Flash內進行讀取指令等操作,因此保證Flash操作的正常進行。硬體:TG
Time of Update: 2018-12-05
資料庫事務並髮帶來的問題有:更新丟失、髒讀、不可重複讀取、幻象讀。假設張三辦了一張招商銀行卡,餘額100元,分別說明上述情況。1、更新丟失:一個事務的更新覆蓋了另一個事務的更新。事務A:向銀行卡存錢100元。事務B:向銀行卡存錢200元。A和B同時讀到銀行卡的餘額,分別更新喻額,後提交的事務B覆蓋了事務A的更新。更新丟失本質上是寫操作的衝突,解決辦法是一個一個地寫。2、髒讀:一個事務讀取了另一個事務未提交的資料。事務A:張三妻子給張三轉賬100元。事務B:張三查詢餘額。事務A轉賬後(還未提交),
Time of Update: 2018-12-05
在上一次對Flash的操作,是在關閉總中斷的情況下完成的。但是關閉總中斷終歸會造成系統回應時間延遲,而且在某些特殊的場合下,關閉總中斷也容易造成丟失UART資料,或則SPI資料等現象。解決的方法就是:既然在擦寫Flash時不能進行Flash讀操作,因此可以將NVIC的向量表重新對應到RAM,並且將中斷響應函數也一併放入RAM中,這樣的話,即使在擦寫flash操作時有中斷需要響應,因此也不會去讀取Flash。原則上這樣就避免了Flash擦寫失敗的情況。硬體環境:G/TG
Time of Update: 2018-12-05
給出一個四則運算運算式,其中每個數字均為小於等於9且大於等於0。不考慮溢出,計算結果。運算式如"1+2*3-6+5-8/2+1+7"。#include <iostream>using namespace std;struct Node{ int value; Node *next;};int calculate(char a[]){ if (NULL == a) { return 0; } Node *head = new Node(
Time of Update: 2018-12-05
在官方的Application
Time of Update: 2018-12-05
硬體環境:TG STK實現的效果:LED燈每1秒閃爍一次 .Timer採用基本定時方式工作。 #include <stdint.h>#include <stdbool.h>#include "efm32.h"#include "efm32_chip.h"#include "efm32_cmu.h"#include "efm32_timer.h"#include "efm32_gpio.h"//13761 Hz -> 14Mhz (clock frequency) /
Time of Update: 2018-12-05
定義操作函數static void cmd_capture (char *par) {}static void cmd_fill (char *par) {}static void cmd_type (char *par) {}static void cmd_rename (char *par) {}static void cmd_copy (char *par) {}static void cmd_delete (char *par) {}static void cmd_dir (char *
Time of Update: 2018-12-05
/***************************************************LETimer應用樣本1: LETimer One-shot Mode解釋: The timer runs as long as REP0 != 0. REP0 is decremented at each timer underflow.注意: LETimer 運行完畢之後,自動停止。硬體環境: TG STK LED燈
Time of Update: 2018-12-05
1.DAC轉換的觸發條件。 觸發條件可以有兩種,一種是將你需要轉換的值寫入到DACn_CHxDATA寄存器,前提是你需要將DAC使能先。或則是將你想要轉換的值寫入DACn_COMBDATA寄存器的相應部分。DACn_COMBDATA寄存器是映射了DACn_CH0DATA和DACn_CH1DATA的值,以方便使用者同時觸發兩個通道輸出。
Time of Update: 2018-12-05
一、應用程式使用步驟1、初始化 Init_Temp = disk_initialize( 1 ); // 為二底層驅動初始化 擷取mmc資訊 2、載入邏輯磁碟機 Fs_result = f_mount(0, &fs);//卸載或掛在一個邏輯磁碟機3.1、開啟檔案夾res = f_opendir(&dirs, "Music"); 3.2開啟檔案 Fs_result = f_open(&fsrc, "ftxt.txt", FA_OPEN_EXISTING |
Time of Update: 2018-12-05
在基本polling的基礎上,將Rx設定為中斷接收。硬體環境:TG STK,將PD0,PD1短接,及usart1 的Tx,及Rx, 沒有使用內部的loopback功能。對應 TG STK 20 pin 擴充口的第4腳與第6腳。 軟體環境:在主迴圈中,不斷髮送資料,在Rx中斷中,判斷接收到的資料,如果是特殊的那個字,則將LED的控制腳去反。代碼如下 :#include <stdint.h>#include <stdbool.h>#include
Time of Update: 2018-12-05
Timer除了可以作為一個基本的定時器之外,也可以作為一個PWM輸出模組。硬體:TG STK, 利用PD7 即 TIMER1, CC1, #4來輸出一個PWM波形。軟體常式如下:#include "efm32.h"#include "efm32_cmu.h"#include "efm32_emu.h"#include "efm32_gpio.h"#include "efm32_prs.h"#include "efm32_system.h"#include
Time of Update: 2018-12-05
目前時間以雙字值封裝返回,位域如下:bit31:25 年 (0~127)(從1980 開始)bit24:21 月 (1~12)bit20:16 日 (1~31)bit15:11 小時(0~23)bit10:5 分鐘(0~59)bit4:0 秒 (0~29) 程式清單 get_fattime 函數實現DWORD get_fattime (void){return ((2010UL-1980) << 25) /* Year = 2010 */| (11UL << 21)