/*****************************************************************************
FILENAME: ESAM.C
DESIGNER:
DATE: 2009/07/29
******************************************************************************/
#include <stdio.h>
#include <csl.h>
#include <csl_irq.h>
#include <csl_chip.h>
#include <csl_gpio.h>
#include "ESAM.h"
static Uint32 gpgc = GPIO_GPGC_RMK(
GPIO_GPGC_GP0M_GPIOMODE,
GPIO_GPGC_GPINT0M_DEFAULT,
GPIO_GPGC_GPINTPOL_DEFAULT,
GPIO_GPGC_LOGIC_DEFAULT,
GPIO_GPGC_GPINTDV_DEFAULT
);
static Uint32 gpen = GPIO_GPEN_OF(0x8840);
static Uint32 gpdir = GPIO_GPDIR_OF(0x0800);
static Uint32 gpval = GPIO_GPVAL_OF(0x0800);
static Uint32 gphm = GPIO_GPHM_RMK(GPIO_GPHM_GPXHM_DEFAULT);
static Uint32 gplm = GPIO_GPLM_RMK(GPIO_GPLM_GPXLM_DEFAULT);
static Uint32 gppol = GPIO_GPPOL_RMK(GPIO_GPPOL_GPINTXPOL_OF(0x00));
GPIO_Handle hGpio;
unsigned int count = 0;
void main()
{
int i;
//初始化CSL
CSL_init();
//关闭总中断
IRQ_globalDisable();
//打开GPIO句柄
hGpio = GPIO_open(GPIO_DEV0,GPIO_OPEN_RESET);
//GPIO配置
GPIO_configArgs(hGpio,gpgc,gpen,gpdir,gpval,gphm,gplm,gppol);
//初始化参数
Init_Variable();
//设置中断矢量表地址
IRQ_setVecs(vectors);
//设置中断通道
IRQ_map(IRQ_EVT_EXTINT6,6);
//中断使能
IRQ_enable(IRQ_EVT_EXTINT6);
//使能NMI中断
IRQ_nmiEnable();
//打开总中断
IRQ_globalEnable();
//复位ESAM
Reset_Esam(&signal[0]);
for(i = 0;i<13;i++)
{
printf("recieve data is : 0x%x\n",signal[i]);
}
for(;;)
{
}
}
/**********************************************************************
函数名: Init_Variable()
功能: 初始化ESAM参数
参数: 无
返回值: 无
**********************************************************************/
void Init_Variable(void)
{
delay_time_flag = 0;
}
/**********************************************************************
函数名: Reset_Esam()
功能: 对Esam卡复位,并取得返回的复位应答信息
参数: DataPtr:指向存放序列号的数组的指针
返回值: 返回
**********************************************************************/
unsigned int Reset_Esam(unsigned int *DataPtr)
{
unsigned int i;
//复位PIN为低
GPIO_pinWrite(hGpio,GPIO_PIN11,0);
//启动200CLK记数
Delay_Time(200);
//打开ESAM_IO控制方向为输入
GPIO_pinDirection(hGpio,GPIO_PIN15,GPIO_INPUT);
//启动200个CLK记数
Delay_Time(200);
//ESAM的RST退出
GPIO_pinWrite(hGpio,GPIO_PIN11,1);
//读ESAM复位应答信号
Read_ESAM(response_data,13);
//
for(i = 0; i < 13; i++)
{
*(DataPtr+i) = response_data[i];
}
//获取状态字
return 0x9000;
}
void Delay_Time(unsigned int count)
{
delay_time_flag = 1;
clock_count = 0;
//判断延时时间到否
do{
}while(clock_count != count);
//
delay_time_flag = 0;
}
void Read_ESAM(unsigned int *data,unsigned int length)
{
unsigned int i;
GPIO_pinDirection(hGpio,GPIO_PIN15,GPIO_INPUT);
//延时
for(i = 0; i < 100; i++);
for(i = 0; i < length; i++)
{
UART_Data_Read();
*(data+i) = return_value;
}
}
void UART_Data_Read(void)
{
unsigned int i,temp = 0;
while(GPIO_pinRead(hGpio,GPIO_PIN15) == 0);
while(GPIO_pinRead(hGpio,GPIO_PIN15) == 1);
//UART通讯协议的START位,9600波特率记时开始
Delay_Time(UART_9600BPS+UART_9600BPS/2);
//读ESAM的数据
for(i = 0; i < 8; i++)
{
//读
if(GPIO_pinRead(hGpio,GPIO_PIN15) == 1)
{
temp = temp | (1 << i);
}
//延时
Delay_Time(UART_9600BPS);
}
//判断是否为偶校验
if(GPIO_pinRead(hGpio,GPIO_PIN15) == 0)
{
// for(;;);
}
return_value = temp;
}
interrupt void extern_int(void)
{
if(delay_time_flag == 1)
{
clock_count++;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
ESAM.rar_ESAM-interface_TMS320c6416_esam
共90个文件
h:63个
lib:2个
obj:2个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 172 浏览量
2022-09-20
21:11:50
上传
评论
收藏 502KB RAR 举报
温馨提示
TMS320C6416 ESAM的程序,希望对大家有用
资源详情
资源评论
资源推荐
收起资源包目录
ESAM.rar (90个子文件)
ESAM
vectors.asm 4KB
csl6416e.lib 137KB
Debug.lkv 400B
ESAM.CS_
SYMBOL.DBF 157KB
FILE.CDX 3KB
FILE.FPT 1KB
FILE.DBF 770B
SYMBOL.FPT 301KB
SYMBOL.CDX 173KB
DEC6416.gel 4KB
include
csl_stdinchal.h 4KB
csl_atl.h 4KB
csl_pci.h 13KB
csl_i2c.h 16KB
csl_legacyhal.h 396KB
csl_pcihal.h 39KB
csl_dma.h 14KB
csl_emuhal.h 8KB
csl_irqhal.h 9KB
csl_vcp.h 12KB
csl_hpihal.h 9KB
csl_tcphal.h 35KB
csl_pll.h 11KB
csl_emifahal.h 32KB
csl_pwrhal.h 6KB
csl_gpio.h 14KB
csl_vcphal.h 27KB
csl_tcp.h 21KB
csl_chip.h 7KB
csl_vphal.h 334KB
csl_mcasphal.h 271KB
csl_timer.h 8KB
csl_vp.h 29KB
csl_mcbsphal.h 79KB
csl_emifb.h 7KB
csl_dat_.sa 45KB
csl_dat.h 5KB
csl_utophal.h 17KB
csl_hpi.h 5KB
csl_timerhal.h 16KB
csl_mdio.h 6KB
csl_emu.h 3KB
csl_emifbhal.h 30KB
csl_emac.h 28KB
csl_pwr.h 4KB
csl_stdinc.h 2KB
csl_mdiohal.h 19KB
csl_atlhal.h 8KB
csl_mcasp.h 55KB
csl_emifhal.h 30KB
csl_chiphal.inc 8KB
flash.H.bak 920B
csl_vic.h 4KB
csl_xbus.h 6KB
csl_chiphal.h 84KB
csl_dmahal.h 45KB
csl_i2chal.h 64KB
csl.h 5KB
csl_gpiohal.h 34KB
csl_pllhal.h 22KB
csl_xbushal.h 15KB
csl_gpioleg.h 1KB
csl_legacy.h 30KB
csl_cache.h 14KB
csl_mcbsp.h 16KB
csl_utop.h 8KB
flash.H 912B
csl_irq.h 12KB
csl_vichal.h 7KB
csl_edmahal.h 65KB
csl_emif.h 6KB
csl_emifa.h 7KB
csl_emachal.h 94KB
csl_edma.h 25KB
csl_cachehal.h 74KB
ESAM.pjt 1KB
Debug.lkf 552B
SeedDes.c 2KB
ESAM.C 4KB
rts6400e.lib 379KB
C641x_ESAM.cmd 247B
ESAM.paf 3KB
ESAM.H 745B
ESAM.paf2 3KB
Debug
ESAM.obj 17KB
vectors.obj 3KB
ESAM.map 17KB
ESAM.out 69KB
ESAM.sbl 3KB
cc_build_Debug.log 610B
共 90 条
- 1
weixin_42653672
- 粉丝: 93
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0