<cite id="txdbx"><strike id="txdbx"><listing id="txdbx"></listing></strike></cite>
<var id="txdbx"><strike id="txdbx"></strike></var>
<cite id="txdbx"><video id="txdbx"><thead id="txdbx"></thead></video></cite>
<thead id="txdbx"><video id="txdbx"><thead id="txdbx"></thead></video></thead>
<ins id="txdbx"><video id="txdbx"></video></ins>
<var id="txdbx"></var>
<var id="txdbx"><span id="txdbx"><menuitem id="txdbx"></menuitem></span></var><cite id="txdbx"><video id="txdbx"><thead id="txdbx"></thead></video></cite>
<var id="txdbx"></var>
<var id="txdbx"></var><menuitem id="txdbx"></menuitem>
<menuitem id="txdbx"><video id="txdbx"><thead id="txdbx"></thead></video></menuitem><cite id="txdbx"></cite>
<var id="txdbx"></var>
<cite id="txdbx"><span id="txdbx"><thead id="txdbx"></thead></span></cite>
<i id="txdbx"><noframes id="txdbx">
<var id="txdbx"></var>
<cite id="txdbx"></cite>
<var id="txdbx"><strike id="txdbx"></strike></var>
<var id="txdbx"><strike id="txdbx"></strike></var>
<var id="txdbx"><video id="txdbx"><thead id="txdbx"></thead></video></var>
<cite id="txdbx"><video id="txdbx"></video></cite>
工業電器網
當前位置:首頁> RX Family of 32-bit High Power Efficiency MCUs

RX Family of 32-bit High Power Efficiency MCUs

日期:2023-04-24 09:41:50

