[RTT常式練習] 1.4 線程優先順序搶佔

RTT 是搶佔式的RTOS,高優先順序的線程會先執行。這個常式顯示了是如何搶佔的。解釋我懶得寫了,下面這段來自官網論壇:因為更高的優先順序,thread1率先得到執行,隨後它調用延時,時間為3個系統tick,於是thread2得到執行。可以從列印結果中發現一個規律,在第一次thread2了列印兩次thread1會列印一次之後,接下來的話thread2每列印三次thread1會列印一次。對兩個線程的入口程式進行分析可以發現,在thread1

[RTT常式練習] 2.8 訊息佇列message queue

訊息佇列(來自百度百科)訊息佇列就是一個訊息的鏈表。可以把訊息看作一個記錄,具有特定的格式以及特定的優先順序。對訊息佇列有寫入權限的進程可以向訊息佇列中按照一定的規則添加新訊息;對訊息佇列有讀許可權的進程則可以從訊息佇列中讀走訊息。訊息佇列是隨核心持續的。描述程式啟動並執行過程。首先建立了三個線程,三個線程處於同一優先順序,但由於thread1首先被啟動,所以它先運行,thread2,3緊隨其後。thread3中調用了delay 5s,所以一開始便被掛起了。thread1由於要等訊息佇列的訊息,

[RTT常式練習] 6.2 在 Finsh 中運行自訂函數

可以直接在Finsh中運行自己定義的函數。官方有三種方式,我覺得第二種比較方便,其他就不介紹了。首先需要在application.c 中包含 finsh.h 標頭檔,然後在函數下方添加宏FINSH_FUNCTION_EXPORT(fun_with_arg, function with a argument);程式#include <rtthread.h>#include <finsh.h>static rt_thread_t tid = RT_NULL;static

[RTT常式練習] 2.9 事件機制event

事件也是一種線上程間同步的方式。RTT中,事件是一個32bit(4個位元組)的變數,其中每一個位可以表示代表一種事件。接收事件的線程既可以在多個事件同時發生後(即多個bit位同時置1)觸發,正如本例中線程1中第一條語句所示範的那樣。也可以多個事件任意一個發生後(即多個bit位任意一個置位)就可以觸發。主程式中建立三個線程,線程1接收事件標誌。線程2和線程3則向發送事件標誌。可以說,事件更為靈活。這裡,一共建立了三個線程,一個事件。一開始 thread1 等待事件 bit3 和 bit5

[FreeModbus源碼分析] 1.協議簡介

MODBUS協議分為兩層,一層是資料連結層,一層是應用程式層。在官網上,分別有兩篇文檔描述了MODBUS的資料連結層和應用程式層。當然,資料連結層有多種實現方式,官網給的是基於串列的方式。兩篇文檔分別為 MODBUS over Serial Line Specification and Implementation Guide 和 MODBUS Application Protocol Specification。兩篇specifiaction

[RTT常式練習] 6.3 在 Finsh 中查看自訂變數

和前面類似,使用宏,就可以將變數輸出至FinshFINSH_VAR_EXPORT(count, finsh_type_int, count variable for finsh);程式#include <rtthread.h>#include <finsh.h>static rt_thread_t tid = RT_NULL;static void thread_entry(void *parameter){ while (1) {

[RTT常式練習] 3.2 動態記憶體管理之rt_realloc和free

realloc 用於重新分配記憶體的情境。如果原先通過 malloc分配的空間過小,則可通過realloc重新分配大小。當然具體實現的時候分兩種情況,如果原記憶體塊後有足夠的空間,則之間將原記憶體塊擴大,如果不夠,則重新尋找一個地方,將原資料也拷貝至此。代碼:#include <rtthread.h>struct rt_thread thread1;static rt_uint8_t thread1_stack[512];void thread1_entry(void*

[RTT常式練習] 3.3 靜態記憶體管理,記憶體池mempool

記憶體池是一種靜態記憶體管理方法。它預先將一塊固定連續的記憶體地區劃分成幾個大小不同的塊。使用者申請時就將對應大小的記憶體塊給他。這種方法的優點是不會有記憶體片段,但不夠靈活,適用於需要頻繁存取的場合,例如buffer。這個例子有兩個線程。thread1不停分配記憶體塊,但其中並沒有使用delay() 來使自己掛起,所以thread2 由於優先順序低於 thread1 而一直得不到運行。thread1 分配完所有記憶體塊以後,又試著再取得一個記憶體塊,由於記憶體塊已經被分配完,所以thread1

運行seam中的例子所遇到的問題

            近一年都要和seam打交道了,所以環境肯定要搭建的,顯示下載seam架構,再是裝jboss伺服器,又下ant,按照reference的協助文檔來講,這些再加上配置好的jdk環境的話就可以跑出seam中內建n多個例子的。啟動jboss,ant seam-examples, 運行localhost,可是就是404啊,說明項目沒有部署到jboss server中,隨即開啟server/deploy,的確沒有xxx.ear,但明明提示的是build

[RTT常式練習] 4.4 定時器控制

