TinyOS操作系统开发技术及实践(西电版)实践3平台移植

TinyOS操作系统开发技术及实践(西电版)实践3平台移植

ID:41287795

大小:872.50 KB

页数:33页

时间:2019-08-21

TinyOS操作系统开发技术及实践(西电版)实践3平台移植_第1页
TinyOS操作系统开发技术及实践(西电版)实践3平台移植_第2页
TinyOS操作系统开发技术及实践(西电版)实践3平台移植_第3页
TinyOS操作系统开发技术及实践(西电版)实践3平台移植_第4页
TinyOS操作系统开发技术及实践(西电版)实践3平台移植_第5页
资源描述:

《TinyOS操作系统开发技术及实践(西电版)实践3平台移植》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实践3平台移植实践指导实践指导 实践3.G.1ADC驱动的开发。【分析】(1)通过ADC(数模转换)驱动的开发理解发布平台上驱动开发的一般方法。(2)根据ADC特点,设计ADC驱动,包括ADC接口、实现接口的模块、提供接口的配件。(3)编写应用程序,测试ADC驱动。(4)将ADC驱动移动到平台的驱动目录中。(5)将驱动目录位置加入到“.platform”文件中。(6)重新编译应用程序,测试ADC驱动。【参考解决方案】1.程序目录建立在cygwin的“opt/mytinos/apps/”目录下建立“AdTest”目录。2.ADC驱动设计在“opt/mytinos/apps/A

2、dTest/”目录下建立4个文件:Adc.h:定义与ADC控制相关的宏和常量。AdcControl.nc:ADC接口文件。AdcP.nc:实现ADC接口的模块文件。AdcC.nc:ADC配件文件,用于封装AdcP模块,以对外提供ADC的控制。编写Adc.h文件,代码如下://设置ADCCON3寄存器#defineADC_SINGLE_CONVERSION(settings) do{ADCCON3=settings;}while(0) //设置ADCCON2寄存器#defineADC_SEQUENCE_SETUP(settings) do{ADCCON2=settings

3、;}while(0) //参考电压常量#defineADC_REF_1_25_V0x00 #defineADC_REF_P0_70x40 #defineADC_REF_AVDD0x80 #defineADC_REF_P0_6_P0_70xC0//分辨率(精度): #defineADC_8_BIT0x00 #defineADC_10_BIT0x10 #defineADC_12_BIT0x20 #defineADC_14_BIT0x30 //输入通道#defineADC_AIN00x00 #defineADC_AIN10x01 #defineADC_AIN20x02 #defin

4、eADC_AIN30x03 #defineADC_AIN40x04 #defineADC_AIN50x05 #defineADC_AIN60x06 #defineADC_AIN70x07#defineADC_AIN0_AIN10x08 #defineADC_AIN2_AIN30x09 #defineADC_AIN4_AIN50x0A #defineADC_AIN6_AIN70x0B #defineADC_GND0x0C #defineADC_PVR0x0D #defineADC_TEMP_SENS0x0E #defineADC_VDD_30x0F//------------

5、----------------------------------------------------------------- //开启ADC连续转换#defineADC_SAMPLE_CONTINUOUS() do{ADCCON1&=~0x30;ADCCON1

6、=0x10;}while(0) //停止ADC的连续转换#defineADC_STOP() do{ADCCON1

7、=0x30;}while(0) //初始化单端输入的ADC转换#defineADC_SAMPLE_SINGLE() do{ADC_STOP();ADCCON1

8、=0x40;}while(0)

9、//设置ADC从通道0开始#defineADC_TRIGGER_FROM_TIMER1()do{ADC_STOP();ADCCON1 &=~0x10;}while(0) //判断转换是否结束#defineADC_SAMPLE_READY()(ADCCON1&0x80) //设置或清除ADC通道#defineADC_ENABLE_CHANNEL(ch)ADCCFG

10、=(0x01<

11、*启用ADC. *@参数reference–参考电压 *@参数resolution–精度(分辨率) *@参数input–通道 */ commandvoidenable(uint8_treference,uint8_tresolution,uint8_tinput); /** *停用ADC */ commandvoiddisable(); }(3)编写AdcP模块,用于实现AdcControl接口,代码如下:#include"Adc.h" #defineADC_MAX_RETRY0x7fff module

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。