想必你對REACTIVEPROGRAMMING這個新東西很好奇吧,尤其是他的衍生,比如:RX,BACON.JS,RAC等等。講真,如果沒有好資料的話,學習REACTIVEPROGRAMMING是一件很艱難的事情。還記得剛開始學習的時候,我不停地找教程,后來找到了一個很容易上手的實戰指南,但是它僅僅涉及了表面的東西,并沒有告訴我如何圍繞REACTIVEPROGRAMMING來構建整個應用的架構。另外,官方的文檔對我的幫助也不是很大,尤其是我想理解某個函數的時候。看看下面的例子你就知道:此時我的內心是崩潰的。我曾經還閱讀過兩本書,一本講得很抽象,而另外一本則是教你如何使用REACTIVE相關的庫。最后,我用了最笨的方法來學習:邊用邊學,把他運用到公司一個實際的項目當中,在遇到問題的時候得到了我同事們的幫助。在我學習的過程中,最艱難的部分是如何THINKINGINREACTIVE。這需要我們擺脫IMPERATIVEANDSTATEFUL風格的編程習慣,然后強迫你大腦去思考如何用另外一種方式來解決同樣的問題。我并沒有找到任何關于這個的教程。所以,我覺得要有一個實戰的教程告訴我們如何THINKINGINREACTIVE,這樣我們才能著手學習REACTIVEPROGRAMMING。然后,閱讀官方文檔就事半功倍了。因此,我希望這篇教程能幫助到你。對于什么是REACTIVEPROGRAMMING,你會在網上看到很多不好的解釋或者定義。WIKIPEDIA一如既往地萬金油和偏理論化。STACKOVERFLOW的這個答案又太規范化,不適合初學者。而,REACTIVEMANIFESTO看起來像是用來忽悠產品經理。另外,微軟的解釋RX=OBSERVABLES+LINQ+SCHEDULERS又太MICROSOFTISH,看到就覺得好難的樣子。其實,像REACTIVE和PROPAGATIONOFCHANGE等等這些詞條和我們平常在MV*或者某些編程語言里看到的沒有什么不同,都是解決同樣的問題。VIEW要實時響應MODEL,也就是當MODEL改變時,VIEW也要做出相應的變化。也就是說,他并不是什么新東西。EVENTBUSES或者CLICKEVENTS這些不就是異步事件流(ASYNCEVENTSTREAMS)嗎?你可以監聽他們,然后做出相應的副作用(SIDEEFFECTS)。REACTIVE其實就是一個IDEA,推而廣之的話,不僅僅是CLICK或者HOVER事件能夠創建DATASTREAM,所有東西都可以當作一個STREAM:比如變量,用戶的輸入,屬性,緩存,數據結構等等。不妨想象一下,你的TWITTERFEED其實就是一個DATASTREAM,同樣地CLICK事件也是。你可以監聽他們,然后做出響應。在此基礎上,你可以使用很多非常棒的函數,比如可以COMBINE,CREATE,FILTER各種各樣的STREAM,因為RX借鑒了函數式編程。一個STREAM可以當作另一個STREAM的輸入(INPUT)。甚至多個STREAM也能當作另外一個STREAM的輸入。而且,你可以合并(MERGE)兩個STREAM。你也可以把一個STREAM里你只感興趣的事件FILTER到另外一個STREAM。你還可以把一個STREAM中的數據映射(MAP)到另外一個STREAM中。如果STREAM對于REACTIVE這么重要的話,就讓我們來研究研究他。首先,從我們最熟悉的例子開始:「點擊一個按鈕」。STREAM是一序列按時間排序的正在發生的事件(ASTREAMISASEQUENCEOFONGOINGEVENTSORDEREDINTIME)。他可以EMIT三種不同的東西:值(VALUE),錯誤(ERROR),或者一個COMPLETED的標志。舉個例子,當點擊窗口的關閉按鈕時,對應的COMPLETED事件就會觸發。我們只能異步地捕獲已經EMIT的事件:當一個值EMIT的時候就調用一個事先定義好的回調函數,同樣地,當ERROR或者COMPLETED時調用其對應的回調函數。有時候,你可以不用管后面兩個函數,如果只關注值的話。監聽STREAM也就是所謂的SUBSCRIBING;回調函數就是所謂的OBSERVERS;而STREAM也就是所謂的SUBJECT(OBSERVABLE)。以上其實就是觀察者設計模式(OBSERVERDESGINPATTERN)。另外,我們也可以使用ASCII來描繪我們的STREAM示例圖。想必你對上面的東西都很熟悉吧,那么為了讓你不感到無聊,讓我們來弄點新東西:把一個原始的CLICKEVENTSTREAM轉換成一個新的CLICKEVENTSTREAM。首先,讓我們創建一個COUNTERSTREAM,他表示某個按鈕被點擊了多少次。在常見的REACTIVELIBRARY里面,每個STREAM都有很多函數。比如MAP,FILTER,SCAN等等。當你調用其中某個時,比如CLICKSTREAM.MAP(F),他會返回一個基于CLICKSTREAM的新的STREAM。他并不改變原來的CLICKSTREAM,這就是所謂的IMMUTABILITY(不變性),他和REACTIVESTREAM總是形影不離。這樣,我們可以鏈式地調用STREAM的函數像這樣CLICKSTREAM.MAP(F).SCAN(G):MAP(F)函數會根據你傳進來的函數F,替換掉CLICKSTREAM每個EMIT的值,到新的STREAM中。在我們的例子中,我們把每個CLICK映射成數字1。SCAN(G)會累加STREAM的過去的所有的值(例子中的G其實就是一個簡單的ADD函數)。接著,無論CLICK事件什么時候發生,COUNTERSTREAM都會EMIT鼠標點擊過的總次數。為了展示REACTIVE的真正實力,我們不妨假設你有一個「DOUBLECLICK」EVENTSTREAM。為了讓他更加有趣一些,我們想要的新的STREAM可以是「TRIPLECLICKS」或者直接「MULTIPLECLICKS」。那么,現在請深呼吸一下,想象一下你用傳統的IMPERATIVEANDSTATEFUL編程風格來實現這個效果。我敢打賭,這一定是一件很令人討厭的事情,并且你還需要定義一些變量去保存狀態,以及解決鼠標連續點擊的時間間隔問題。沒錯,用REACTIVE的話實現的話,是很簡單的。實際上,關于邏輯的代碼只有4行。但是,我們暫時先不看代碼。THINKINGINDIAGRAMS(畫圖思考)是理解和構建STREAM的最好方法,無論你是初學者還是老手。上圖中,灰色的矩形是把一個STREAM轉換成另一個STREAM的函數。我們會每隔250MS把所有CLICKSTREAM都緩沖在一個數組里面,這是BUFFER(STREAM.THROTTLE(250MS))所要做的事情(如果你現在不了解細節的話不要在意,因為我們現在只是初探一下REACTIVE而已)。于是,我們得到的是一個包含多個數組的STREAM,接著調用MAP()函數,把每個數組都映射成一個整數(數組的長度)。隨后,我們調用FILTER(X>=2)來過濾掉那些長度為1的數組。綜上,我們只需要3次操作就能得到我們想要的STREAM。最后,我們調用SUBSCRIBE()來監聽,響應我們想要做的事情。我希望你能夠欣賞這種很優美的方法。上面的例子其實只是冰山一角:你可以在不同類型的STREAM中調用相同的OPERATOR(例如,MAP,FILTER等等)。此外,還有很多有用的函數供你使用。REACTIVEPROGRAMMING提高了你代碼的抽象級別,因此你可以專注寫業務邏輯(BUSINESSLOGIC),而不是不停地去折騰一大堆的實現細節,所以RP的代碼看起來簡潔很多。RP的優勢在現代的WEBAPP和MOBILEAPP中更加明顯,因為他們需要和眾多的UI事件(與數據事件相關)進行高度的交互。十年前,和WEB頁面交互僅僅只是提交一個表單給后臺,然后返回重新渲染好頁面給前端。而如今的應用就需要更加實時(REAL-TIME)了:修改一個單獨的表單域就會自動保存到后臺,比如給某些內容的「點贊」就能夠實時地反映給當前在線的其他用戶。為了提高用戶體驗,現代的應用都需要大量的實時的事件。我們需要工具來正確地解決這些問題,而REACTIVEPROGRAMMING正是我們想要的答案。讓我們回到現實世界吧,用一個真實的例子來說明如何一步一步地THINKINGINRP。不是偽代碼,沒有講一半不講另一半的概念性的東西。在教程的最后,我們的代碼不僅可以跑起來,還知道每一步為什么要這樣做。我選擇JAVASCRIPT和RXJS作為我們的工具,是因為:JAVASCRIPT是如今最流行的語言,雖然RX*LIBRARYFAMILY已經被大量應用到需要的語言和平臺中(.NET,JAVA,SCALA,CLOJURE,JAVASCRIPT,RUBY,PHTYHON,C++,OBJECT-C/COCOA,GROOVY等等)。無論你選擇哪個,你都可以從這篇教程中學到東西。下面,我們就來實現他的主要功能:?在APP啟動時,從API中加載用戶數據,并顯示3個推薦?點擊每行(每個推薦)的「X」(關閉按鈕)時,移除掉當前的推薦,加載新的?每行都有用戶的頭像和主頁的鏈接我們先不理其他比較小的功能。由于TWITTER關閉了公用API,所以我們就轉用GITHUB獲取用戶的API。如果你想先看看最后的效果是怎樣的,你可以點擊這里查看完整的代碼。你怎么用RX解決API請求和響應的問題?首先記住,(MOST)EVERYTHINGISASTREAM,這是施展RX魔法的咒語。現在我們先實現最簡單的功能:「在APP啟動時,從API中加載用戶數據,并顯示3個推薦」。這里沒有什么特別的,就和往常一樣:(1)發請求,(2)獲取后臺的響應,(3)渲染響應。接下來,我們把請求看作一個STREAM。雖然這看起來有點OVERKILL,但是我們需要從基本的東西開始,不是嗎?APP啟動時我們只需要發一個請求,因此我們可以把他看作一個DATASTREAM,他只EMIT一個值。(以后我們會有多個請求,但現在我們只有一個)。這就是我們想要發請求的URLSTREAM。無論該請求事件何時發生,他都會告訴我們兩件事:WHENANDWHAT。「WHEN」是說當事件EMIT時,請求才被執行。而「WHAT」則表示請求的就是EMIT的值,即是這個URL字符串。在RX*中創建只有單獨一個值的STREAM是很簡單的。STREAM的官方術語是「OBSERVABLE」,因為他可以被觀察(OBSERVE)。但是我發現這是一個很蠢的名字,所以我通常都叫他「STREAM」。但現在,這只是一個STRINGSTREAM,并沒有其他的操作,所以我們要想辦法在他EMIT值的時候干些事情。這個時候就需要SUBSCRIBE(訂閱)他。注意到現在我們用JQUERYAJAX回調函數來處理請求后的異步操作。但你不是說RX就是用來處理異步數據流的嗎!難道這個請求的響應不能是一個包含數據,并且會在未來某個時間點到達的STREAM?理論上看起來是行的,讓我們試試吧。RX.OBSERVABLE.CREATE()可以自定義我們自己的STREAM,通過定義一個OBSERVER(ONNEXT(),ONERROR)。不難發現,上面我們的工作其實就是封裝一個JQUERYAJAXPROMISE而已。慢著,這也就是說,PROMISE是一個OBSERVABLE(STREAM)?YES.是的!(這都被你發現了!!)OBSERVABLE其實就是PROMISE++。在RX中,你可以很簡單地把一個PROMISE轉換成一個OBSERVABLE,只需要:VARSTREAM=RX.OBSERVABLE.FROMPROMISE(PROMISE),接下來我們會使用他。OBSERVABLE和PROMISE++的唯一區別是前者不兼容PROMISE/A+,但是理論上來講是沒有沖突的。PROMISE其實就是只有單獨一個值的OBSERVABLE,但后者更勝一籌的是允許多個返回值(多次EMIT)。這其實是一件很棒的事情,PROMISE能做的事情,OBSERVABLE也能做。PROMISE不能做的事情,OBSERVABLE還是能做。因此,如果你是PROMISE粉絲的話,那么你也應該嘗試一下RX的OBSERVABLE。回到我們的例子中,你會看到,我們的SUBSCRIBE()函數嵌套著另一個SUBSCRIBE(),這很快就會形成CALLBACKHELL。并且,RESPONSESTREAM的創建依賴于REQUESTSTREAM。如果你在前面有仔細閱讀的話,我們說過RX可以很簡單地讓不同STREAM之間變換和創建,現在我們要把他應用到我們的例子中。你首先要了解的最基本的函數是MAP(F),他會把STREAMA的每個值,傳到F(),然后產生新的值傳給STREAMB。那么,應用到我們例子的話:以上,我們創建了一個叫「METASTREAM」的怪獸:STREAM嵌套著STREAM(ASTREAMOFSTREAMS)。不用緊張,METASTREAM其實不過是一個EMITVALUE為STREAM的STREAM。你可以把他想象成一個指針:每個EMIT的值就是一個指向另一個STREAM的指針。顯然,返回一個METASTREAM對我們一點用都沒有,我們只想要一個EMITVALUE為JSON對象(而不是一個包含JSON對象的「PROMISE」)的STREAM。現在,來認識一下我們的新朋友MR.FLATMAP:他是特殊的MAP,可以FLATTEN上面講到的「METASTREAM」。他通過EMIT主干(TRUNKSTREAM)的值,間接EMIT了分支(BRANCHSTREAM)的值。需要注意的是FLATMAP并不是一個「FIX」,而METASTREAMS更不是一個「BUG」,他們都各自的用途。漂亮~現在我們的RESPONSESTREAM是基于REQUESTSTREAM而創建的。REQUESTSTREAM每次EMIT一個值,在RESPONSESTREAM都會有相對應的值。就像這樣:終于,我們搞定了RESPONSESTREAM,那么就可以渲染我們得到的數據了:我還沒告訴你GITHUB這個API返回的JSON對象包含了100用戶。他只允許我們設置PAGEOFFSET而不能設置PAGESIZE,但是我們只需要3個所以浪費了剩下的97個。我們可以暫時先不管這個,因為后面我們會講到如何緩存API返回的響應。每次點擊刷新按鈕的時候,REQUESTSTREAM都應該EMIT一個新的URL,這樣我們才能得到新的RESPONSE。那么,我們現在需要兩樣東西:點擊刷新按鈕的REFRESHCLICKSTREAM(咒語:ANYTHINGCANBEASTREAM),以及依賴于REFRESHCLICKSTREAM的REQUESTSTREAM。幸運的是,RXJS可以很簡單地創建監聽事件的OBSERVABLES。顯然,REFRESHCLICKSTREAM并沒有包含任何的APIURL,所以我們需要把它們映射(MAP)到一個真正的URL:因為我沒做自動化測試,所以之前的功能在加了新功能之后跑不起來了:在APP啟動時并沒有發送我們的請求,只有在點擊刷新按鈕的時候發送。但是,這兩個情景我都想實現。可以把兩個STREAM合并成一個嗎?答案是MERGE()。用圖來解釋的話:STARTWITH顧名思義,不管INPUTSTREAM是怎樣的,OUTPUTSTREAM的開頭都會有一個值X,因為我們設置了STARTWITH(X)。但是我沒有遵循DRY(DONTREPEATYOUSELF),因為我重復寫了API兩次。如果要FIX這個問題的話,我們可以為REFRESHCLICKSTREAM設置STARTWITH,他「模擬」了在應用啟動時點擊了刷新按鈕:太棒了!你可以看到我們只多加了STARTWITH(),和「因為我沒有做自動化測試,所以我弄壞了…」那個時候的代碼比較的話。在此之前,我們只在RESPONSESTREAM的SUBSCRIBE函數里面渲染我們的「用戶推薦UI」。但現在我們有了「刷新按鈕」,就產生了一個新的問題:當你點擊了刷新按鈕,當前的三個用戶推薦不會被清除掉,而當一個新的RESPONSE到達時,新的推薦會緊跟在之前的推薦后面渲染。因此,如果我們點擊了刷新按鈕的話,我們需要移除掉當前的推薦。很顯然,這個的做法是不對的,而且很糟糕,因為我們現在有兩個SUBSCRIBER是可以修改「推薦界面」的DOM結構(另一個是之前的RESPONSESTREAM.SUBSCRIBE()),并且這一點也不SEPARATIONOFCONCERNS。還記得REACTIVE的咒語?因此,我們可以把「推薦」也看作一個STREAM,他EMIT的值是一個包含推薦數據的JSON對象。我們可以分別為3個推薦寫一個STREAM。下面是「推薦用戶一」的STREAM:剩下的兩個SUGGESTION2STREAM和SUGGESTION3STREAM都可以簡單地從SUGGESTION1STREAM中復制過來。注意到,這一點也不DRY,但我不打算重構他,因為我想讓我們的例子簡單一些,并且也是一個好機會讓你思考如何才能做到DRY。回到前面所說的「點擊刷新按鈕,移除掉當前的推薦」(即是本部分的開頭),現在我們可以把「刷新按鈕點擊」映射為一個NULL的推薦數據,然后把他加進SUGGESTION1STREAM里面,就像這樣:當渲染的時候,我們可以把NULL解讀為「沒有數據」,所以就隱藏了他的UI元素。我們還可以在啟動時渲染一個空的推薦,需要在SUGGESTIONSTREAM上添加一個STARTWITH(NULL):我們還需要實現一個功能:每個推薦都應該有一個「X」按鈕去關閉它,然后加載一個新的推薦。一開始我們的想法可能會這樣:當點擊關閉按鈕時,發一個新請求就可以啦:但這樣做是不行的,因為他會刷新所有的推薦而不是我們點擊的那個。其實有很多種方法可以解決這個問題,但是為了有趣一些,我們決定重用之前的RESPONSESTREAM。還記得API返回的PAGESIZE是100個用戶,但我們只用了3個,因此我們還有新的可用的數據,不需要再請求一遍。再說一遍,讓我們THINKINSTREAMS。當「CLOSE1」的CLICK事件觸發后,我們想要的做的是:在RESPONSESTREAM最近(THEMOSTRECENTLY)EMIT的值里面,隨機一個出來:在RX*中,有一個叫COMBINELATEST的COMBINATORFUNCTION,他可以把STREAMA和STREAMB作為輸入,無論何時,只要其中一個EMIT了一個值,COMBINELATEST都會把兩個STREAM最近EMIT的值A和B組合在一起,然后輸出一個值C=F(X,Y)(F是一個你定義好的函數)。用圖示的話會更好理解:我們可以把COMBINELATEST()應用到CLOSE1CLICKSTREAM和RESPONSESTREAM上,所以無論何時點擊了「關閉按鈕一」,我們都得到最近的EMIT的值,然后返回給SUGGESTION1STREAM。另一個方面,COMBINELATEST()是對稱的:無論何時RESPONSESTREAMEMIT了一個值,他都會組合CLOSE1CLICKSTREAM最近EMIT的值,然后返回給RESPONSESTREAM。這就好了,我們可以簡化之前SUGGESTION1STREAM的代碼:我們還差最后一塊拼圖。COMBINELATEST()需要2個SOURCE的最近的值,但是如果其中一個SOURCE尚未EMIT任何值呢?這樣的話,COMBINELATEST不會產生任何的值。如果你注意到上面的圖示,你會發現:當第一個STREAMEMIT了A之后,OUTPUTSTREAM沒有產生任何值,直到第二個STREAMEMIT了B,OUTPUTSTREAM才有值AB。同樣地,這個問題有多種方法可以解決。但是我們使用最簡單的一種:在啟動時模擬點擊「關閉按鈕一」:終于,大功告成~以下是上面涉及到的所有代碼:你可以在這里查看一個在線的例子:INTROTORX-JSFIDDLE雖然我們的代碼很簡短,但是也實現了不少的功能:他對多個事件的管理可以做到SEPARATIONOFCONCERNS,甚至還緩存了RESPONSES。函數式風格讓代碼更加DECLARATIVE(聲明式),而不是IMPERATIVE(命令式):我們沒有給出一序列的指令去執行,而是在告訴某些東西(如何定義STREAM之間的關系)。比如,RX告訴計算機,SUGGESTION1STREAM是CLOSE1CLICKSTREAM組合RESPONSESTREAM最近的一個值。并且,當點擊刷新按鈕或者啟動時,SUGGESTION1STREAM的值為NULL。容易注意到,我們代碼都沒有使用像IF,FOR,WHILE和CALLBACK-BASED等常用的控制流程語句。你甚至可以在SUBSCRIBE函數里面使用FILTER(),這樣一來你也不需要IF-ELSE了(至于如何實現是我留給你們的練習)。在RX里,我們有很多STREAM函數,比如MAP,FILTER,SCAN,MERGE,COMBINELATEST,STARTWITH等等EVENT-DRIVEN應用經常用到的控制流程函數。這些函數可以讓你WRITELESS,RUNMOREPOWER。如果你認為RX*適合你用來進行REACTIVEPROGRAMMING的話,可以花點時間去熟悉那些可以變換,組合,創建OBSERVABLE的函數。如果你想用圖示的方式來了解這些函數的話,可以去看看RXJAVA的有圖示的文檔。當你遇到困難的時候,可以畫圖,想一想,然后看一看文檔對函數的定義,然后再想一想。這個WORKFLOW在我的學習經歷中起到了很大的作用。如果你想開始學習RX,那么你必須要理解:COLDVSHOTOBSERVABLES。如果你忽略了這個,你會后悔的。記住我已經警告過你了。如果想要更深入的話,就需要學習真正的FUNCTIONALPROGRAMMING,以及熟悉那些會影響到RX的一些ISSUE,比如SIDEEFFECTS。然而,REACTIVEPROGRAMMING并不只是RX。還有其他比如BACON.JS,他沒有RX有時會遇到的一些怪異行為。還有ELM語言:他是一種能夠編譯成JAVASCRIPT+HTML+CSS的FUNCTIONALREACTIVEPROGRAMMING語言,并且還可以TIMETRAVELLINGDEBUG,很厲害吧。RX的應用場景是EVENT-HEAVY的前端應用。但是,他不僅僅是前端的東西,同時他也能夠勝任后臺甚至數據庫。實際上,RXJAVA已經成為了NETFLIX處理后臺API并發問題的利刃。RX并不是局限于某種類型的應用或者語言,他是一種范式(PARADIGM),總之你可以用它來開發EVENT-DRIVEN的軟件。

RX Family of 32-bit High Power Efficiency MCUs

The RX family consists of four product series: the flagship RX700 series, with the fastest performance and most advanced functions; the standard RX600 series; the RX200 series, which delivers an optimal balance of power efficiency and high performance; and the entry-level RX100 series, with extremely low power consumption. These four series encompass a range of products that provide seamless scalability from small-scale to large-scale applications.

RX Family Catalog


RX Family

Family Lineup

RX Family

RX100

The RX100 Series is the RX Family's entry-level 32-bit MCUs with excellent cost performance and ultra-low power consumption. It delivers a max. of 32MHz CPU operation with 8 to 512KB of embedded flash memory. In addition it features cutting-edge peripherals like capacitive touch and LCD drive as well as USB. The RX100 Series can be used for system control or user interface applications systems such as healthcare devices, home appliances, office equipment, and measuring equipment.

Group Flash (KB) RAM (KB) Pin Voltage (V) Max Freq (MHz) Features
RX110 8-128 8-16 36-64 1.8-3.6 32 Ultra-low power consumption
RX111 16-512 8-64 36-64 1.8-3.6 32 Connectivity (USB), Ultra-low power consumption
RX113 128-512 32-64 64-100 1.8-3.6 32 Connectivity (USB), HMI (Touch-key), Ultra-low power consumption
RX130 64-512 10-48 48-100 1.8-5.5 32 HMI (Touch-key), Ultra-low power consumption, 5V

