资源简介
含有红外测距模块(GP2Y0A21K0F)的详细资料,并附有测试程序,原理图。程序仅供参考
代码片段和文件信息
#include “systemInit.h“
#include “uartGetPut.h“
#include
#include
#define ADCSequEnable ADCSequenceEnable
#define ADCSequDisable ADCSequenceDisable
#define ADCSequConfig ADCSequenceConfigure
#define ADCSequStepConfig ADCSequenceStepConfigure
#define ADCSequDataGet ADCSequenceDataGet
tBoolean ADC_EndFlag = false; // 定义ADC转换结束的标志
// ADC初始化
void adcInit(void)
{
SysCtlPeriEnable(SYSCTL_PERIPH_ADC); // 使能ADC模块
SysCtlADCSpeedSet(SYSCTL_ADCSPEED_125KSPS); // 设置ADC采样速率
ADCSequDisable(ADC_base 0); // 配置前先禁止采样序列
// 采样序列配置:ADC基址,采样序列编号,触发事件,采样优先级
ADCSequConfig(ADC_base 0 ADC_TRIGGER_PROCESSOR 0);
// 采样步进设置:ADC基址,采样序列编号,步值,通道设置
ADCSequStepConfig(ADC_base 0 0 ADC_CTL_CH0 |
ADC_CTL_END |
ADC_CTL_IE);
ADCIntEnable(ADC_base 0); // 使能ADC中断
IntEnable(INT_ADC0); // 使能ADC采样序列中断
IntMasterEnable(); // 使能处理器中断
ADCSequEnable(ADC_base 0); // 使能采样序列
}
// ADC采样
unsigned long adcSample(void)
{
unsigned long ulValue;
ADCProcessorTrigger(ADC_base 0); // 处理器触发采样序列
while (!ADC_EndFlag); // 等待采样结束
ADC_EndFlag = false; // 清除ADC采样结束标志
ADCSequDataGet(ADC_base 0 &ulValue); // 读取ADC转换结果
return(ulValue);
}
float R;
// 主函数(程序入口)
int main(void)
{
float ulValsum=0;
char cBuf[30]s[30];
int i;
jtagWait(); // 防止JTAG失效,重要!
clockInit(); // 时钟初始化:PLL,20MHz
uartInit(); // UART初始化
adcInit(); // ADC初始化
for (;;)
{
for(i=0;i<50;i++)
{
ulVal = adcSample();
sum=sum+ulVal;
}
sum/=50.0; // ADC采样
sum = (sum * 3) / 1024; // 转换成电压值
sprintf(s “电压= %f v\r\n“ sum); // 输出格式化
uartPuts(s); // 通过UART显示结果
R=(1/(sum*1024/3*0.0000823+0.0007))-4;
sprintf(cBuf “R =%f(cm)\r\n“ R); // 输出格式化
uartPuts(cBuf); // 通过UART显示结果
sum=0;
SysCtlDelay(1500 * (TheSysClock / 3000)); // 延时约1500ms
}
}
// ADC采样序列0的中断
void ADC_Sequence_0_ISR(void)
{
unsigned long ulStatus;
ulStatus = ADCIntStatus(ADC_base 0 true); // 读取中断状态
ADCIntClear(ADC_base 0);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2020-04-23 00:54 红外测距模块资料\
文件 1173451 2010-07-17 17:08 红外测距模块资料\GP2D12-enchiridion-0417.pdf
文件 63039 2010-07-18 19:42 红外测距模块资料\GP2D12_IC-ON-LINE.CN.pdf
目录 0 2010-08-23 11:47 红外测距模块资料\测距\
文件 6599 2010-08-23 11:46 红外测距模块资料\测距\Demo.dep
文件 38378 2010-08-22 20:47 红外测距模块资料\测距\Demo.ewd
文件 43293 2010-08-22 20:47 红外测距模块资料\测距\Demo.ewp
文件 158 2008-07-02 15:19 红外测距模块资料\测距\Demo.eww
文件 3453 2010-08-23 11:44 红外测距模块资料\测距\main.c
文件 9201 2008-11-20 18:04 红外测距模块资料\测距\startup_ewarm.c
文件 1723 2008-11-20 17:34 红外测距模块资料\测距\systemInit.c
文件 749 2008-10-27 14:54 红外测距模块资料\测距\systemInit.h
文件 2926 2008-10-27 11:19 红外测距模块资料\测距\uartGetPut.c
文件 442 2008-10-06 08:51 红外测距模块资料\测距\uartGetPut.h
目录 0 2010-08-23 10:37 红外测距模块资料\红外测距\
文件 30806 2009-08-26 08:35 红外测距模块资料\红外测距\2849_SHARP_GP2D12.pdf
文件 27648 2010-08-22 21:55 红外测距模块资料\红外测距\2D12我们的.xls
文件 149134 2009-08-26 08:49 红外测距模块资料\红外测距\AN004-GP2D12.pdf
文件 72192 2009-08-26 10:05 红外测距模块资料\红外测距\GP2D12 在机器人足球中的应用.doc
文件 65266 2009-08-26 09:04 红外测距模块资料\红外测距\GP2D12-DATASHEET-YIXUETONG.pdf
文件 290782 2009-08-26 20:11 红外测距模块资料\红外测距\GP2D121.pdf
目录 0 2010-08-21 10:23 红外测距模块资料\红外测距\Linearizing Sharp Ranger Data.files\
文件 60020 2009-08-26 14:00 红外测距模块资料\红外测距\Linearizing Sharp Ranger Data.files\R144-GP2Y0A02YK.jpg
文件 58622 2009-08-26 14:00 红外测距模块资料\红外测距\Linearizing Sharp Ranger Data.files\R146-GP2D120.jpg
文件 31824 2009-08-26 14:00 红外测距模块资料\红外测距\Linearizing Sharp Ranger Data.files\R302-GP2Y0A700K0F.jpg
文件 58630 2009-08-26 14:00 红外测距模块资料\红外测距\Linearizing Sharp Ranger Data.files\R48-IR12.jpg
文件 10752 2010-08-21 10:23 红外测距模块资料\红外测距\Linearizing Sharp Ranger Data.files\Thumbs.db
文件 9607 2009-08-26 14:13 红外测距模块资料\红外测距\Linearizing Sharp Ranger Data.files\a.css
文件 878 2009-08-26 14:00 红外测距模块资料\红外测距\Linearizing Sharp Ranger Data.files\a.js
文件 4992 2009-08-26 14:00 红外测距模块资料\红外测距\Linearizing Sharp Ranger Data.files\basket.jpg
文件 40502 2009-08-26 14:00 红外测距模块资料\红外测距\Linearizing Sharp Ranger Data.files\irlinear-fig1.jpg
............此处省略23个文件信息
评论
共有 条评论