LinuxAD采样多线程.docx
《LinuxAD采样多线程.docx》由会员分享,可在线阅读,更多相关《LinuxAD采样多线程.docx(8页珍藏版)》请在第壹文秘上搜索。
1、嵌入式系统原理及应用试验报告试验六六线程试脸和AD试验院(系)专业小组成员成绩指导老师年月一试验要求1 .参考试验指导书多线程试验和AD试验,分析源码。2 .编写AD采集多线程程序,实现以卜功能:1)线程1:在循环中对指定的AD通道进行转换和显示,显示格式为:ADX=*.*V。其中X为通道号0-2,初始值为0。每循环一次延时300ms。2)线程2:接受用户输入,当输入数值0-2时表示指定AD通道线程1的通道号要随指定值变更;当输入字符S时显示暂停:输入ESC时程序终止退出。输入其他键值时维持原状。3 .扩展部分:将线程1分为2个线程,一个用来计算,一个用来显示。2.1 试验步骤1将编成完的程序
2、打包放入虚拟机192.168.0.10arm2410s:2将arm2410s挂载到开发板中新建的host文件夹里3进入到虚拟机的文件夹里make,生成.。文件4进入串口连接开发板中运行三试验程序# bythreewater*2019.06.18ftinclude#include# includeinclude# includeeinclude# include*include”s3c2410-adc.h#defineADC_DEV”dcvadcOraw”staticintadc_fd=-1;staticintinit_ADdevice(void)if(adc_fd=open(DC-DEV,(1
3、.RDHR)0)printf(wErroropening%sadcdevicen*,ADJDEV);return-1;staticintGelADreSUll(intchannel)intprescle=oxff:intdata=ADC_WRITE(channcl,PRESCA1.E);write(adc_fd,ftdata,sizeof(data);read(adc_fd,&data,sizeof(data);returndata:staticintstop=0;intadc_num;intch;*esc退出*/staticvoid*comMonitor(void*data)while(l)
4、if(ch=27)stop=l;exit(1);break;returnNU1.1.;/*采样0、2路A/D值*/intadn;intpausenum=O;void*show(void*data)floatd;while(adn=0ladn=lIadn=2)采样02路A/D值while(stop=0)while(pausenum=O)d=(float)GetADresult(adn)*3.3)/1024.O;printf(*CH%d=%8.4fvt*,adn,d):usleep(l):printfr*);break;*a,b,c显示02路*/void*input(void*data)charc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- LinuxAD 采样 多线程