1. 程式人生 > >DSP學習筆記----GPIO學習及實驗(附程式)

DSP學習筆記----GPIO學習及實驗(附程式)

一. GPIO暫存器

TMS320VC5509A有八個GPIO引腳. 它的配置暫存器有兩個:

GPIO方向暫存器IODIRGPIO資料暫存器IODATA

  • GPIO方向暫存器(IODIR):
GPIO方向暫存器IODIR
欄位 說明
15~8 Rsvd 保留
7~0 IOxDIR

IOx方向控制位。

0:IOx配置為輸入

1:IOx配置為輸出

  • GPIO資料暫存器(IODATA):
GPIO資料暫存器IODATA
欄位 說明
15~8 Rsvd 保留
7~0 IOxDATA

IOx邏輯狀態位

0:IOx引腳為低電平

1:IOx引腳為高電平

  •  標頭檔案:
#include"csl_gpio.h"
#include"csl.h"
#include"csl_pll.h"
  • GPIO_RSET()

 GPIO_RSET()方法用來配置GPIO的暫存器,第一個引數是配置的暫存器,第二個引數是寫入暫存器的值。

e.g.

GPIO_RSET(IODIR,0xFF);  //GPIO方向配置為輸出(1)

GPIO_RSET(IODATA,0xFF);  //GPIO八個腳全輸出高電平

二.程式: 

#include"csl_gpio.h"
#include"csl.h"
#include"csl_pll.h"
void delay()
{
	int ii,jj,kk=0;
	for ( ii=0;ii<1000;ii++ )
	{
		for ( jj=0;jj<2048;jj++ )
		{
			kk++;
		}
	}
}
PLL_Config myConfig	={
	0,
	1,
	24,
	1
};
void main()
{
	CSL_init();
	PLL_config(&myConfig);  //
	
	GPIO_RSET(IODIR,0xFF);  //GPIO方向配置為輸出(1)
	
	while(1)		//閃爍---這裡接的是蜂鳴器啦
	{
		GPIO_RSET(IODATA,0x00);
		delay();
		GPIO_RSET(IODATA,0x80);
		delay();
	}
}