ATMEGA128 모듈에 연결
WAT-AVR128 모듈의 PORTA는 LED, PORTB는 DIP SWITCH, PORTC는 FND SELECT, PORTE는 FND DATA, PORTE는 ADC 에 연결하여 PC 프로그램에서 제어 및 상태를 실시간으로 모니터링 하는 예제입니다.
| WAT-AVR128 모듈 | WAT-IO&ADC 모듈 | 
| PORTA | FND DATA | 
| PORTB | |
| PORTC | FND SELECT, ROTARY SWITCH | 
| PORTD | DIP SWITCH | 
| PORTE | LED | 
| PORTF | ADC | 
윈도우 코드(VC++ 6.0) (통신 처리 부분)
| try { // 이번에 수신된 데이터 m_byteArray(QUEUE) 에 넣기 for( int i=1; i<=nRcvSize; i++ ) { m_byteArray.Add(m_CommPort.m_byRcvBuf[i]); } 
 // 시작 신호 체크 while(m_byteArray.GetSize()>0) { if(m_byteArray.GetAt(0) != 0x02) { m_byteArray.RemoveAt(0); continue; } else { break; } } 
 CString strData; CString strTemp; if(m_byteArray.GetSize()>=10) { if(m_byteArray.GetAt(0) == 0x02 && m_byteArray.GetAt(9) == 0x03) { // DIP SWITCH 체크 byteTemp = m_byteArray.GetAt(1); 
 UpdateData(TRUE); m_bDIP8 = ((byteTemp & 0x80)!=0x80); m_bDIP7 = ((byteTemp & 0x40)!=0x40); m_bDIP6 = ((byteTemp & 0x20)!=0x20); m_bDIP5 = ((byteTemp & 0x10)!=0x10); m_bDIP4 = ((byteTemp & 0x08)!=0x08); m_bDIP3 = ((byteTemp & 0x04)!=0x04); m_bDIP2 = ((byteTemp & 0x02)!=0x02); m_bDIP1 = ((byteTemp & 0x01)!=0x01); 
 // 로터리 스위치 값 읽기 m_strRotary.Format("%d",m_byteArray.GetAt(2)); 
 // CDS 값 읽기 uiTemp = m_byteArray.GetAt(3); uiTemp <<=8; uiTemp += m_byteArray.GetAt(4); m_prgCDS.SetPos(1023 - uiTemp); 
 // 가변저항 값 읽기 uiTemp = m_byteArray.GetAt(5); uiTemp <<=8; uiTemp += m_byteArray.GetAt(6); m_prgVR.SetPos(1023 - uiTemp); 
 // 화면 갱신 UpdateData(FALSE); } 
 // 마지막에 처리한 데이터 보기 for(int i=0;i<10;i++) { strTemp.Format( "%02X ", m_byteArray.GetAt(i) ); strData+=strTemp+ " "; } strData+= "\n"; 
 m_byteArray.RemoveAt(0,10); } 
 m_ReceiveData = strData; UpdateData(FALSE); 
 } catch (CException* ) { 
 } | 
윈도우 프로그램에서 FND에 5634, LED 모두 OFF 값을 전송하며 ATMEGA128 보드에서 딥 스위치4번 OFF, CDS값 최대, 가변저항 값 최소, 로터리 스위치 값 3을 전송되면 아래와 같이 됩니다.
< WAT-IO&ADC에 연결한 윈도우 프로그램 >
윈도우 프로그램에서 FND에 5667, LED 3,5,7번 ON 값을 전송하며 ATMEGA128 보드에서 딥 스위치1,3,5,7,번 ON, CDS값 최대, 가변저항 값 최대, 로터리 스위치 값 9을 전송되면 아래와 같이 됩니다.
다운로드
매뉴얼:  WAT-IO_ADC매뉴얼.pdf
 WAT-IO_ADC매뉴얼.pdf
- [2015/01/08] Character LCD 예제 (3815)
- [2014/11/28] 간단한 유니폴라 스텝모터 구동 (3971)
- [2014/11/28] 컴퓨터-아두이노 간의 블루투스 통신 (채팅) (4900)
- [2013/04/11] WAT-AVR128_PLUS 모듈 (4791)
- [2012/12/03] WAT-AVR128 EXT (AVR128용 확장보드) (4638)
- [2011/10/27] WAT-USB AVR ISP (7054)
- [2011/10/27] WAT-AVR128 모듈 (6016)
- [2013/10/30] ZEO-S, CDS로 빛 밝기 -> LED ON/OFF (9270)
- [2013/09/02] ZEO-S PWM 펄스를 Pulse Counter로 읽기, C# (7072)
- [2013/08/29] ZEO-S, Pulse Counter, C# (6570)

 
	
		 


 
    
 
    
 
     
