ADC Demo
ADCActivity.java
- packagecom.mini6410.ADC;
- importjava.util.Timer;
- importjava.util.TimerTask;
- importandroid.app.Activity;
- importandroid.os.Bundle;
- importandroid.os.Handler;
- importandroid.os.Message;
- importandroid.util.Log;
- importandroid.widget.TextView;
- importcom.friendlyarm.AndroidSDK.HardwareControler;
- importcom.mini6410.R;
- /**
- *
- *ClassName:ADCActivity
- *Reason:ADCDemo
- *
- *@authorsnowdream
- *@version
- *@sinceVer1.1
- *@Date20112012-03-1612:04
- *
- *@see
- */
- publicclassADCActivityextendsActivity{
- privatestaticfinalStringTAG="ADCActivity";
- /*刷新UI标记*/
- publicstaticfinalintUpdate_UI=0;
- /*计时器*/
- privateTimermTimer=null;
- privateTimerTaskmTimerTask=null;
- /*用来显示ADC返回值的控件*/
- privateTextViewmTextView_ADC=null;
- /*读取ADC的返回值*/
- privateintresult=0;
- @Override
- protectedvoidonCreate(BundlesavedInstanceState){
- super.onCreate(savedInstanceState);
- setContentView(R.layout.adcdemo);
- initUI();
- initData();
- }
- /**
- *
- *initUI:初始化UI
- *
- *@param
- *@return
- *@throws
- */
- privatevoidinitUI(){
- mTextView_ADC=(TextView)findViewById(R.id.TextView_adcresult);
- }
- /**
- *
- *initData:新建定时器,每隔500ms发出消息,通知Activity刷新UI一次。
- *
- *@param
- *@return
- *@throws
- */
- privatevoidinitData(){
- mTimer=newTimer();
- mTimerTask=newTimerTask(){
- @Override
- publicvoidrun(){
- /*调用底层库API读取ADC的值,正常情况下,返回ADC值,否则,出错,返回-1*/
- result=HardwareControler.readADC();
- if(-1==result){
- Log.e(TAG,"ReadADCError!");
- }else{
- Log.i(TAG,"readADCresult:"+result);
- mHandler.sendMessage(mHandler.obtainMessage(Update_UI));
- }
- }
- };
- mTimer.schedule(mTimerTask,0,500);
- }
- privateHandlermHandler=newHandler(){
- @Override
- publicvoidhandleMessage(Messagemsg){
- inttype=msg.what;
- switch(type){
- caseUpdate_UI:
- mTextView_ADC.setText(String.valueOf(result));
- break;
- default:
- break;
- }
- }
- };
- @Override
- protectedvoidonDestroy(){
- if(mTimer!=null){
- mTimer.cancel();
- mTimer=null;
- }
- super.onDestroy();
- }
- }
adcdemo.xml
- <?xmlversion="1.0"encoding="utf-8"?>
- <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:orientation="vertical">
- <TextView
- android:id="@+id/TextView_adctitle"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:gravity="center"
- android:text="@string/adcreslt"
- android:textSize="25sp"/>
- <TextView
- android:id="@+id/TextView_adcresult"
- android:layout_width="fill_parent"
- android:layout_height="130dip"
- android:gravity="center"
- android:text="0"
- android:textColor="@drawable/mediumvioletred"
- android:textSize="80sp"/>
- </LinearLayout>
预览效果: