Time of Update: 2018-12-05
DES資料加密標準資料加密標準(DES)是一種使用祕密金鑰加密的塊密碼。它是基於使用56位密鑰的對稱演算法。DES現在已經不是一種安全的加密方法,主要因為它使用的56為密鑰過短。為了提供實用所需的安全性,可以使用DES的派生演算法3DES來進行加密,雖然3DES也存在理論上的攻擊方法。在2001年,DES作為一個標準已經被進階加密標準(AES)所取代。另外,DES已經不再作為國家標準科技協會的一個標準。 加密原理DES 使用一個 56 位的密鑰以及附加的 8 位同位位元,產生最大 64 位的分組
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
輸入:輸入若干行。每一行上有一個整數T,是測試資料群組數,接著又T行,每一行包含一個確定的正整數n,1《=1 000 000
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
作為AES,總共可以實現如下幾種加密模式:1. ECB模式: ECB(Electronic Code Book)是最基本的模式,如所示,他將明文切為4塊,每塊都以對稱金鑰密碼編譯,產生密文。它的優點是簡單,而且可以平行處理。另外一個優點是其中1塊發生錯誤時,不會影響其他3塊。但是缺點是它只適合較簡訊息,由於每塊都是用相同的密鑰,因此容易因為資訊重複而被人破解.(此圖片源自潘天佑博士的《資訊安全概論與實務》)常式(以128bit為例):#include
Time of Update: 2018-12-05
文章目錄 Description: 日期排序計算Time Limit:1000MS Memory
Time of Update: 2018-12-05
1.建立自己的函數模板。將如下的字元拷貝至IAR的CodeTemplates.ENU.txt檔案,建立自己的函數模板。這樣,就可以利用IAR的模板來建立自己定義的函數格式。捷徑為Ctrl+Shift+Space。#TEMPLATE &Function>&Function,"Function &name","Input parameter","Out parameter",&Description=--,&Time="$DATE$","Creat"/*
Time of Update: 2018-12-05
GNU C的一大特色(卻不被初學者所知)就是__attribute__機制。__attribute__可以設定函數屬性(Function Attribute)、變數屬性(Variable Attribute)和類型屬性(Type Attribute)。__attribute__書寫特徵是:__attribute__前後都有兩個底線,並切後面會緊跟一對原括弧,括弧裡面是相應的__attribute__參數。__attribute__文法格式為:__attribute__
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
在某些場合,例如想用DAC輸出一個正弦波形,最簡單的想法就是用一個Timer定時器做一個中斷,在中斷中,賦給DAC一個新的值,並且觸發DAC轉換。這樣做會有一些弊端,例如在複雜的系統中,中斷會有很多個,Timer的中斷優先順序不可能總是最高的。因此,相位上會有問題。另外,如果用中斷,會增加整個系統的功耗。因為需要不停的喚醒MCU,來處理中斷。而且功耗和Timer的定時周期息息相關。最後,如果想做一個頻率較高的中斷,則也會增加整個系統的負擔。MCU會忙於處理這個timer中斷。執行效率就會下降。
Time of Update: 2018-12-05
大家都說EFM32是針對低功耗的應用而開發的。不光光體現在宣傳手冊上的指標,那裡有幾種低功耗,每種低功耗的功耗等等的資料這些大體上的資料。在一些細小的方面,EFM32確實也為了節省功耗,做了一些特殊的處理。今天和大家說的就是,EFM32甚至可以將部分的RAM關閉,而省出那麼一點維持RAM資料的電流。雖然維持RAM的電流在datasheet上沒有具體的說明,也沒有資料,但是可想而知,關閉總歸還是會省出一點的。^_^.根據Reference
Time of Update: 2018-12-05
文章目錄 TCP資料包TCP可靠性的保證
Time of Update: 2018-12-05
1. app.c: error: L6002U: Could not open file .\obj\app.o: No such file or directory解釋:找不到檔案或目錄解決: 網路搜集的解決方案: 1.從網上查到要把編譯產生的工程檔案 ××××_Data檔案夾刪掉。 自己的解決方案:
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
以下是一個acmp的基本應用的例子硬體:輸入是ACMP0,CH5,#0,GPIO口對應的是PC5. ACMP 輸出是ACMP0_O, #2,PD6軟體:注意的是,ACMP的輸出是一個數字輸出,因此需要將GPIO口的輸出方式設定成pushpull方式。常式:#include <stdint.h>#include <stdbool.h>#include "efm32.h"#include "efm32_chip.h"#include
Time of Update: 2018-12-05
雖然AES的ECB加密模式,有簡單,利於並行計算,誤差不會傳輸等優點,但是也會有明顯的缺點。例如不能隱藏明文的模式,可以對明文進行主動攻擊。例如:因為如果採用ECB模式,如果送入的明文是一樣的,則得出的密文是一樣的。因此可以通過這個,來重複的試出密鑰。因此,可以使用更加難於破解的方式來對明文進行加密。例如採用CBC的方式進行加密。Cipher Block
Time of Update: 2018-12-05
將USART模組配置成最基本的SPI模式。沒有中斷,死迴圈發送。例子:#include <stdint.h>#include <stdbool.h>#include "efm32.h"#include "efm32_chip.h"#include "efm32_cmu.h"#include "efm32_gpio.h"#include "efm32_usart.h"void SPI_Initial(void){
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