1. 程式人生 > >DSP中兩個延時函式的區別(轉)

DSP中兩個延時函式的區別(轉)

在程式設計的時候可以用CCS自帶的延時函式,在使用時我發現有兩個延時函式都可以用:
DELAY_US(1);
DSP28x_usDelay(1);
在呼叫DELAY_US(1)這一函式時,必須要有:
#include “DSP281x_Examples.h” // DSP281x Examples Include File
否則程式編譯能通過,但在連結時會出錯,而使用DSP28x_usDelay();則可以不包含該標頭檔案。
在呼叫兩個函式時,是執行在DSP28x_usDelay.asm檔案中的這些指令
.def _DSP28x_usDelay
.sect “ramfuncs”

    .global  __DSP28x_usDelay

_DSP28x_usDelay:
SUB ACC,#1
BF _DSP28x_usDelay,GEQ ;; Loop if ACC >= 0
LRETR
在實際執行時會有以下區別:
以下用這個表格說明他們的最大區別,表格的內容是在*.asm檔案中ACC的數值,第一列是引數值。
DELAY_US DSP28x_usDelay
3 88 3
30 890 30
50 1498 50
80 2398 80
200 5997 200
600 17997 600
大家應該看到了區別吧,還有一點累加器ACC可是32位的,所以他們定時時間可以達到比較大的數值,用來實現秒延時肯定是可以的。

相關推薦

DSP函式區別

在程式設計的時候可以用CCS自帶的延時函式,在使用時我發現有兩個延時函式都可以用: DELAY_US(1); DSP28x_usDelay(1); 在呼叫DELAY_US(1)這

“漸進式框架”和“自底向上增量開發的設計”這概念是什麼? 留任自己記錄

徐飛 在我看來,漸進式代表的含義是:主張最少。 每個框架都不可避免會有自己的一些特點,從而會對使用者有一定的要求,這些要求就是主張,主張有強有弱,它的強勢程度會影響在業務開發中的使用方式。 比如說,Angular,它兩個版本都是強主張的,如果你用它,必

C語言反正切函式atan與atan2的區別

我們可以使用正切操作將角度轉變為斜率,那麼怎樣利用斜率來轉換為角度呢?可以利用斜率的反正切函式將他轉換為相應的角度.as中有兩個函式可以計算反正切,我們來看一下. 1、as中Math.atan() Math.atan()接受一個引數:用法如下: angel=Math.atan(slope)  angel為一

STM32通過普通函式來精確

在STM32中處處會用到延時函式,一般而言,對於普通的控制延時,並不會要求特別精確,所以可以使用普通的延時函式,例如 void delay(u32 time) { while(time--);

【例項】javascript的window物件的onbeforeunload、onload、onunload的區別在新版本的瀏覽器關閉事件可能不會觸發

onload是在頁面載入的時候觸發,與之相反onunload是在頁面關閉(解除安裝)的時候觸發,至於onbeforeunload是指頁面將要關閉的時候觸發(一般用於彈出是否確認關閉的時候) 上程式碼 <!DOCTYPE HTML PUBLIC "-//W3C//DT

android/java 執行的方法

// 訊息處理方式實現延時        new Handler().postDelayed(new Runnable()        {            public void run()            {               myDialo

C\C++計時、函式

C\C++標準庫中提供了兩種計時函式clock()和time()。其用法如下: (1)clock()函式用法 void timeConsume() { double start,stop,durationTime; start = clo

在ZSTACK使用函式注意附機器時鐘指令週期

關於Z-stack的延時,稍微總結幾點使用中可能需要注意的地方:   1同樣的程式碼,裸機實驗和在Z-stack中延時的時間可能是不一樣的。   因為在Z-stack中可能被中斷打斷,也可能Z-stack在某個地方對時鐘的配置不一樣,建議如果需要比較

oracle sql 遊標的簡單用法tip:sql單引號表示一個單引號

--遊標遍歷某個欄位 (打印出來) declare            res_sql varchar2(2000); cursor cur is            select f_

微策略2011校園招聘筆試題找出陣列只出現一次的數字

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

求二叉樹任意結點間的路徑C++

方法一 #include <iostream> #include <vector> using namespace std; struct Node { int val; Node* left; Node* right; Node(int v

php獲取陣列相同的元素交集以及比較陣列不同的元素差集

(一)php獲取兩個陣列相同元素   array  array_intersect(array  $array1, array $array2, [, array $...])       array  array_int

PHP只保留字串首尾字元,隱藏中間用*代替字元只顯示第一個

/** * 只保留字串首尾字元,隱藏中間用*代替(兩個字元時只顯示第一個) * @param [string] $user_name 字串 * @param [int] $head 左側保留位數 * @param [int] $foot 右側保留位數 * @r

Java常量定義在interface和class的區別

var tac 不能被繼承 ble -o err 模式 variable 個人愛好 最終結論:定義常量在interface和class中其實都行,關鍵是看你的設計和個人愛好。 Java中interface中定義變量默認都是"public static final"類型的,

Servlet的幾重要的對象

localhost http ttr 屬性 webapps source 指定路徑 開始 orm  講解四大類,ServletConfig對象,ServletContext對象、request對象,response對象 ServletConfig對象         獲取途

Java使用new Date()和System.currentTimeMillis()獲取當前時間戳的區別Java進階-性能提升

使用 get csdn 比較 his new mem ava 輸出 在開發過程中,通常很多人都習慣使用new Date()來獲取當前時間,使用起來也比較方便,同時還可以獲取與當前時間有關的各方面信息,例如獲取小時,分鐘等等,而且還可以格式化輸出,包含的信息是比較豐富的。但是

Servletforward和redirect的區別

intern host 邏輯 overflow IT lan 實時性 解析 relative forward方式:request.getRequestDispatcher("/somePage.jsp").forwardrequest, response); red

JavaArrayList和LinkedList區別

java linked .com -s lan font array href spa 具體詳情參考原博客: http://pengcqu.iteye.com/blog/502676Java中ArrayList和LinkedList區別(轉)

棧實現隊列

font code class color 用兩個棧 cti 最後一個元素 第一個 不為 用兩個棧來實現一個隊列,完成隊列的Push和Pop操作。 隊列中的元素為int類型。 var stack1=[],stack2=[]; function push(node){

javaInteger和int的區別

prev 指針 引用 .com 地址 區別 val details sdn int和Integer的區別 1、Integer是int的包裝類,int則是java的一種基本數據類型 2、Integer變量必須實例化後才能使用,而int變量不需要 3、Integer實際是對象