Ti的C28x系列的DSP使用经验,如何整合DSP中运行的函数。
生活随笔
收集整理的這篇文章主要介紹了
Ti的C28x系列的DSP使用经验,如何整合DSP中运行的函数。
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
? ? 我從事Ti的C28x系列的DSP的開發時間不長,短短一年,使用過兩種架構的DSP,主要針對資源管理有一些自己的心得。
? ? 在工程文件的分布上,本人認為需要DSP運行的的代碼應該放在一個.C文件中管理,這樣整個工程的代碼結構就非常清晰了,查找問題,也容易定位。這個.C我們可以稱之為UsrApp.C,包含4個函數,初始化函數,主中斷函數,1ms定時器中斷函數,主循環函數。
代碼如下:
#include "Serve.h" #include <stdio.h> #include <string.h>#ifdef FLASH #pragma CODE_SECTION(MainInt,"ramfuncs") #pragma CODE_SECTION(StdLoop,"ramfuncs") #endifvoid UsrAppInit(void) //初始化函數 {}void MainInt(void) //主中斷函數 {}void StdLoop(void) //1ms定時器函數 {}void MainLoop(void) //主循環函數 {}這樣在其他.c文件中的函數直接extern,按照需求塞到這四個函數里就可以了。
1、初始化函數沒啥好說的。
void UsrAppInit(void) //初始化函數2、主中斷函數
一般用PWM的CMPC觸發的中斷,中斷頻率為PWM的頻率,還有一種我習慣用的,PWM啟動ADC轉換,ADC轉換完成后再觸發一個中斷,這個主中斷的頻率也是PWM頻率。
這個主中斷函數,一般放實時性要求比較高的函數,我做電力電子行業的,一般會將數據采集、故障保護、算法、PWM釋放等函數放在這里面。
void MainInt(void) //主中斷函數3、1ms定時器中斷函數
這個函數是由定時器觸發的,一般里面放通訊函數,這類通訊函數,一般是輪詢的,每隔一定時間輪詢,查看是否接收數據,或者發送數據。
void StdLoop(void) //1ms定時器函數4、主循環函數
一般放一些參數配置,或者顯示之類等實時性要求不高的函數。
void MainLoop(void) //主循環函數?
總結
以上是生活随笔為你收集整理的Ti的C28x系列的DSP使用经验,如何整合DSP中运行的函数。的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 常用GIS行业技术架构总结-技术运维产品
- 下一篇: WinCC flexible 2008