快速入門DSP編程方法——利用CCS3.3點(diǎn)亮發(fā)光二極管
在學(xué)習(xí)DSP編程的過程中,通過例程可以更加容易地學(xué)習(xí)其中的程序編輯方法,讓我們快速入門。本文將通過一個最簡單的例子來講解如何利用CCS3.3來編輯一個簡單的程序,并演示在DSP F2812開發(fā)板上如何
在學(xué)習(xí)DSP編程的過程中,通過例程可以更加容易地學(xué)習(xí)其中的程序編輯方法,讓我們快速入門。本文將通過一個最簡單的例子來講解如何利用CCS3.3來編輯一個簡單的程序,并演示在DSP F2812開發(fā)板上如何實現(xiàn)點(diǎn)亮一個發(fā)光二極管。
一、打開工程并編輯主函數(shù)
首先,打開上篇文章建好的新工程,在里面編輯我們想要的程序。點(diǎn)擊main后,我們進(jìn)入了主函數(shù)。
為了點(diǎn)亮發(fā)光二極管,我們需要根據(jù)引腳的定義選擇一個引腳。這里我們選擇了F14這個引腳。低電平時,二極管就會發(fā)光,高電平則不會發(fā)光。根據(jù)上圖的定義寫出如下程序:
void main(void)
{
InitSysCtrl();
1;
while(1);
}
二、初始化系統(tǒng)控制器
在程序中調(diào)用了InitSysCtrl()函數(shù),這個函數(shù)實現(xiàn)了禁止看門狗、設(shè)置系統(tǒng)時鐘、設(shè)置外設(shè)時鐘、關(guān)閉總中斷、關(guān)閉外設(shè)中斷、清中斷標(biāo)志、初始化PIE控制寄存器、使能PIE向量表等功能,其源程序如下:
void InitSysCtrl(void)
{
EALLOW; // This is needed to write to EALLOW protected registers
SysCtrlRegs.WDCR 0x0068; // Disable the watchdog
// Enable PLLSYSCLK is fed from an external clock source
//Divide by 2 for 60 MHz
1;
0;
15;
while( ! 1); // Wait for PLL to lock
//Disable all interrupts and clear pending flags
DINT;
IER 0x0000;
IFR 0x0000;
// Initialize PIE control registers to their default state
InitPieCtrl();
// Disable CPU interrupts and clear all CPU interrupt flags
IER 0x0000;
IFR 0x0000;
// Enable global Interrupts and higher priority real-time debug events
EINT; // Enable Global interrupt INTM
ERTM; // Enable Global realtime interrupt DBGM
EDIS; // This is needed to disable write to EALLOW protected registers
}
三、編譯和下載程序
寫完程序后,點(diǎn)擊編譯。查看是否有錯誤提示,如果沒有就直接執(zhí)行下一步——下載到開發(fā)板上。下載完成后,就可以看到F14對應(yīng)的二極管發(fā)光了。
總結(jié)
通過以上例程,我們可以更加深入地理解DSP編程的基本方法,也更加熟練地掌握了CCS3.3的使用。當(dāng)然,這只是一個最簡單的例子,后續(xù)我們還可以通過更復(fù)雜的例子來不斷提升自己的編程水平。