首页资源分类其它科学普及 > 2812函数说明

2812函数说明

已有 445117个资源

下载专区

文档信息举报收藏

标    签:dsp

分    享:

文档简介

2812函数说明,对于初学开发者非常有用。

文档预览

Edited by Foxit Reader Copyright(C) by Foxit Software Company,2005-2007 For Evaluation Only. SEED-DEC2812 函数 一、 SEED-DEC2812 系统初始化函数 说明: 系统初始化是根据 SEED-DEC2812 的硬件功能,对硬件系统 F2812 进行初始化。 具体例程参见 DSP28_SysCtrl.c 文件 1、 头文件: DSP28_SysCtrl.h 2、函数列表: InitSysCtrl () – 初始化 DSP 系统的控制寄存器; KickDog() – 清 F2812 片内看门狗。 3、函数详细说明: 1) 函数声明: void InitSysCtrl (void) 函数功能: 初始化 DSP 系统的控制寄存器 参 数: 无 返 回 值: 无 例: #include < DSP28_SysCtrl.h > …… /* 初始化系统 */ InitSysCtrl (); …… 2) 函数声明: void KickDog (void) 函数功能:清 F2812 片内看门狗 参 数: 无 返 回 值: 无 例: #include < DSP28_SysCtrl.h > …… /*清 F2812 片内看门狗*/ KickDog (); …… 二、 系统 PIE 中断矢量表控制寄存器的操作函数 说明:设置‘F2812 的 PIE 中断矢量表的控制寄存器。 具体例程参见 DSP28_PieCtrl.c 文件 2、 头文件: DSP28_PieCtrl.h 2、函数列表: InitPieCtrl () – 初始化 DSP 系统的 PIE 控制寄存器; 3、函数详细说明: 1) 函数声明: void InitPieCtrl (void) 函数功能: 初始化 DSP 系统的 PIE 控制寄存器 参 数: 无 返 回 值: 无 例: #include < DSP28_PieCtrl.h > …… /* 初始化系统的 PIE 控制寄存器 */ InitPieCtrl (); …… 三、 系统 PIE 中断矢量表设置函数 说明:‘F2812 片内有 45 个 PIE 中断,通过对 PIE 中断矢量表的操作,设 置 PIE 的中断服务程序的入口地址; 具体例程参见 DSP28_PieVect.c 文件 3、 头文件: DSP28_PieVect.h 2、函数列表: InitPieVectTable () – 初始化 DSP 系统的 PIE 中断矢量表; 3、函数详细说明: 1) 函数声明: void InitPieCtrl (void) 函数功能: 初始化 DSP 系统的 PIE 中断矢量表 参 数: 无 返 回 值: 无 例: #include < DSP28_PieCtrl.h > …… /* 初始化系统的 PIE 中断矢量表 */ InitPieVectTable (); …… 四、 ‘F2812 片内 A/D 使用函数 ‘F2812 片内 A/D 使用说明: ’F2812 片内有 1 个 A/D 模块,16 路模拟量输入通道,量程 0~3V,转换时间 80ns; 具体例程参见 DSP28_Adc.c 文件 1、 头文件: DSP28_Adc.h 2、函数列表: InitAdc () – 初始化 A/D 模块; 3、函数详细说明: 1) 函数声明: void InitAdc (void) 函数功能: 初始化 A/D 转换 参 数: 无 返 回 值: 无 例: #include " DSP28_Adc.h" …… /* 初始化 A/D*/ InitAdc (); …… 五、 GPIO 接口函数 说明: GPIO 接口函数用来设置‘F2812 的 56 个 GPIO 口的设置,是用做 IO 口还是 用做’F2812 的功能口。 具体例程参见 DSP28_Gpio.c 文件 1、头文件: DSP28_Gpio.h 2、函数列表: InitGpio () –初始化 GPIO 口; 3、函数详细说明: 1) 函数声明: void InitGpio (void) 函数功能: 初始化 GPIO 参 数: 无 返 回 值: 无 例: #include " DSP28_Gpio.h" …… /* 初始化 GPIO */ InitGpio (); …… 六、 片内 SCI 异步串口模块使用函数 说明:‘F2812 片内有 2 个 SCI 模块,可以用做 UART 串口。 具体例程参见 DSP28_Sci.c 文件 1、头文件: DSP28_Sci.h 2、函数列表: InitSci () –初始化 SCI 模块; SciaTx_Ready() –SCI 数据发送 BUFFER 准备好? SciaRx_Ready() –SCI 数据接收 BUFFER 内有数据吗? 3、函数详细说明: 1) 函数声明: void InitSci (void) 函数功能: 初始化 SCI 参 数: 无 返 回 值: 无 例: #include " DSP28_Sci.h" …… /* 初始化 SCI */ InitSci (); …… 2) 函数声明: int SciaTx_Ready(void) 函数功能: SCI 数据发送 BUFFER 准备好? 参 数: 无 返 回 值: 1: 准备好 例: 0: 未准备好 #include " DSP28_Sci.h" …… /* SCI 数据发送 BUFFER 准备好? */ if(SciaTx_Ready() == 1) { …… } …… 3) 函数声明: int SciaRx_Ready(void) 函数功能: SCI 数据接收 BUFFER 内有数据吗? 参 数: 无 返 回 值: 1: 准备好 例: 0: 未准备好 #include " DSP28_Sci.h" …… /* SCI 数据接收 BUFFER 内有数据吗? */ if(SciaRx_Ready() == 1) { …… } …… 七、 SPI 同步串口模块使用函数 说明:‘F2812 片内有 1 个 SPI 模块,可以用做同步串口。 具体例程参见 DSP28_Spi.c 文件 1、头文件: DSP28_Spi.h 2、函数列表: InitSpi () –初始化 SPI 模块; Spi_TxReady () –SPI 数据发送 BUFFER 准备好? Spi_RxReady () –SPI 数据接收 BUFFER 内有数据吗? 3、函数详细说明: 1) 函数声明: void InitSpi (void) 函数功能: 初始化 SPI 参 数: 无 返 回 值: 无 例: #include " DSP28_ Spi.h" …… /* 初始化 SPI */ InitSpi (); …… 2) 函数声明: unsigned int Spi_TxReady (void) 函数功能: SPI 数据发送 BUFFER 准备好? 参 数: 无 返 回 值: 1: 准备好 例: 0: 未准备好 #include " DSP28_ Spi.h" …… /* SPI 数据发送 BUFFER 准备好? */ if(Spi_TxReady () == 1) { …… } …… 3) 函数声明: unsigned int Spi_RxReady(void) 函数功能: SPI 数据接收 BUFFER 内有数据吗? 参 数: 无 返 回 值: 1: 准备好 例: 0: 未准备好 #include " DSP28_ Spi.h" …… /* SPI 数据接收 BUFFER 内有数据吗? */ if(Spi_RxReady () == 1) { …… } …… 八、 McBSP 多通道标准同步串口模块使用函数 说明:‘F2812 片内有 1 个 McBSP 模块,可以用做多通道标准同步串口。 具体例程参见 DSP28_Mcbsp.c 文件 1、头文件: DSP28_Mcbsp.h 2、函数列表: InitMcbsp () –初始化 McBSP 模块; Mcbsp_TxRdy () –McBSP 数据发送 BUFFER 准备好? Mcbsp_RxRdy () –McBSP 数据接收 BUFFER 内有数据吗? 3、函数详细说明: 1) 函数声明: void InitMcbsp (void) 函数功能: 初始化 McBSP 参 数: 无 返 回 值: 无 例: #include " DSP28_Mcbsp.h" …… /* 初始化 McBSP*/ InitMcbsp (); …… 2) 函数声明: unsigned int Mcbsp_TxRdy(void) 函数功能: McBSP 数据发送 BUFFER 准备好? 参 数: 无 返 回 值: 1: 准备好 例: 0: 未准备好 #include "DSP28_Mcbsp.h" …… /* McBSP 数据发送 BUFFER 准备好? */ if(Mcbsp_TxRdy () == 1) { …… } …… 3) 函数声明: unsigned int Mcbsp_RxRdy(void) 函数功能: McBSP 数据接收 BUFFER 内有数据吗? 参 数: 无 返 回 值: 1: 准备好 例: 0: 未准备好 #include "DSP28_Mcbsp.h" …… /* McBSP 数据接收 BUFFER 内有数据吗? */ if(Mcbsp_RxRdy () == 1) { …… } …… 九、 CPUTIMER 时钟使用函数 说明:‘F2812 片内有 3 个 32 位 CPUTIMER 模块,可以通过对 CPUTIMER 的设置,来设定定时中断。 具体例程参见 DSP28_CpuTimers.c 文件 1、头文件: DSP28_CpuTimers.h 2、函数列表: InitCpuTimers () –初始化 CPUTIMER 模块; ConfigCpuTimer(struct CPUTIMER_VARS *Timer, float Freq, float Period) –设定时钟 定时周期,系统频率。 3、函数详细说明: 1) 函数声明: void InitCpuTimers (void) 函数功能: 初始化 CPUTIMER 参 数: 无 返 回 值: 无 例: #include " DSP28_CpuTimers.h" …… /* 初始化 CPUTIMER */ InitCpuTimers (); …… 2) 函数声明: Period) 函数功能: 参 数: 返 回 值: 例: void ConfigCpuTimer(struct CPUTIMER_VARS *Timer, float Freq, float 设定哪个时钟,以及时钟定时周期,系统频率; *Timer:选择系统时钟 CpuTimer0 时钟 0 CpuTimer1 时钟 1 CpuTimer2 时钟 2 Freq: 系统频率(MHZ) Period:定时器时钟(us) 无 #include " DSP28_CpuTimers.h" …… /*设置 CPUTIMER2,150MHZ 的系统时钟,1000000us 的定时周期*/ ConfigCpuTimer(&CpuTimer2, 150, 1000000);…… 十、 EV 事件管理器 说明:‘F2812 片内有 2 个事件管理器 EVA 和 EVB,可以通过对事件管理器 的设定来产生 PWM 波。 具体例程参见 DSP28_Ev.c 文件 1、头文件: DSP28_Ev.h 2、函数列表: InitEv () –初始化 EV 模块; 3、函数详细说明: 1) 函数声明: void InitEv (void) 函数功能: 初始化 EV 模块 参 数: 无 返 回 值: 无 例: #include " DSP28_Ev.h" …… /*初始化 EV 模块*/ InitEv (); …… 十一、D/A 输出 D/A 说明: SEED-DEC2812 包括 1 片 DAC7724,总共 4 路 D/A 输出。D/A 操作分为两步,第一步先将数字量写入 D/A 芯片的寄存器中, 第二步对 D/A 芯片发转换信号,产生 D/A 输出。由于 D/A 输出 的信号为离散量,而模拟量为连续信号,所以采用定时器触发方 式来控制 D/A 输出。 具体例程参见 DEC2812_DA.c 文件 1、头文件: DEC2812_DA.h 2、函数列表: da_setup(int tongdao,int kind,int freq,int value) –设置 DA 转换; da_end(int tongdao) – 关闭设定的 DA 通道转换; da_run() - D/A 转换输出。 3、函数详细说明: 1) 函数声明: void da_setup(int tongdao,int kind,int freq,int value) 函数功能: 对 D/A 输出的指定通道设定 D/A 输出的波形种类,频率,幅值,是否包 含噪音进行设置。 参 数: tongdao 设定通道(0 为 DAC811 输出,1~16 为 DAC7724 的输出) kind D/A 转换波形方式: 0:正弦波 1: 方波 2:三角波 3:直流 freq D/A 输出的波形频率 value D/A 输出的波形幅值 返 回 值: 无 例: #include " DEC2812_DA.h" …… /* 设置 DAC7724DA 通道,通道 0,正弦波,50HZ,5000mv */ da_setup(0,0,50,5000); …… 2) 函数声明: void da_end(int tongdao) 函数功能: 关闭设定的 DA 通道转换 参 数: tondao 通道 返 回 值: 无 例: #include " DEC2812_DA.h" …… /* 关闭 DA 输出 2 通道*/ da_end(2); …… 3) 函数声明: void da_run(void) 函数功能: D/A 转换输出 参 数: 无 返 回 值: 无 例: #include " DEC2812_DA.h" …… /* 运行 */ da_run(); …… 十二、RTC+EEPROM 接口函数 说明:SEED-DEC2812 有 1 个 RTC+EEPROM,可以用来设定 RTC 实时时钟和对 EEPROM 进行操作。 具体例程参见 rtc.c 文件 1、头文件: DEC2812.h 2、函数列表: init_rtc () –初始化 RTC+EEPROM 时钟; Set_Rtc(unsigned int date,unsigned int year,unsigned int month,unsigned int day,unsigned int hour,unsigned int minute,unsigned int second) –设置 RTC 实时时钟的年、月、日、时、分、秒、星期; Read_Rtc_Data(unsigned int slave_address1,unsigned int slave_address0,unsigned int address1,unsigned int address0) –随机读 RTC+EERPOM 的数据; Page_Read_Eeprom(unsigned int address1,unsigned int address0,unsigned int length) –整页读 RTC+EEPROM 的数据; Byte_Write_Eeprom(unsigned int address1,unsigned address0,unsigned int data) – 写 EEPROM 内的数据; Page_Write_Eeprom(unsigned int address1,unsigned int address0,unsigned int *data,unsigned int length) –整页写 EEPROM 内的数据; 3、函数详细说明: 1) 函数声明: void init_rtc (void) 函数功能: 初始化 RTC+EERPOM 参 数: 无 返 回 值: 无 例: #include " DEC2812.h" …… /* 初始化 RTC+EERPOM*/ init_ rtc (); …… 2) 函数声明: void Set_Rtc(unsigned int date,unsigned int year,unsigned int month,unsigned int day,unsigned int hour,unsigned int minute,unsigned int second) 函数功能: 设置 RTC 实时时钟的年、月、日、时、分、秒、星期 参 数: date: 星期 year: 年 month:月 day: 日 hour: 小时 minute: 分 second: 秒 返 回 值: 无 例: #include " DEC2812.h" …… /*设置 RTC 实时时钟的星期 1、03 年、11 月、17 日、12 时、30 分、51 秒*/ Set_Rtc(1,0x03,0x11,0x17,0x12,0x30,0x51);……. 3) 函数声明: unsigned int Read_Rtc_Data(unsigned int slave_address1,unsigned int slave_address0,unsigned int address1,unsigned int address0) 函数功能: 随机读 RTC+EERPOM 的数据 参 数: slave_address1: 写模式 0xde: RTC 实时时钟 0xae: EEPROM slave_address0:读模式 0xdf: RTC 实时时钟 0xaf: EEPROM address1: 高 1 位地址 address0: 低 8 位地址 返 回 值: RTC 数据 例: #include " DEC2812.h" …… /*读 RTC+EERPOM 的星期数据*/ RTC_Date = Read_Rtc_Data(0xde,0xdf,0,0x36); ……. 4) 函数声明: void Page_Read_Eeprom(unsigned int address1,unsigned int address0,unsigned int length) 函数功能: 整页读 RTC+EEPROM 的数据 参 数: address1: 高 1 位地址 address0: 低 8 位地址 length: 长度,大于 1 返 回 值: RTC_ReadData:将 RTC+EEPROM 的值读入到 RTC_ReadData 中, RTC_ReadData 为全局变量。 例: #include " DEC2812.h" …… /*将 0 地址开始的 EEPROM 空间数据读出*/ Page_Read_Eeprom(0,0,64); ……. 5) 函数声明: void Byte_Write_Eeprom(unsigned int address0,unsigned int data) 函数功能: 将 DATA 写入 EEPROM 内 参 数: address1: 高 1 位地址 address0: 低 8 位地址 data: 要写入 EEPROM 的数据 返 回 值: 无 例: #include " DEC2812.h" …… for(i1 = 0; i1 < 0x100; i1++) { /*将 0x55 写入 i1 地址*/ Byte_Write_Eeprom(0,i1,0x55); …… } ……. address1,unsigned 6) 函数声明: void Page_Write_Eeprom(unsigned int address1,unsigned int address0,unsigned int *data,unsigned int length) 函数功能: 整页写 EEPROM 内的数据 参 数: address1: 高 1 位地址 address0: 低 8 位地址 *data: 要写入 EEPROM 的数据 length: RTC <=8 EEPROM<=64 返 回 值: 无 例: #include " DEC2812.h" …… /*将 RTC_DATA[0]的数据写入 0 地址开始的 EEPROM 空间*/ Page_Write_Eeprom(0,0,&RTC_DATA[0],64); …….

Top_arrow
回到顶部
EEWORLD下载中心所有资源均来自网友分享,如有侵权,请发送举报邮件到客服邮箱bbs_service@eeworld.com.cn 或通过站内短信息或QQ:273568022联系管理员 高进,我们会尽快处理。