定時器可以通過rt_timer_control(),來改變定時器的某些特性,比如定時時間。這裡,一開始定時周期是100,並且在程式中使用 rt_tick_get()-tick來確認定時周期是否如預設那樣。當8次之後,使用rt_timer_control(),將定時周期改為3000。實際效果通過列印的tick資訊和直觀感受都可以驗證。程式:#include <rtthread.h>static rt_timer_t timer1;//static rt_timer_t

實現2個activity互動(startActivityResult)

//用startActivityForResult 啟動activity Intent intent = new Intent(ReceiveResult.this, SendResult.class);            startActivityForResult(intent, 0);   //重寫第一個activity的onActivityResult 方法。    @Override protected void onActivityResult(int requestCode,

JNIEnv*的常用函數詳解

#include "TestNative.h" /* * Class: TestNative * Method: add * Signature: (II)I */JNIEXPORT jint JNICALL Java_TestNative_add(JNIEnv *en, jobject obj, jint x, jint y){ return x+y;}    

ARM資料棧的使用規則

ARM資料棧的使用規則      資料棧有兩個增長方向:向記憶體位址減小的方向增長時,稱為DESCENDING棧;向記憶體位址增長的方向增長時,稱為ASCENDING棧。      所謂資料棧的增長方向就是移動棧指標。當棧指標指向棧頂元素(最後一個入棧的資料)時,稱為FULL棧;當棧指標指向棧頂元素(最後一個入棧的資料)相鄰的一個空的資料單元時,稱為EMPTY棧。      綜合這兩點,資料棧可以分為以下4種。      1.FD:Full Descending,滿遞減。      2.ED:

Wireshark和TcpDump抓包分析心得

Wireshark和 TcpDump抓包分析心得1.

S3C2440–儲存控制器

1.什麼是儲存控制器    儲存控制器說白了就是建立和控制其他存放裝置的一種裝置.在S3C2440中儲存控制器的起始地址為0x48000000結束位址為0x48000030.通過配置儲存控制器提供的13個寄存器的具體數值來達到訪問外圍裝置的目的.2.如何得到外圍裝置的訪問地址    在說明得到外圍裝置地址之前不得不先說明一下什麼是片選訊號.   

802.11電源管理模式

http://blog.csdn.net/magod/article/details/6862851在無線網路的終端裝置中,應該是以手持式裝置與膝上型電腦為大宗。這類型裝置在使用時仰賴電池提供電力的趨勢極為明顯。因此IEEE 802.11便提供了幾種不同的電源管理模式,尤其是訴求提高電池續航力的省電模式尤為重要。本文將介紹幾種電源管理模式,供有志學習WLAN基礎知識的工程師參考。第一種是主動模式(Active

Camera 影像處理原理分析篇 三

 顏色相關特效處理1.1       grayscale (灰階)灰階圖的效果就是將彩色圖片轉換為黑白圖片。1.2       理論理論上,在YUV空間,將UV分量丟棄,只保留Y分量,這樣就可以得到黑白映像,這也是彩色電式機訊號能相容黑白電視機的原理。如理論上Y值一樣的顏色(右邊是用acdsee轉成灰階圖的效果),在grayscale模式下看應該是一樣的顏色。    演算法上的操作,理論上應該把UV值改成灰色對應數值就可以了。不過根據軟體演算法和硬體結構的不同,具體代碼也會有不同。1.3    

s3c2440的GPIO控制

 1.GPIO簡介:     GPIO(通用輸入輸出連接埠)是相對於晶片而言的,如果在對應的晶片存在GPIO引腳則可以通過讀這些引腳來擷取引腳的變化(即:引腳的高低電平的變化).   在S3C2410晶片中存在117個I/O連接埠,共分為A~H共8組分別為GPA~~GPH,在S3C2440中存在130個I/O連接埠,共分為A~J9組名分別為GPA~GPJ,配置這些連接埠相應的寄存器(GPXCON, x=A~H/J),設定引腳是用於輸入/輸出,或者是用於特殊功能.1.1通過寄存器來訪問引腳:   

簡單圖片加密

現在大部分android應用的圖片資源,被反編譯後就可以直接拿來用,如果不想讓自己的圖片資源直接被反編譯後使用,首先想到的應該是把圖片加密。這裡筆者拋磚引玉,草草寫了一個對圖片進行簡單加密的方法,希望對各位看官有用。首先是加密部分,這裡使用的是簡單的異或來將圖片進行加密。建立一個java project或者乾脆直接用文字檔寫下下面的代碼,然後在命令列執行,代碼如下:import java.io.File;import

Chrome瀏覽器漢字顯示模糊_解決

Chrome確實不錯,不過總有點小瑕疵,比如漢字顯示模糊的問題。關於這個漢字模糊的問題,確實很糾結,到目前我都沒弄明白到底是怎麼回事。很久前,我這裡安裝的搜狗瀏覽器部分網頁漢字顯示模糊(如),      它也使用的是WebKit核心。到官方論壇發貼,也沒人理。還好這問題總算是找到解決辦法了。 估計出現漢字模糊的都是液晶顯示器吧。液晶顯示器就涉及到一個叫做“cleratype”的東西,只要把cleratype開啟,並做相應的設定,模糊問題就消失了。 1、首先下載clear

總頁數: 61357 1 .... 8467 8468 8469 8470 8471 .... 61357 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.