RX200

The RX200 Series offers the best mix of low power consumption and improved performance in the RX Family. It delivers max. of 80MHz CPU operation with 32KB to 1MB of embedded flash memory. RX200 Series offers a wide set of peripherals, including USB, CAN, ADC, advanced security, and IEC60730 appliance safety standard support. The RX200 Series is suitable for industrial equipment, home appliances, office equipment, healthcare products, meters, and so on. Some of the RX200 Series products are tuned for motor control solutions, too.

Group Flash (KB) RAM (KB) Pin Voltage (V) Max Freq (MHz) Features
RX210 64-1024 12-96 48-145 1.62-5.5 50 Low power consumption, 5V
RX21A 256-512 32-64 64-100 1.8-3.6 50 Low power consumption, Sensor
RX220 32-256 4-16 48-100 1.62-5.5 32 Low power consumption, 5V
RX231, RX230 128-512 32-64 48-100 1.8-5.5 54 Connectivity (USB), HMI (Touch-key), Security, Low power consumption, 5V
RX23E-A 128-256 16-32 40-48 1.8-5.5 32 Sensor
RX23T 64-128 12 48-64 2.7-5.5 40 Motor specialized specifications (1 motor), 5V
RX24T 128-512 16-32 64-100 2.7-5.5 80 Motor specialized specifications (3 motor), 5V
RX24U 256-512 32 100-144 2.7-5.5 80 Motor specialized specifications (3 motor), 5V, Pseudo differential PGA

