资源简介
K60程序,苏州大学源代码,学习嵌入式很有用的学习资料
代码片段和文件信息
//============================================================================
//文件名称:hw_adc.c
//功能概要:adc构件源文件
//版权所有:苏州大学飞思卡尔嵌入式中心(sumcu.suda.edu.cn)
//版本更新:2011-11-13 V1.0 初始版本
// 2011-11-21 V1.1 规范排版风格
//============================================================================
#include “hw_adc.h“
//============================================================================
//函数名称:hw_adc_init
//函数返回:0 成功 ,1 失败
//参数说明:MoudelNumber:模块号
//功能概要:AD初始化
//============================================================================
uint8 hw_adc_init(int MoudelNumber)
{
if(MoudelNumber == 0)//模块0
{
//打开ADC0模块时钟
SIM_SCGC6 |= (SIM_SCGC6_ADC0_MASK );
}
else if(MoudelNumber == 1)//模块1
{
//打开ADC1模块时钟
SIM_SCGC3 |= (SIM_SCGC3_ADC1_MASK );
}
else
{
return 0;
}
return 1;
}
//============================================================================
//函数名称:hw_ad_once
//函数返回:16位无符号的AD值
//参数说明:MoudelNumber:模块号
// Channel:通道号
// accuracy:精度
//功能概要:采集一次一路模拟量的AD值
//============================================================================
uint16 hw_adc_once(int MoudelNumberint Channeluint8 accuracy)//采集某路模拟量的AD值
{
uint16 result = 0;
uint8 ADCCfg1Mode = 0;
ADC_MemMapPtr ADCMoudel;//保存ADC模块地址指针
switch(accuracy)
{
case 8:
ADCCfg1Mode = 0x00;
break;
case 12:
ADCCfg1Mode = 0x01;
break;
case 10:
ADCCfg1Mode = 0x02;
break;
case 16:
ADCCfg1Mode = 0x03;
break;
default:
ADCCfg1Mode = 0x00;
}
if(MoudelNumber==0)//选择ADC模块0
{
ADCMoudel = ADC0_base_PTR;
}
else //选择ADC模块1
{
ADCMoudel = ADC1_base_PTR;
}
//配置正常电源模式,总线时钟,总线时钟4分频,长采样时间使能,设置精度
ADC_CFG1_REG(ADCMoudel) = ADLPC_NORMAL
| ADC_CFG1_ADIV(ADIV_4)
| ADLSMP_LONG
| ADC_CFG1_MODE(ADCCfg1Mode)
| ADC_CFG1_ADICLK(ADICLK_BUS);
//配置禁止异步时钟使能输出,ADxxat通道选择,高速配置,长采样时间
ADC_CFG2_REG(ADCMoudel) = MUXSEL_ADCA
| ADACKEN_DISABLED
| ADHSC_HISPEED
| ADC_CFG2_ADLSTS(ADLSTS_20) ;
//设置通道号
ADC_SC1_REG(ADCMoudelA) = AIEN_ON | DIFF_SINGLE | ADC_SC1_ADCH(Channel);
//等待转换完成
while (( ADC_SC1_REG(ADCMoudelA) & ADC_SC1_COCO_MASK ) != ADC_SC1_COCO_MASK)
{
}
//读取转化结果
result = ADC_R_REG(ADCMoudelA);
//清ADC转换完成标志
ADC_SC1_REG(ADCMoudelA) &= ~ADC_SC1_COCO_MASK;
return result;
}
//============================================================================
//函数名称:hw_ad_mid
//函数返回:16位无符号的AD值
//参数说明:MoudelNumber:模块号
// Channel:通道号
// accuracy:精度
//功能概要:中值滤波后的结果(范围:0-4095)
//============================================================================
uint16 hw_adc_mid(int MoudelNumberint Channeluint8 accurac
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1153 2011-12-26 09:17 K60苏州大学程序\Wdog\subdir.mk
文件 817 2011-12-26 09:17 K60苏州大学程序\Wdog\wdog.args
文件 1754 2011-04-13 20:21 K60苏州大学程序\Wdog\wdog.c
文件 1643 2011-12-26 09:17 K60苏州大学程序\Wdog\wdog.d
文件 1499 2011-10-28 22:54 K60苏州大学程序\Wdog\wdog.h
文件 4056 2011-12-26 09:17 K60苏州大学程序\Wdog\wdog.obj
文件 30527 2011-12-22 15:40 K60苏州大学程序\USB\hw_usb.c
文件 10679 2011-12-20 19:32 K60苏州大学程序\USB\hw_usb.h
文件 817 2011-12-26 09:17 K60苏州大学程序\UART\hw_uart.args
文件 9637 2011-12-27 17:14 K60苏州大学程序\UART\hw_uart.c
文件 1652 2011-12-26 09:17 K60苏州大学程序\UART\hw_uart.d
文件 4435 2011-12-26 17:23 K60苏州大学程序\UART\hw_uart.h
文件 15312 2011-12-26 09:17 K60苏州大学程序\UART\hw_uart.obj
文件 1183 2011-12-26 09:17 K60苏州大学程序\UART\subdir.mk
文件 6013 2011-12-22 19:46 K60苏州大学程序\TSI\hw_tsi.c
文件 6261 2011-12-22 19:13 K60苏州大学程序\TSI\hw_tsi.h
文件 935 2012-03-19 17:32 K60苏州大学程序\settings\K60.cspy.bat
文件 63 2012-03-19 17:36 K60苏州大学程序\settings\K60.dbgdt
文件 514 2012-03-19 17:36 K60苏州大学程序\settings\K60.dni
文件 40230 2011-12-29 14:33 K60苏州大学程序\SDHC\hw_sdhc.c
文件 10292 2011-12-29 13:28 K60苏州大学程序\SDHC\hw_sdhc.h
文件 3562 2011-12-28 21:46 K60苏州大学程序\RTC\hw_rtc.c
文件 2760 2011-12-28 21:47 K60苏州大学程序\RTC\hw_rtc.h
文件 2952 2011-12-28 13:45 K60苏州大学程序\PIT\hw_pit.c
文件 1990 2011-12-28 13:57 K60苏州大学程序\PIT\hw_pit.h
文件 3269 2011-12-27 22:02 K60苏州大学程序\PDB\hw_pdb.c
文件 2421 2011-12-27 16:14 K60苏州大学程序\PDB\hw_pdb.h
文件 7305 2012-01-03 13:18 K60苏州大学程序\LPTMR\hw_lptmr.c
文件 4327 2012-01-03 13:18 K60苏州大学程序\LPTMR\hw_lptmr.h
文件 12084 2011-11-26 14:23 K60苏州大学程序\I2C\hw_i2c.c
............此处省略54个文件信息
评论
共有 条评论