資料介紹
描述
LInterp.h是一個預處理器腳本,用于使用 Arduino IDE(或任何其他)C 編譯器聲明和初始化大型插值/翻譯/查找數(shù)組。它聲明一個數(shù)組并從一組提供的映射坐標自動生成其元素,然后消失,不留下任何代碼、數(shù)據(jù)、定義、類或其他任何東西。這對于 RAM 有限的 Arduino 板來說是理想的,因為數(shù)組可以在PROGMEM
(程序空間)內存更大,并且不需要微控制器代碼來生成數(shù)組。LInterp對 Arduino 板或引導加載程序一無所知,并且完全獨立于硬件。它實際上解決了生成潛在的大型變換數(shù)組的問題因此編譯器可以計算數(shù)組元素的值并在一次傳遞中初始化數(shù)組。對于最初(由作者)作為 UNIX shell 腳本編寫的具有 40 年歷史的回收件來說還不錯,以避免使具有類似用戶內存限制的 VAX 崩潰。
LInterp在 Arduino 微控制器平臺中最明顯的用途是為連接到模擬輸入的非線性傳感器或換能器生成線性變換。通過在設備產生的范圍內“映射”一組模擬輸入值(例如作為輸入引腳上的電壓),LInterp生成一個逆變換數(shù)組,其元素是用戶指定的線性函數(shù)上的均勻間隔點在相同的設備范圍內。如果數(shù)組元素之間的間隔被選擇為大于底層設備輸入比例(例如ADC范圍),那么通過相鄰數(shù)組元素之間的插值可以比僅使用最近索引元素更準確地轉換輸入值。LInterp總是在數(shù)組的末尾添加一個額外的數(shù)組元素,以將上面最后提供的縱坐標映射點與有效的數(shù)組元素綁定以進行插值(即使數(shù)組被聲明為平面)。
配置和使用陣列生成器
C 語言預處理器是一個原始的文本處理代碼,它通過擴展和替換標記定義直到它們評估為常量值來工作。它沒有循環(huán)、變量或任何運行時上下文的概念,只能進行簡單的整數(shù)運算。幸運的是,這足以允許從一組映射坐標和輸入/輸出縮放參數(shù)生成線性插值數(shù)組。#define
在使用#include
指令調用腳本之前,我們將這些常量作為 Arduino 草圖中的語句提供給預處理器。腳本完成后,它會刪除與其關聯(lián)的所有定義,因此可以定義一個新集合并再次調用腳本以生成另一個數(shù)組。LInterp腳本中的所有標記都以LI_
并且在完成后將是未定義的,因此微控制器代碼所需的任何數(shù)組參數(shù)定義都應在源文件的較早部分進行,并且LInterp令牌定義引用它們。聲明的數(shù)組名由編譯器單獨保留。該#define
語句具有以下語法:
#define token value /* assigns
value
to
token
*/
或者
#define token /* asserts that
token
exists from this point onwards in the source file */
以下列表描述了控制LInterp腳本的標記。在標記表示數(shù)值的情況下,類型顯示在括號中。默認值顯示在方括號中。
LI_ARR
[ LInterp
] – 數(shù)組的名稱。腳本完成后由編譯器保留。
LI_CAL
( int
) – 陣列基礎“校準”比例。
LI_INT
( int
) [1] – 的插值間隔LI_CAL
。
LI_OFS
( float
) [0] – 數(shù)組元素常量偏移值。縮放后添加(參見LI_SCL
)
LI_P
n
– 數(shù)組映射縱坐標在n =0 到n =32 的范圍內。必須聲明至少四個坐標。如果需要超過 32 個定義,則必須將定義添加到LInterp腳本(請參閱參考資料LInterp.h
)。
LI_RAM
– 強制在板 RAM 中聲明數(shù)組,即使pgmspace.h
存在。
LI_RNG
( int
) – 映射縱坐標比例。LI_P
n
LI_SCL
( float
) [1.0] - 數(shù)組元素比例系數(shù),=(最后一個元素值)-(第一個元素值)(見LI_OFS
)
LI_TYP
– 指定數(shù)組的整數(shù)類型,例如byte
、int
或long
。元素將由編譯器計算為 (float) 并(LI_TYP)
在分配給數(shù)組之前四舍五入。
LI_VAR
[ const
] – 在 RAM 中聲明數(shù)組時的常量/動態(tài)切換。定義LI_VAR
(無值)以允許在聲明后寫入數(shù)組。
Arduino 平臺中LInterp腳本的唯一外部依賴是宏令牌。如果在調用腳本之前未包含系統(tǒng)頭文件, LInterp將聲明并初始化 RAM 中的數(shù)組為常量(默認情況下)或可修改(如果已定義)。PROGMEM
LI_VAR
坐標縮放和整數(shù)算術
要計算數(shù)組大小和元素間距,預處理器必須將縱坐標映射點值乘以和除以提供的縮放和插值間隔因子,并且它必須僅使用整數(shù)算術來執(zhí)行此操作,因為它沒有可用的浮點類型. 記住整數(shù)除法中的 999/1000 = 0(下溢),數(shù)組定義的大小和操作順序對于獲得正確的數(shù)組維度很重要。LInterp還在計算中將提供的常量轉換為長整數(shù),以防止整數(shù)乘法溢出。在為LInterp配置定義列表時,應注意以下數(shù)值注意事項:
縱坐標地圖比例
縱坐標地圖定義LI_P0
..及其比例因子應使用方便的測量派生比例,該比例允許地圖值表示為數(shù)組定義所需精度的整數(shù)。LI_P
N
LI_RNG
數(shù)組基礎(插值)比例
我們希望我們的數(shù)組跨越的整數(shù)比例,并定義我們的插值間隔大小,由 定義LI_CAL
。它等于縱坐標地圖比例因子LI_RNG
乘以一個常數(shù),但作為一個單獨的因子提供,以允許對由儀器或數(shù)學上下文強加的數(shù)組使用現(xiàn)有的“自然”索引縮放。
縱坐標地圖點陣列基本位置
縱坐標映射點( n > 0) 通常不直接對應于數(shù)組索引。包含(使得(int) i( n ) < (float) i( n ) < (int) i( n ) + 1)的數(shù)組元素由下式給出LI_P
n
LInterp[i]
LI_P
n
我( n ) = ( * ) / ( * )LI_P
n
LI_CAL
LI_RNG
LI_INT
其中算術運算按使用長整數(shù)顯示的順序執(zhí)行。
數(shù)組大小計算
使用上面的數(shù)組索引計算,數(shù)組的大小由第一個 ( LI_P0
) 和最后一個 ( ) 映射點給出,即 (# of elements) = i( N ) – i( 0 ) + 1。同樣,算術運算符在沒有事先簡化或分組的情況下按所示順序應用。顯示的額外元素是添加的最終數(shù)組元素,邊界在上面。LI_P
N
LI_P
N
數(shù)組生成參數(shù)的約束
足夠的縱坐標映射
如果規(guī)則間隔的縱坐標圖包括連續(xù)縱坐標之間的映射函數(shù)的拐點(峰、谷或鞍點),則生成數(shù)組元素的線性內插器無法獲得此信息。增加映射點頻率以解決此類特征。
不規(guī)則間距縱坐標映射集
縱坐標映射集 { } 表示被轉換的映射函數(shù)的規(guī)則間隔。映射點 (P I , S I )的不規(guī)則間隔映射集 {P n , S n }也是正則集,因此定義= P I * ( S I – S i-1 ) 和 S av為平均值集合內的間隔 (S I – S i-1 ) 的值產生一個規(guī)則間隔的映射,其中 ( S 0 – S (-1) ) = S av和= [P n scale] * S av 。請記住,區(qū)間和 SLI_P
n
LI_P
i
LI_RNG
av必須表示為LInterp的整數(shù)。
插值范圍限制
LInterp腳本包含足夠的插值元素聲明,以在連續(xù)提供的映射縱坐標之間提供多達 32 個插值數(shù)組元素。嘗試聲明超過此值將產生致命的編譯錯誤和“超出插值限制”消息。聲明這么多插值的嘗試通常表示數(shù)組定義中的縮放錯誤或映射函數(shù)的緩慢增加(低梯度)間隔(例如圖形的 P8 到 P9)。由于在數(shù)組中使用許多插值會降低該縱坐標間隔中變換的精度,因此最好在此處聲明更多縱坐標映射點(請參閱上面關于不規(guī)則映射集的說明)或增加插值間隔LI_INT
. 如果認為絕對有必要增加LInterp腳本中的插值聲明的數(shù)量,請按照LInterp.h
文件中顯示的說明進行操作。
坐標映射范圍限制
LInterp腳本包括在多達 32 個縱坐標映射點之間進行插值的定義。如果需要更多,該LInterp.h
文件包含有關如何添加更多映射點定義的說明。請注意,文件中有幾個位置需要這些添加,不要與插值范圍聲明混淆(見上文)。
使用插值數(shù)組
訪問LInterp生成的數(shù)組取決于它的聲明位置。如果它已在 RAM 中聲明,則它可以像使用指針 ( *(array+index)
) 或下標 ( array[index]
) 表示法的任何其他 C 數(shù)組聲明一樣訪問。如果數(shù)組在 RAM 中聲明并LI_VAR
定義了令牌,則數(shù)組元素可能會被微控制器代碼更改。如果數(shù)組是在程序空間內存中聲明的PROGMEM
(pgmspace.h
這些函數(shù)具有一般形式
(a
rray_element_type
) pgm_read_
array_element_type
(int
pos
);
其中array_element_type是標準數(shù)值類型,例如byte
、或,并且是程序空間存儲器中要讀取的位置。要訪問LInterp生成的程序空間數(shù)組中的第i個元素,我們提供用加i指定的數(shù)組名稱for 。為了將來的可移植性和代碼可讀性,將函數(shù)調用嵌入宏定義中是謹慎的,例如int
float
long
pos
LI_ARR
pos
#define MyArray( i ) pgm_read_float( LInterp + i )
其中使用了默認數(shù)組名稱LInterp
,并且在這種情況下數(shù)組元素類型為浮點數(shù)。MyArray()
宏可以像代碼中的函數(shù)調用一樣使用,其參數(shù)計算為數(shù)組元素索引。有關pgmspace.h
函數(shù)的更多信息,請參閱www.arduino.cc上的PROGMEM
庫參考。
如果LInterp生成的平移數(shù)組是平坦的(即LI_INT
= 1),因此映射函數(shù)的每個值都有一個數(shù)組元素,則上述宏可以直接使用映射函數(shù)的邊界檢查值作為數(shù)組索引. 如果LInterp數(shù)組已指定插值間隔(即LI_INT
> 1),因此必須在數(shù)組值之間插值映射函數(shù)值,則必須使用插值函數(shù)來獲得正確的變換值。例如:
float DeviceToLin ( int dev_value ) {
/* lower bound check */
if ( dev_value < ArrOffset ) dev_value = ArrOffset;
/*upper bound check */
else if ( dev_value > ArrLimit ) dev_value = ArrLimit;
dev_value -= ArrOffset;
int index = dev_value / ArrInterp;
/* lower interpolation bound */
float lwr_bound = MyArray ( index );
/*upper interpolation bound */
float upr_bound = MyArray ( index + 1 );
return( lwr_bound + ( upr_bound – lwr_bound ) * ( dev_value % ArrInterp ) / ArrInterp );
}
withArrInterp
等于LI_INT
用于創(chuàng)建數(shù)組的插值間隔,dev_value
具有與 相同的比例LI_CAL
,是對應于單位ArrLimit
的數(shù)組結束位置,是對應于單位 ( not )的數(shù)組偏移量(如果有)。LInterp數(shù)組生成器確保最后提供的縱坐標映射點以有效數(shù)組元素為界。請記住在涉及數(shù)組邊界的任何計算中使用長整數(shù),并檢查編譯器的整數(shù)溢出警告。LI_P
N
LI_CAL
ArrOffset
LI_P0
LI_CAL
LI_OFS
LI_P
N
由于 Arduino 環(huán)境中最常見的LInterp應用程序是模擬設備輸出轉換,LinDev.h
因此提供了一個大綱頭文件,用于針對特定設備定義進行定制。這將縱坐標圖、LInterp定義、設備線性變換函數(shù)和輸出函數(shù)封裝在與 Arduino 項目草圖文件分開的單個頭文件中,從而有效地虛擬化設備。以下示例顯示了將此頭文件用作獨立的 Arduino 草圖。
示例程序 – PotUnLog.ino
例如,我們考慮使用LInterp來線性化連接到(任何)Arduino 板的模擬輸入的非線性模擬設備的部分輸出范圍。對數(shù)電位器(或對數(shù)電位器)是一種可變電阻器,它產生的電阻隨著掃描旋轉角的增加而呈指數(shù)增加。如果我們將電阻的一端接地,另一端連接到我們的模擬參考電壓電源Vref (來自單獨供電的 Arduino 板),則掃描端子將產生非線性電壓增加,隨著電位器主軸角度的增加,鍋從零旋轉到Vref在完全旋轉。使用一個 100K 電位器來限制從模擬參考電源汲取的電流,將電位器固定在一張紙板上并添加一個帶有方向指針的旋鈕,我們可以在其整個旋轉范圍(通常為 270度,或 27 度間隔)。如果我們隨后在每個標記位置測量電位器電壓,我們就有了電位器的常規(guī)縱坐標映射集。然后,我們可以將電位器掃描終端連接到 Arduino 板的 A0 模擬輸入,并使用VrefanalogRead()
除以特定 Arduino 板的 ADC 電平中的模擬通道全寬來讀取電位器電壓。
現(xiàn)在,假設我們想要一個 Arduino 代碼函數(shù),它以 0 到 10 之間的實數(shù)形式返回電位器方向角。我們可以將電位器電壓analogRead()
按比例縮放(10 除以模擬參考電壓),但返回值勝出'不匹配我們在鍋周圍標記的等間隔刻度,因為鍋不是線性的。我們需要使用一個變換函數(shù)“線性化”電位器輸出。為了我們的示例,我們還指定(出于某種原因)我們希望罐變換在刻度上的位置 3 和 7 之間是線性的,但在此范圍之外保持非線性(但與其平滑連續(xù))。讓我們也忽略這樣一個事實,即我們知道底池是對數(shù)的(因此我們可以使用數(shù)學函數(shù)對其進行線性化),并且需要在四個標記的底池位置之間獲得更好的精度,而不僅僅是它們之間的線性近似。如果我們還測量刻度上每個電位器位置之間的電位器電壓,我們總共會得到九個映射點來指定LI_P0
我們LI_P8
的變換數(shù)組。由于這些必須是整數(shù),因此我們指定它們并LI_RNG
以毫伏為單位,后者等于模擬參考電壓Vref. 所有對數(shù)罐應生成示例草圖中所示的相同圖,因為它們的指數(shù)電阻曲線符合對數(shù)罐對數(shù)的 ANSI 標準。
我們現(xiàn)在根據(jù)底池產生的值范圍選擇我們的變換數(shù)組大小,作為 ADC 電平接收。查看縱坐標圖,我們所需的線性電位器范圍涵蓋大約 444 個 ADC 電平,如果聲明為“平面”數(shù)組,則將占用 1780 個字節(jié)。如果我們采用LogPotRes
(比如說)5 個 ADC 級別的插值大小,我們可以將其減少到 356 字節(jié)。這是明智的,因為我們的縱坐標圖太粗糙而無法有效使用 (100 / 444 =) 0.23% 的分辨率精度。因此,我們設置LI_INT
為ADC 電平LogPotRes
中LI_CAL
的模擬通道全寬。最后,我們將數(shù)組比例設置LI_SCL
為 10,匹配我們的旋鈕比例,LI_OFS
設置為 3,作為我們指定數(shù)組開始的所有數(shù)組元素值的旋鈕比例偏移量LI_P0
. 我們還將保留LI_P0
and的副本LI_P8
(以 mV 為單位,作為長整數(shù))以在變換函數(shù)中定位我們的線性罐部分的開始和結束。我們現(xiàn)在使用指令調用LInterp腳本#include
,之后我們的數(shù)組被分配、初始化并且對我們的代碼可見,并且所有LI_
定義都被刪除。
使用連接到 Arduino 板的串行端口,我們現(xiàn)在可以從setup()
函數(shù)中檢查聲明的數(shù)組,就好像它是程序代碼中的常規(guī)數(shù)組聲明一樣。請注意,第一個元素等于我們對 的定義LI_OFS
,而最后一個元素(恰好)大于LI_OFS + LI_SCL
。該函數(shù)ReadPot()
對電位器模擬通道的多個讀數(shù)取平均值,并對電位器電壓進行邊界檢查。如果這超出了我們的線性變換范圍,則電壓僅根據(jù)相關的旋鈕間隔范圍進行縮放并返回;否則根據(jù)我們的DeviceToLin()
函數(shù)示例對其進行數(shù)組轉換。啟動該loop()
功能后,旋鈕位置應在 3 到 7 范圍內正確報告,并且大約在此范圍之外。
常見問題及故障診斷
ovf
,inf
以及nan
在數(shù)組末尾附近返回的值
將模擬設備電平縮放為數(shù)組索引時,請注意與原始縱坐標映射參考電壓的差異。如果 ADC 或模擬設備參考電壓相對于映射參考電壓發(fā)生漂移,則直接縮放到陣列索引的 ADC 電平可能會超過陣列的末端。出于這個原因,為您的模擬設備和 Arduino 板 ADC(通過AREF引腳)使用公共外部參考電壓源始終是一個好主意。如果設備電壓漂移是您的 Arduino 應用程序中不可避免的限制,請將模擬通道用作設備電壓監(jiān)視器,并在您的變換陣列索引計算中對其進行縮放。同樣,假設標稱值為LI_RNG
當使用設備派生的數(shù)組索引訪問時,而不是精確測量的值可能會導致數(shù)組太短。(技術說明:請記住,ADC 在滿量程時總是返回比 Vref 小 1LSB 。)
數(shù)組聲明產生一個數(shù)組元素 (= ) LI_OFS
選擇導致整數(shù)除法下溢錯誤的縮放范圍LI_RNG
會使LI_CAL
整個數(shù)組消失。(請參閱縱坐標縮放和整數(shù)算術)
數(shù)組邊界處的缺失/重疊值
當使用如上例中在設備范圍的一部分上聲明的平移/插值數(shù)組時,必須注意數(shù)組的邊界是如何由轉換函數(shù)代碼確定的。這應該使用相同的整數(shù)值(如 long ints)來完成,該整數(shù)值用于定義相對于LI_CAL
而不是邊界檢查計算的數(shù)組索引的數(shù)組,這可能會引入截斷錯誤。
(高級):定義非線性輸出函數(shù)
LInterp腳本可以被定制以在預處理器的有限能力所施加的嚴重限制內產生一個編碼非線性輸出函數(shù)的輸出數(shù)組。這可以使用以下形式的宏定義來實現(xiàn)
#define LI_OFS( curr_map_pt, next_map_pt, element ) ( /*... arithmetic operations */ )
#define LI_SCL( curr_map_pt, next_map_pt, element ) ( /*... arithmetic operations */ )
并用這些確切的語句替換(一個或兩個)LI_OFS
和LI_SCL
在文件頂部的元素生成器中:LInterp.h
LI_OFS( LI_LEV, LI_NXT, LI_ELT )
LI_SCL( LI_LEV, LI_NXT, LI_ELT )
以及將數(shù)組聲明初始化器列表中顯示的第一個元素更改為LI_OFS(0, 1, 0)
(或硬編碼的#define 數(shù)字常量)如果LI_OFS
更改為宏。數(shù)字標記(不是變量)LI_LEV
并LI_NXT
指定和映射條目之間的數(shù)字標記為每個插值區(qū)間(如果有)定義,從 1 開始,以適合范圍內的多個完整區(qū)間結束。令牌總是等于+ 1 并且是必要的,因為預處理器不能將 1 加到令牌上。請注意,上面顯示的第一個數(shù)組元素是一種特殊情況,其唯一元素值為 0,可以通過條件測試來檢測和處理,例如LI_P
n
LI_P(
n
+1)
LI_ELT
LI_NXT
LI_LEV
( ( element== 0 )? .. : .. )
在宏中使用三元運算符。這三個數(shù)字標記是LInterp腳本中預處理器唯一可用的上下文信息。
幸運的是,LI_OFS
andLI_SCL
宏僅在編譯過程中進行評估,其中傳遞的數(shù)字標記評估為整數(shù),并且允許浮點算術運算以及類型轉換和強制轉換。這提供了僅在這三個“狀態(tài)”標記的上下文中計算輸出函數(shù)的有限能力。映射點分布現(xiàn)在成為輸出函數(shù)的域,由于每個映射間隔的插值分配將根據(jù)其范圍而變化,這一事實變得復雜。鑒于元素生成器仍將計算LI_SCL
與插值數(shù)組元素相乘的線性小數(shù)值,輸出函數(shù)只需定義為LI_LEV
如果映射點之間的線性近似足以滿足輸出函數(shù)的精度。作為一個稍微簡單的例子,拋物線輸出函數(shù)可以定義為
#define LI_SCL(p,q,r) (
scale_constant
* p * p )
并留下LI_OFS
一個常量定義。可以是一個實數(shù),作為另一個語句的標記提供。輸出函數(shù)宏定義的一個更有用的示例是更改由縱坐標映射中的上下邊界條目定義的變換數(shù)組的單個區(qū)域的線性輸出函數(shù):scale_constant
#define
#define LI_OFS(p,q,r) ( (p < LWR) * OFS1 + (p >= LWR && p < UPR ) * OFS2 + ( p >= UPR ) * OFS3 )
#define LI_SCL(p,q,r) ( ( p < LWR || p >= UPR ) * SCL1 + ( p >= LWR && p < UPR ) * SCL2 )
其中表達式標記是用戶提供的#define 常量,選擇偏移量以使三個線性部分在縱坐標映射條目處連續(xù),編號為和。然后可以使用相同的數(shù)組僅基于輸入索引透明地生成不同的輸出函數(shù),而不是使用三個數(shù)組和編碼輸入邊界測試來在它們之間進行選擇。OFS
i
UPR
LWR
LI_ELT
如果事先不知道其范圍,宏插值元素編號標記(對應于)在某種程度上是無用的。這可以從LI_S()
宏中獲得并用于為當前數(shù)組元素生成一個實數(shù)小數(shù)范圍因子:
elt_factor
= ( (float) element /
(long) LI_S( curr_map_pt, next_map_pt ) )
其中element
從 1 到LI_S()
第 0 個元素定義為前一個映射間隔的最后一個元素,或數(shù)組的第一個元素。
請重命名包含您的自定義設置的頭文件,因為突變的LInterp變種有偽裝成標準規(guī)格版本從實驗室逃脫并在市民中引起恐慌的習慣。特別是,請不要因有關預處理器腳本的問題而惹惱 Arduino 支持人員或論壇版主,這是一種神秘且正確失傳的(黑色)藝術。可悲的是,您會在 GitHub 或 StackOverflow 等 C 編程論壇(后者以錯誤的預處理器腳本編寫的常見結果命名)中找到充足的幫助。
歷史記錄
LInterp通過許多硬件平臺的進化過程進入 Arduino 環(huán)境,從 Beowulf 集群到 GPU 板,無疑已經(jīng)被重新發(fā)明了很多次。LInterp 之類的腳本很可能是C 預處理器的 ANSI 標準對其功能保持如此高度限制的歷史原因。提前向任何認為他們的推導值得贊揚的人道歉;但是作者證明所提供的LInterp腳本和相關代碼完全是他們自己的作品,沒有任何版權責任(并且有證據(jù),可能在磁帶上)。它本著免費開源公共分發(fā)的“copyLeft”精神提供。作者對其使用的任何結果不承擔任何責任。
快樂插值,
dxb
(古代碼)
- 通用RFID生成器 1次下載
- MIF文件生成器下載 18次下載
- 一種線性插值隨機對偶平均優(yōu)化方法 4次下載
- AN-113:精密坡道生成器
- 基于AIS線性插值的綜合插值方法 13次下載
- 基于最優(yōu)移位雙線性插值的圖像縮放旋轉硬件加速研究 10次下載
- 基于雙線性插值的圖像縮放在GPU上的實現(xiàn) 0次下載
- 基于Matlab的雙線性插值算法在圖像旋轉中的應用 1次下載
- 代碼生成器的應用 0次下載
- 一種改進的線性圖像插值算法 29次下載
- LED段碼生成器 98次下載
- 基于PLC的線性插值模糊控制器的設計 60次下載
- 漢語句子聯(lián)想生成器
- UOC III系列器件 DMP生成器 (DMP Create
- pim卡資料生成器
- TSMaster 測試報告生成器操作指南 552次閱讀
- 什么是線性插值?一維線性插值和雙線性插值在BMS開發(fā)中的應用 1w次閱讀
- TSMaster報文發(fā)送的信號生成器操作說明 1063次閱讀
- 圖像插值理論研究之雙三次插值 1194次閱讀
- 如何一鍵生成mybatisplus 787次閱讀
- RoPE可能是LLM時代的Resnet 594次閱讀
- 個性化地定制自己的uvm代碼生成器模板和腳本 2142次閱讀
- 代碼生成器配置和軟件UART的實現(xiàn) 1596次閱讀
- 如何使用GreenPAK實現(xiàn)二進制奇偶校驗生成器和檢查器 3962次閱讀
- 利用雷達目標生成器測試整個雷達系統(tǒng)的方法介紹 2691次閱讀
- 一種不同于雙線性插值的上采樣方法 6451次閱讀
- 帶你一起學習徹底搞懂Python生成器 2775次閱讀
- GAN在圖像生成應用綜述 5715次閱讀
- 新GAN技術應用多層次特征的風格遷移人臉生成器你了解嗎 7086次閱讀
- 如何提高生成器G樣本質量的新方法 6147次閱讀
下載排行
本周
- 1A7159和A7139射頻芯片的資料免費下載
- 0.20 MB | 55次下載 | 5 積分
- 2PIC12F629/675 數(shù)據(jù)手冊免費下載
- 2.38 MB | 36次下載 | 5 積分
- 3PIC16F716 數(shù)據(jù)手冊免費下載
- 2.35 MB | 18次下載 | 5 積分
- 4dsPIC33EDV64MC205電機控制開發(fā)板用戶指南
- 5.78MB | 8次下載 | 免費
- 5STC15系列常用寄存器匯總免費下載
- 1.60 MB | 7次下載 | 5 積分
- 6模擬電路仿真實現(xiàn)
- 2.94MB | 4次下載 | 免費
- 7PCB圖繪制實例操作
- 2.92MB | 2次下載 | 免費
- 8零死角玩轉STM32F103—指南者
- 26.78 MB | 1次下載 | 1 積分
本月
- 1ADI高性能電源管理解決方案
- 2.43 MB | 452次下載 | 免費
- 2免費開源CC3D飛控資料(電路圖&PCB源文件、BOM、
- 5.67 MB | 141次下載 | 1 積分
- 3基于STM32單片機智能手環(huán)心率計步器體溫顯示設計
- 0.10 MB | 137次下載 | 免費
- 4A7159和A7139射頻芯片的資料免費下載
- 0.20 MB | 55次下載 | 5 積分
- 5PIC12F629/675 數(shù)據(jù)手冊免費下載
- 2.38 MB | 36次下載 | 5 積分
- 6如何正確測試電源的紋波
- 0.36 MB | 19次下載 | 免費
- 7PIC16F716 數(shù)據(jù)手冊免費下載
- 2.35 MB | 18次下載 | 5 積分
- 8Q/SQR E8-4-2024乘用車電子電器零部件及子系統(tǒng)EMC試驗方法及要求
- 1.97 MB | 8次下載 | 10 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935121次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
- 1.48MB | 420062次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233088次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191367次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183335次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81581次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73810次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65988次下載 | 10 積分
評論
查看更多