RX600

The RX600 Series has an abundant lineup of high-performance microcontrollers with up to 160MHz CPU operation, This Series offers up to 4MB of embedded Flash and 640KB of embedded SRAM, advanced security, connectivity (Ethernet, USB, CAN) and HMI function. The RX600 Series addresses a broad range of applications for IoT endpoints such as white goods, meters, and other industry and consumer area. The RX600 Series can be considered as the mainstream series of the RX Family. Some of the RX600 Series products are tuned for motor control solutions, too.

Group Flash (KB) RAM (KB) Pin Voltage (V) Max Freq (MHz) Features
RX610 768-2048 128 144-176 3-3.6 100 -
RX62G 128-256 8-16 100-112 4-5.5 100 Motor specialized specifications, High resolution PWM, 5V
RX62N, RX621 256-512 64-96 85-176 2.7-3.6 100 Connectivity (Ethernet, USB)
RX62T 64-256 8-16 64-112 2.7-5.5 100 Motor specialized specifications, 5V
RX630 384-2048 64-128 80-177 2.7-3.6 100 Connectivity (USB)
RX634 1024-2048 128 144 2.7-5.5 54 5V
RX63N, RX631 0-2048 64-256 48-177 2.7-3.6 100 Connectivity (Ethernet, USB)
RX63T 32-512 8-48 48-144 2.7-5.5 100 Connectivity (USB), Motor specialized specifications, 5V
RX64M 2048-4096 512 100-177 2.7-3.6 120 Connectivity (Ethernet, USB), Motor
RX65N, RX651 512-2048 256-640 64-177 2.7-3.6 120 Connectivity (Ethernet, USB), HMI (LCD), Security, Motor
RX66T 256-1024 64-128 64-144 2.7-5.5 160 Motor specialized specifications (4 motor), Connectivity (USB), HMI (LCD), Security, Motor

RX700

The RX700 Series is the flagship of the RX Family with outstanding performance at up to 240MHz CPU performance, power efficiency, and connectivity. It offers up to 4MB of embedded flash memory, integrates rich peripherals such as Ethernet, USB, CAN, I2C, SSI and HMI function. The RX700 Series is an ideal fir for high end application in industry, office automation and other areas, where performance really matters.

Group Flash (KB) RAM (KB) Pin Voltage (V) Max Freq (MHz) Features
RX71M 2048-4096 512 100-177 2.7-3.6 240 Connectivity (Ethernet, USB), Motor
RX72T 512-1024 128 100-144 2.7-5.5 200 Motor specialized specifications (4 motor), Connectivity (USB), Security, Motor, High resolution PWM, 5V
RX72M 2048-4096 1024 176-224 2.7-3.6 240 Connectivity (EtherCAT, Ethernet, USB), HMI (LCD), Security, Motor
Development Tools

Software Tools

Development Environment for the Renesas RX Family MCUs

In the RX family development environment, Renesas offers high-quality and extensive software, high-performance yet easy-to-use development tools, and a wide selection of boards and kits.

The enhanced development environment enables customers to improve system development efficiency and contributes to shortening development time, reducing total cost, and improving system quality. A variety of partner products are also available, allowing you to select a development environment that meets your needs.

Product Longevity Program(PLP)

Renesas Electronics is operating the Product Longevity Program (PLP) to help customers select the most appropriate part for applications that require long life cycles.

久久久久久精品国产三级