LCD에 핀헤더 연결방법
lcd를 처음 구입하면 보드에 구멍만 뚫려있습니다

거기에 위의 핀헤더를 납땝하는 것입니다.

그러면 위와 같은 모양이 됩니다.

아래부분은 긴 다리를 가지고 있고 이부분을 브레드보드등에 끼워 사용할수 있습니다.

필요에 따라 핀헤더 대신 와이어를 연결하고 와이어 끝에 핀헤더를 연결하는 것이 편할수도 있습니다.



회로를 구성하다보면 재사용해야할 부품들이 있다.
주로 비싼 부품들인데...avr이라던지 (LCD)모듈들이라던지 전원, 모터 등등...
이런 부품들을 납땜으로 고정하지 않고 그때 그때 교체하기 쉽게 할수 있는 방법이 핀헤더와 소켓이다.

이것이 핀 헤더이다. 짧은 쪽에 부품 또는 전선을 납땜한다.

이것이 핀 소켓이다. 핀 부분에 부품 또는 전선을 납땜한다.

그리고 위의 핀 헤더의 긴부분을 소켓의 홈에 끼워 연결하는 것이다.

또는 핀 헤더만 납땜하여 브레드 보드에 끼워 사용하기도 한다.


서보모터가 생겨서 아두이노로 한번 돌려봤습니다.

생각보다 무지 간단하네요.
서보에 3가닥 선으로 되어 있습니다.
+- 전원 두가닥과 신호선 1가닥입니다.
전원선은 각각 5V(Vcc)와 GND에 연결하고, 나머지 1개 신호선은 PWM핀 아무거나에 연결하면 됩니다.
저는 10번핀에 연결했습니다.

서보모터에는 톱니가 있는 축으로 되어 있는데 가운데 구멍이 있길래...돌아가는거 잘 보이라고 않에 와이어를 꽂아 봤습니다.

간단하지요?




역시 폰카입니다...ㅜㅜ

소스는 arduino.cc의 servo 샘플소스입니다. 출처: http://arduino.cc/en/Tutorial/Sweep

myservo.write(pos); 함수에 pos에 각도만 주면 그 각도로 움직이네요.
서보모터의 회전 범위 역시 0 ~ 180도로 회전하네요.

별거는 아니지만 ATTiny26으로 장난감을 만들어봤습니다.
애들 신발에 붙이려고 만들었으나......^^;;;

만능기판에 대충 땜질했습니다...그래봐야 led와 저항이 대부분이고 
나머지는 기울기 스위치하나 3v 동전전지 케이스가 전부네요. 전지 케이스를 너무 큰걸 샀네요.

브레드보드에서 테스트했을때는 잘 되서 무작정 만능기판에 납땜했는데
납땜이 끝나고 전지로 하니 동작을 안하지 멉니까...OTL

원인을 몰라 아두이노 카페분들에게 도움을 얻은 결과 led를 싱크로 연결해보라는 조언을 듣고 그렇게  하니 동작이 잘 됩니다.

led를 전부 거꾸로 다시 연결하느라 배선이 난장판이 됐습니다.
머...첨에도 그리 깨끗하진 않았습니다만...^^;

포멕스로 나름 깔끔하게 케이스를 만들어보려고 했으나....좌절...
깨끗하게 안잘라 지더구요...어떻게 잘라야 깨끗하게 자르는지 아시는분 조언좀 해주세요



(핸드폰 동영상이라서 화일이 않좋습니다. 이해해 주세요 ^^)
기울기 스위치가 민감해서 약간의 충격만으로도 스위치가 동작합니다.


일단 이렇게 완성은 했으나....
와이프가 보더니..."이렇게 큰걸 어떻게 신발에 달아!!"
여기서 한번더 좌절 OTL
무심코 던진돌에 개구리가 맞아 죽는다는....

그래서 운동화에 다는건 포기했습니다. ㅠㅠ
시간 될때 작게 다시 만들어봐야겠습니다. smd를 써야 하나....

추가 : 요청으로 회로도를 그려봤습니다.
죄송합니다. 아직 회로도 프로그램을 못다루는 관계로 발로 그렸습니다. 그래도 도움이 되셨으면 합니다. ㅠㅠ



$regfile = "attiny26.dat"
$crystal = 8000000

Dim I As Byte
Dim J As Byte
Dim Sw As Bit
Sw = 0
Dim Swold As Bit
Swold = 0
Dim Interval As Integer
Interval = 4

Config Porta = Output
Config Portb.0 = Output
Config Portb.1 = Output
Config Portb.2 = Output
Config Portb.3 = Output
Config Pinb.6 = Input

Set Porta
Set Portb.0
Set Portb.1
Set Portb.2
Set Portb.3

Do
   If Pinb.6 = 1 Then
      Set Sw
   Else
      Reset Sw
   End If

   If Sw <> Swold Then
      For J = 0 To 3
         For I = 0 To 3
           Reset Porta.i
           Waitms Interval
           Set Porta.i
           Waitms Interval
         Next I
         For I = 3 To 0 Step -1
           Reset Portb.i
           Waitms Interval
           Set Portb.i
           Waitms Interval
         Next I

         For I = 3 To 0 Step -1
           Reset Porta.i
           Waitms Interval
           Set Porta.i
           Waitms Interval
         Next I
         For I = 0 To 3
           Reset Portb.i
           Waitms Interval
           Set Portb.i
           Waitms Interval
         Next I
      Next J
      Swold = Sw
   End If
Loop
  1. 윤영준 2009.08.12 09:15

    smd에 기판 떠서 작업해야 신발에 들어가겠군요.ㅋㅋ
    걸리버 신발이라면 가능~~
    잘봤습니다. ^^;

    • BlogIcon pepsiman 2009.08.12 09:19 신고

      걸리버....윤영준님까지....
      계속되는 데미지 누적 ㅠㅠ

    • BlogIcon 푸른해아 2009.08.12 09:32 신고

      ㅋㅋ
      음,최홍만씨 운동화라면 가능할지도.
      어쨌든 즐거운 시도는 계속되어도 좋을 것 같군요.

    • BlogIcon pepsiman 2009.08.12 09:35 신고

      푸른해아님까지...
      연속 데미지....@.@
      K.O !!

      홍만씨한테 선물할까나....ㅋ
      그나저나 홍만씨는 머하고 있을려나요...?

  2. 심플멘 2009.08.23 13:10

    펩시멘님도 다방면에 능통하신것 같습니다 자료검색하다 방문했습니다
    아기자기하게 재미있는거 많이 만드셨네요 제가모르던것도 알게해주시고 감사^^

    • BlogIcon pepsiman 2009.08.24 09:34 신고

      만들고 싶은건 많은데 능력이 안따라 주네요.
      초반에 너무 버닝해서...이제는 좀 쉬엄쉬엄 하려고요.
      자주 놀러 오세요 심플멘님...^^

  3. 2009.12.19 10:16

    비밀댓글입니다

    • BlogIcon pepsiman 2009.12.19 10:23 신고

      회로도라고 할만한것도 없습니다.
      공개 못할 이유도 없고요 ^^;
      문제는 제가 회로도 그리는 프로그램을 잘 사용 못해서 그리질 못하고 있습니다 ㅠㅠ
      일단 LED 켜는것부터 시작하시고
      그걸 tiny의 발 하나에 LED 1개씩 8개 연결하시면되요.
      스위치도 하나 연결...일단 말로는 그러네요.
      회로도는 함 그려볼께요.

  4. 2009.12.19 11:25

    비밀댓글입니다

  5. BlogIcon pepsiman 2009.12.21 00:42 신고

    저젼력으로 구동되는 ATTiny 26 L 타입니다. 'L'을 확인하세요.

  6. 2009.12.21 09:24

    비밀댓글입니다

    • BlogIcon pepsiman 2009.12.21 09:28 신고

      회로도 어제 대강 그려 첨부했는데 못보셨나보네요.
      소스 위에 있습니다. 참고하세요 ^^

  7. BlogIcon pepsiman 2009.12.21 09:29 신고

    avr에 관해 지식이 없으시다면 avr 부터 알아야 tiny를 사용할수 있습니다.

    tiny26에 위에 있는 소스코드를 프로그램해서 넣어야 하고요.
    프로그램을 하기 위해선 SW로는 bascom avr 이라는 프로그램과 HW로는 ISP 프로그래머 라는 장비(모듈)가 있어야 합니다. 그리고 배경지식으로는 기본적인 AVR로 LED 켜는 회로 구성하기 , 스위치 회로 구성하기를 먼저 습득하시고 tiny26 사용법을 익히셔야 합니다.

    참고하실만한 포스팅으로는 "저항계산기", "풀업풀다운"에 관련된 포스팅이 있으니 관련 지식을 먼저 습득하세요.
    ----------------------------------------------------------------------------------------------
    쓰고나니 제가 봐도 막막하네요...ㅡㅡ;;
    우섭님은 그냥 회로만 그려드리면 따라하면 되는데...라고 생각하시는거 같은데...
    그냥 제가 회로도하나만 그려드리면 되는데 말이죠...
    잠시만 기다리세요...제가 잘 못그려도 하나 그려드릴께요 ^^;

  8. 2009.12.21 09:47

    비밀댓글입니다

  9. BlogIcon pepsiman 2009.12.21 09:56 신고

    기울기 센서인데 스위치로 표현 했습니다.
    기울기 센서도 내부구조가 쇠구슬이 두 접점을 연결하는 구조라서 스위치와 같습니다.

    공부하셨군요.^^ 네 평상시 LOW니까 풀 다운저항이고요. 저도 아직도 해깔려요 ^^;
    이해가 빠르신거보니 기본센스는 있으신가보네요.
    공부하시면서 막혀서 물어보시는 거라면 언제나 환영입니다.
    공부도 안하고 물어보시는 분들도 많거든요.

    한가지 더 부탁드리자면...댓글에 특별히 사적인 정보나, 감추고 싶으신게 없으시다면 비밀글로 안해주셨으면 합니다.
    댓글도 다른분들한테 도움이 되는 내용이거든요.
    감사합니다. ^^

  10. 준아빠 2009.12.22 09:21

    안녕하세요..도움이 필요합니다...
    책을 사서 공부하려는데...
    교재 "Bascom-AVR 로봇 스터디" 이 책으로 공부하면 도움이 될까해서요..
    아님 다른 추천할만한 책이 있는지요... 책값이 비싸더군요.. 투자라 생각하고 ^^
    펩시맨님은 어떤식으로 공부하셨는지 어떤 교재로 공부하셨는지.. 힌트좀 주세요.
    기본적인 AVR로 LED켜는 회로 추천할 만한 교재가 있는지요..
    전자관련 학과를 안나와서 어렵네요...도움이 필요합니다..
    회사에서 계속 인터넷으로 공부하려니 눈치도 보이고.. 여러모로 교재가 나을듯해서요...
    이름을 앞으론 준아빠로 하겠습니다 ^^

    • BlogIcon pepsiman 2009.12.22 09:36 신고

      안녕하세요 준아빠님
      준아빠님의 프로그래언어, 전자쪽 지식이 어느정도 인지 몰라 추천이 좀 애매하긴하지만...

      먼저 저의경우 C, basic언어는 알고 있었고요. 전자쪽은 학교에서 배운게 다인 상태에서 시작했습니다.
      무엇보다도 전자쪽 지식이 부족한 상태에서 개념잡기가 어렵더군요

      그래서 선택한게 아두이노(HW)와 '피지컬 컴퓨팅'(책) 으로 시작했습니다.
      아두이노는 c언어와 비슷하고요.
      아두이노와 usb케이블만 있으면 시작할수 있기 때문에 전자쪽을 처음 접하시는 분들이 접근하기 좋습니다.
      피지컬 컴퓨팅 책은 아두이노와 직접 연관이 있는 책은 아니지만 전자쪽을 어떻게 접근해야 하는지 그 감을 아주 쉽게 설명하고 있습니다.
      저는 아두이노쪽 하다가 tiny 칩으로 avr쪽으로도 공부했고요
      교육용 보드인 채리보드로 mega128도 보고 이때 전자회로이론 책과 atmega128 정보 책을 봤습니다.

      언어를 잘 모르신다면 아두이노 소스나 bascom 소스를 보고 간단한거 부터 하나씩 따라 하시면 도움이 될껍니다.
      아두이노는 약간 비싸고요. avr은 싼데 부가장비(isp같은)나 회로를 구성하는것등이 처음에는 약간 힘들수 있습니다.

      자신의 지식과 재정상태, 난이도를 고려해서 결정해야 합니다.
      선택하고시 다시 댓글 주시면 또 답변 드리겠습니다.

    • BlogIcon pepsiman 2009.12.22 09:40 신고

      http://pepsiman.tistory.com/50 avr 선택에 관하여
      http://pepsiman.tistory.com/39 피지컬 컴퓨팅
      참고하세요

  11. BlogIcon 이닝 2012.05.26 17:30

    글을 너무 잼있게 적으셔서 중간에 빵하고 터졌습니다. >ㅂ<;
    요즘 아두이노에 대한 글들을 너무 잘 보고 있습니다.
    감사합니다.

    • BlogIcon pepsiman 2012.06.14 13:41 신고

      시간이 없어 영 포스팅을 못하고 있네요.
      그래도 종종 놀러오세요 ^^

C(전기용량) = Q(전하량) / V(전압)

기호 




표기 : F, V, 극성

  - 전압 : 표기되어 있는 전압보다 높은 전압을 인가하면 폭발 위험있슴
  - 용량 : 전기를 축적할 수 있는 용량
  - 극성 : 전해 캐패시터, 탄탈 캐패시터는 극성이 있슴. - 극성이 표시되어 있슴

용량 단위 : F, pF, uF

  - farad,패러드라고 읽음
  - pF(피코패러드) : 10^(-12)
  - uF(마이크로패러드) : 10^(-6)

전기적 특징 :  

  - 전류 평활화
  - 직류, 일정시간후 커트
  - 교류, 통과
  - 전기가 충전되는 동안은 쇼트(close), 충전이 끝나면 단락(open)


전해 캐패시터
  - 저주파 바이패스
  - - 극성 표시
  -  주파수 특성 나쁨(고주파에 적당치 않음)

탄탈 캐패시터
  - 긴 다리가 +
  - 온도 변화에 강함
  - 신호 파형을 중요시하는 아날로그 회로에 많이 쓰임
  - 가격 비쌈

세라믹 캐패시터
  - 고주파 바이패스
  - 아날로그 회로에는 쓰이지 않음
  - 극성 없슴

적층 세라믹 캐패시터
  - 온도변화에 강함
  - 바이패스용, 주파수 특성이 양호


새로 배운 내용 추가 (2009.8.13)
캐패시터에 표기된 전압은 실제 회로도(또는 vcc)의 전압보다 큰걸 써도 상관 없다.
LED와 병렬 연결하면 LED가 천천히 켜지게 된다. 용량이 커지면 켜지는 속도가 느려진다.

V =  IR + Q/C



캐패시터 계산기
일반적으로 지금까지는 아래 회로와 같이 led를 연결할때 +를 핀에 -를 GND에 연결해 왔습니다.

적은 갯수의 led를 연결할때는 문제가 없지만 도트매트릭스같이 led의 개수가 많아지면 점점 led가 흐려지게 됩니다.
원인은 아두이노나 AVR의 각 핀에서 출력되는 전류는 고작 2~30mA정도 밖에 되지않는다는데 있습니다.
AVR 전체로 따지면 100mA 정도 밖에 나오지않습니다.
led하나에 보통 20mA정도 소모하니 5개정도를 겨우 돌릴만한 전류 밖에 안되는 겁니다.
이 전류 이상 소모하게 되면 AVR이 망가질수도 있답니다.




이문제를 해결하기 위해서는 소스전류가 아닌 싱크전류를 제어 하는 방식으로 바꿔야합니다.
지금까지는 led의 +를 연결한 핀에 1(HIGH)을 주어 led를 겼지만 그와 반대로 led의 -를 핀에 연결하고 +는 Vin(또는 별도의 전원에 입력 받는 것을 권장)에 연결합니다. 그러면 핀에 0(LOW)을 주면 불이 켜지게 됩니다.

이렇게 함으로써 전류는 AVR과 별도의 안정된 전원에서 공급하고 AVR은 LED 구동에 전류를 뺏기지 않아 서로 안정된 동작을 보장할수 있게 되는 겁니다.

저는 처음에 이 (핀이 GND역할도 할수 있다는)개념이 이해되지 않아 무지 고생했는데 이해하고 나니 무척 유용한것 같습니다.

* 싱크제어라는 용어가 맞는지 모르겠네요. 잘못되었으면 댓글로 지적바랍니다.

  1. BlogIcon 나우테스 2009.07.25 04:56

    말씀하신 방법도 유사한 문제가 있습니다. ATMEGA칩 스펙을 보시면 I/O포트의 sink current, source current라는걸 찾아보실 수 있습니다.
    위쪽의 방법을 사용하는 경우 I/O핀이 current source가 되고 아래쪽 방법을 사용하는 경우는 I/O핀이 current sink가 됩니다.
    I/O핀이 전류를 공급하는데도 한계가 있는것처럼 전류를 흘려보내는데에도 한계가 있습니다.
    물로 이야기하자면 파이프 굵기가 정해져있는데 거기에 파이프가 흘려보낼 수 있는 양 이상의 물을 흘려보내면 물이 제대로 빠지지 않거나 파이프가 터져버리게 되는것과 마찮가지입니다.
    칩 스펙에 보면 source/sink 모두 40 mA로 되어 있습니다. 즉 I/O핀이 전류를 공급하거나 전류를 흘려보내는 역할을 하거나 40mA이상의 전류를 흘리면 정상동작을 하지 않거나 칩이 망가질 수 있다는겁니다.

    스펙 이상의 전류를 흘려주려면 로드(여기서는 LED)를 직접 연결하면 안되고 TR,FET,릴레이 같은걸 사용해줘야 합니다.

    • BlogIcon pepsiman 2009.07.28 06:45 신고

      조언 감사합니다.
      제가 잘 몰라서 그러는데...그러면 위에 제가 이해한 내용이 완전히 틀린건가요?

    • 미니 2010.05.23 17:28

      다틀리신것은 아니구요 ^^ 싱크제어 또한 소스제어와 같은 것이죠..
      나우테스님 말씀처럼 핀당 흘릴수 있는 전류를 초과해서 사용할수는 없는 거죠. 트랜지스터로 예를 들면 +가 나올때는 PNP TR 을 사용한것과 같구요, -로 빨아드릴때(Sink) 는 NPN TR 을 사용한것과 똑 같습니다.. AVR 출력 핀 내부도 이와 같다고 보면 될것 같습니다.

출처: aduino.cc
출처: http://tinkerlog.com/2007/05/20/cheap-sound-sensor-for-avr/






 








출처 : LM386 datasheet





기타 참고자료


아두이노 두에밀라노브 사진 입니다만, 데시밀라와 큰 차이는 없습니다.

Digital I/O
  전원핀을 제외한 모든핀은 digital i/o로 사용할수 있습니다.
  
  Output으로 사용할 경우 프로그램상에서 Low을 주면 0v가 High를 주면 5v가 흐릅니다.
  따라서 이곳에 Led의 +를 연결하고 다른 한쪽을 Gnd 핀에 연결하면 5v가 공급되어 Led가 켜지게 됩니다.
  19개의 digital핀을 사용할수 있으니 19개의 led를 구동할수 있습니다.
  (추가 회로를 구성하면 도트매트릭스 같은 더 많은 led도 구동할수 있습니다)

  Input으로 사용할 경우 스위치를 연결하면 스위치가 눌렸는지 눌리지 않았는지 확인할수 있습니다

Analog Input (ADC)
  아두이노는 자체적으로 ADC를 가지고 있습니다.
  모두 6개의 아날로그 신호를 입력받을 수 있고요. 해상도는 10bit(0~1023단계)입니다.
  전압을 읽어 들일수 있고 0v ~ 5v 를 1024 단계로 구분하니 약 0.0048828125v 단위로 구분 가능합니다.
  전압 나눔 회로를 이용하면 5v 이상의 전압도 읽을 수 있고요.
  전압계도 쉽게 구현이 가능합니다.
  전압으로 출력해주는 온도센서, 장력센서, 광센서, 거리센서등을 연결해 값을 구할 수도 있습니다.

PWM
  PWM은 아날로그 입력의 반대 개념인 아날로그 출력 개념이라고 보면 됩니다.
  전기를 흘렸다 끊었다 하는 간격을 조절하여 전압을 조절하는것처럼 보이게 하는 겁니다.
  예를 들어 계속 5v를 흘리면 출력이 5v가 되지만 5v를 흘력다 0v를 흘렸다를 반복하면 2.5v가 흘러가는것처럼 느껴지는 원리입니다. 여기서 0v흘리는 시간이 길어지면 전압은 내려가고 5v 흘리는 시간이 길어지면 전압은 올라가는것 처럼 느껴지게 됩니다.
  이것을 이용하면 LED의 밝기나, 스탭모터등을 제어 할수 있습니다.

I2C (I2C는 그냥 편의상 쓰는것이고 I2C가 맞습니다)
  2개의 선으로 여러개의 장치를 제어 할수 있는 통신 방식입니다.
  SCL (Serial Clock) : 동기화 신호선입니다.
  SDA (Serial Data) : 데이터 신호선입니다.
  센서칩에서도 사용하고 일반적인 IC에서 사용합니다.
  선이 많이 필요한 장비에서 선을 줄일때도 이 통신 방식을 사용합니다.

SPI (serial peripheral interface)
  3개의 선을 이용한 통신 방식으로 MOSI, MISO, CLK의 선을 사용합니다.

  MOSI (Master Out Slave In) : 마스터에서 슬레이브로 신호를 보내는 선입니다.

  MISO (Master In Slave Out) : 슬레이브에서 마스터로 신호를 보내는 선입니다.

  CLK (Clock) 또는 SCK(Serial Clock) : 신호가 오가는 동기화 주기를 알리기위한 선 입니다.
  AVR을 프로그램 할때도 이 통신 방식을 사용하고 이더넷 쉴드, SD 카드와 통신 할때도 사용합니다.

RS232(시리얼포트)
  아두이노에는 시리얼 포트가 하나 밖에 없고 usb에 연결되어 있어 스케치에서 작성한 프로그램을 다운 받는데 사용됩니다.
  하지만 이 시리얼 포트를 사용 할수 없는건 아닙니다. 따라서 이 시리얼 포트에 gps같은 장비의 시리얼 출력을 연결하면 gps와 통신을 할 수 있습니다.
  아두이노에서는 PC와 달리 TTL(0v, 5v)신호를 사용합니다. 따라서 pc와 직접 연결하면 아두이노가 망가질 수 있습니다.
  xbee와 통신할때도 rs232통신을 이용합니다.

3.3V
  자체적으로 3.3V 전원을 공급하므로 3.3V를 사용하는 칩들에 전원을 공급할 수 있습니다.

기본적으로 위와 같은 기능을 사용할 수 있고 I2C나 SPI, RS232통신을 통해 다른 모듈과 통신하여 다양한 추가기능을 확장할 수 있습니다.



아래 내용을 UltraEdit의 구문강조파일에 C/C++ 영역에 교체하면 AVR C 문법을 강요하여 볼수 있습니다.

구문강조 편집하기
UltraEdit의 고급메뉴 > 설정
편집기 표시 > 구문강조 > 단어목록의 파일 경로 >> 열기 버튼
/L1"C/C++" 항목에서 /L2 항목 전까지 부분을 아래 내용으로 교체합니다.



/L1"C/C++" Line Comment = // Block Comment On = /* Block Comment Off = */ Escape Char = \ String Chars = "' File Extensions = C CPP CC CXX H HPP AWK
/Delimiters = ~!@%^&*()-+=|\/{}[]:;"'<> , .?
/Function String = "%^([a-zA-Z_0-9^[^]*]+^)[ ^t]+([^p*&, ^t^[^]a-zA-Z_0-9.!]++)[~;]"
/Function String 1 = "%[a-zA-Z_0-9*]*::^([a-zA-Z_0-9^~]+^)[ ^t^p]++([^p*&, ^t^[^]/*=:&a-zA-Z_0-9./(!]++)[~;]"
/Function String 2 = "%[a-zA-Z_0-9^][a-zA-Z_0-9^[^]]+[ ^t*]+^([a-zA-Z_0-9]+^)[ ^t]++([^p*&, ^t^[^]a-zA-Z_0-9./(!]++)[~;]"
/Function String 3 = "%[a-zA-Z_0-9*&$^[^]*]+[ ^t]+[a-zA-Z_0-9*&$^[^]]+[ ^t*]+^([a-zA-Z_0-9]+^)[ ^t]++([^p*&, ^t^[^]a-zA-Z_0-9./(!]++)[~;]"
/Function String 4 = "%[a-z_0-9^[^]*]++ [a-z_0-9*^[^]]+[ ^t]++[a-z_0-9*^[^]]+[ ^t]++^([*a-z_0-9]+^)[ ^t]++([^p*&, ^t^[^]a-z_0-9./(!]++)[~;]"
/Function String 5 = "%^([a-zA-Z_0-9^[^]*]+^)[ ^t]++([^p*&, ^t^[^]a-zA-Z_0-9./()!]++)[~;]"
/Indent Strings = "{" ":"
/Unindent Strings = "}"
/C1"Keywords"
auto
break bool
case char const continue
default do double defined
else enum extern
float for
goto
if int
long
register return
short signed sizeof static struct switch
typedef
union unsigned
void volatile
while
__asm __based __cdecl __declspec __except __far __fastcall __finally __fortran __huge __inline __int16 __int32 __int64 __int8 __interrupt __leave __loadds __near __pascal __saveregs __segment __segname __self __stdcall __try __uuidof
#define #error #include #elif #if #line #else #ifdef #pragma #endif #ifndef #undef
/C2"C++ Keywords"
catch class const_cast
delete dynamic_cast
explicit export
false friend
inline
mutable
new namespace
operator
private protected public
reinterpret_cast
static_cast
template this throw true try typeid typename
using
virtual
wchar_t
__multiple_inheritance __single_inheritance __virtual_inheritance
/C3"Microsoft C extensions"
dllexport dllimport
naked
thread
uuid
/C4"Operators"
+
-
=
// /
%
&
>
<
^
!
|
/C5"AVR128"
ADCW ADC ADCL ADCH ADCSR ADCSRA ADMUX ACSR ASSR
DDRA DDRB DDRC DDRD DDRE DDRF DDRG
ETIMSK EICRA ETIFR EICRB EIFR EICRA EIMSK  EIMSK 
ICR1 ICR1L ICR1H ICR3 ICR3L ICR3H 
MCUCR MCUSR MCUCSR
OCR1B OCR1BL OCR1BH OCR1A OCR1AL OCR1AH OCR0 OCDR OCR2 OSCCAL OCR1C OCR1CL OCR1CH 
OCR3C OCR3CL OCR3CH OCR3B OCR3BL OCR3BH OCR3A OCR3AL OCR3AH 
PORTA PORTB PORTC PORTD PORTE PORTF PORTG PINA PINB PINC PIND PINE PINF PING 
RAMPZ
SPMCR SPMCSR SFIOR SPSR SPDR SPCR SPDR Signal
SIG_INTERRUPT0 SIG_INTERRUPT1 SIG_INTERRUPT2 SIG_INTERRUPT3 SIG_INTERRUPT4 SIG_INTERRUPT5 SIG_INTERRUPT6 SIG_INTERRUPT7 
SIG_OUTPUT_COMPARE0 SIG_OUTPUT_COMPARE1A SIG_OUTPUT_COMPARE1B SIG_OUTPUT_COMPARE2 SIG_INPUT_CAPTURE1
SIG_OVERFLOW2 SIG_OVERFLOW1 SIG_OVERFLOW0 SIG_OVERFLOW3 
SIG_SPI SIG_USART0_RECV SIG_UART0_RECV SIG_USART0_DATA SIG_UART0_DATA SIG_USART0_TRANS SIG_UART0_TRANS 
SIG_ADC SIG_EEPROM_READY SIG_COMPARATOR SIG_INPUT_CAPTURE3 
SIG_OUTPUT_COMPARE1C SIG_OUTPUT_COMPARE3A SIG_OUTPUT_COMPARE3B SIG_OUTPUT_COMPARE3C 
SIG_USART1_RECV SIG_UART1_RECV SIG_USART1_DATA SIG_UART1_DATA SIG_USART1_TRANS SIG_UART1_TRANS 
SIG_2WIRE_SERIAL SIG_SPM_READY 
TCNT0 TCCR0  TCNT1 TCNT1L TCNT1H TCCR1B TCCR1A TIMSK TIFR TWBR TWSR TWAR TWDR TWCR
TCCR1C TCNT2 TCCR2 TCCR0 TIMSK TCNT0 TCNT3 TCNT3L TCNT3H TCCR3B TCCR3A TCCR3C 
UBRR0L UCSR0B UCSR0A UDR0 UBRR0H UCSR0C UBRR1H UBRR1L UCSR1B UCSR1A UDR1 UCSR1C 
WDTCR
XMCRB XMCRA XDIV XMCRA XMCRB

/C6"AVR BIT"
AS0 ADHSM ACME ACD ACBG ACO ACI ACIE ACIC ACIS1 ACIS0
ADEN ADSC ADFR ADIF ADIE ADPS2 ADPS1 ADPS0 ADLAR 
BORF BLBSET
COM1 COM0 CS2 CS1 CS0 COM01 COM00 CS02 CS01 CS00 COM21 COM20 CS22 CS21 CS20 COMA1 COMA0 COMB1 COMB0 COMC1 COMC0 
COM1A1 COM1A0 COM1B1 COM1B0 COM1C1 COM1C0 COM3A1 COM3A0 COM3B1 COM3B0 COM3C1 COM3C0 CPOL CPHA 
CSB2 CSB1 CSB0 CS12 CS11 CS10 CS32 CS31 CS30 
DD7 DD6 DD5 DD4 DD3 DD2 DD1 DD0
DDA7 DDA6 DDA5 DDA4 DDA3 DDA2 DDA1 DDA0 
DDB7 DDB6 DDB5 DDB4 DDB3 DDB2 DDB1 DDB0
DDC7 DDC6 DDC5 DDC4 DDC3 DDC2 DDC1 DDC0
DDD7 DDD6 DDD5 DDD4 DDD3 DDD2 DDD1 DDD0
DDE7 DDE6 DDE5 DDE4 DDE3 DDE2 DDE1 DDE0
DDF7 DDF6 DDF5 DDF4 DDF3 DDF2 DDF1 DDF0
DDG4 DDG3 DDG2 DDG1 DDG0
DORD DOR DOR1 DOR0 
EXTRF E2END 
FE FE0 FE1 FOC0 FOCA FOCB FOCC FOC3A FOC3B FOC3C FOC1A FOC1B FOC1C FOC FOC2 FLASHEND
JTD JTRF
INT7 INT6 INT5 INT4 INT3 INT2 INT1 INT0
ICNC ICES ICNC1 ICES1 ICNC3 ICES3
INTF7 INTF6 INTF5 INTF4 INTF3 INTF2 INTF1 INTF0
ICF1 ICF3 IDRD 
ISC31 ISC30 ISC21 ISC20 ISC11 ISC10 ISC01 ISC00
ISC71 ISC70 ISC61 ISC60 ISC51 ISC50 ISC41 ISC40
IVSEL IVCE 
MSTR MPCM MPCM1 MPCM0 MUX4 MUX3 MUX2 MUX1 MUX0
OCIE2 OCIE1A OCIE1B OCIE0 
OCF2 OCF1A OCF1B OCF0  
OCIE3A OCIE3B OCIE3C OCIE1C OCF3A OCF3B OCF3C OCF1C OCR0UB 
OCDR7 OCDR6 OCDR5 OCDR4 OCDR3 OCDR2 OCDR1 OCDR0

PB7 PB6 PB5 PB4 PB3 PB2 PB1 PB0
PC7 PC6 PC5 PC4 PC3 PC2 PC1 PC0
PD7 PD6 PD5 PD4 PD3 PD2 PD1 PD0
PE7 PE6 PE5 PE4 PE3 PE2 PE1 PE0
PF7 PF6 PF5 PF4 PF3 PF2 PF1 PF0
PG4 PG3 PG2 PG1 PG0 PGERS PGWRT 
PIN7 PIN6 PIN5 PIN4 PIN3 PIN2 PIN1 PIN0
PINA7 PINA6 PINA5 PINA4 PINA3 PINA2 PINA1 PINA0
PINB7 PINB6 PINB5 PINB4 PINB3 PINB2 PINB1 PINB0
PINC7 PINC6 PINC5 PINC4 PINC3 PINC2 PINC1 PINC0
PIND7 PIND6 PIND5 PIND4 PIND3 PIND2 PIND1 PIND0
PINE7 PINE6 PINE5 PINE4 PINE3 PINE2 PINE1 PINE0 
PINF7 PINF6 PINF5 PINF4 PINF3 PINF2 PINF1 PINF0 
PING4 PING3 PING2 PING1 PING0 PUD PSR0 PSR321 
PORT7 PORT6 PORT5 PORT4 PORT3 PORT2 PORT1 PORT0
PORTA7 PORTA6 PORTA5 PORTA4 PORTA3 PORTA2 PORTA1 PORTA0
PORTB7 PORTB6 PORTB5 PORTB4 PORTB3 PORTB2 PORTB1 PORTB0
PORTC7 PORTC6 PORTC5 PORTC4 PORTC3 PORTC2 PORTC1 PORTC0
PORTD7 PORTD6 PORTD5 PORTD4 PORTD3 PORTD2 PORTD1 PORTD0
PORTE7 PORTE6 PORTE5 PORTE4 PORTE3 PORTE2 PORTE1 PORTE0
PORTF7 PORTF6 PORTF5 PORTF4 PORTF3 PORTF2 PORTF1 PORTF0
PORTG4 PORTG3 PORTG2 PORTG1 PORTG0
PORF 
RAMPZ00 REFS1 REFS0 RWWSB RWWSRE 
RXC RXC1 RXC0 RXCIE RXCIE1 RXCIE0 RXEN RXEN1 RXEN0 RXB8 RXB81 RXB80 RAMEND 
SRE SRW SRW10 SE SM1 SM0 SM2 SPR1 SPR0 SPM_PAGESIZE 
SRL2 SRL1 SRL0 SRW01 SRW00 SRW11 
SPMIE SPMEN SPIF SPI2X SPIE SPE 
TOIE0 TOIE1 TOIE2 TOIE3 TOV0 TOV1 TOV3 TICIE3 TICIE1 TOV2 TXC TXC0 TXC1 TXCIE TXCIE1 TXCIE0 TXEN TXEN1 TXEN0 TXB8 TXB81 TXB80
TWINT TWEA TWSTA TWSTO TWWC TWEN TWIE  
TWA6 TWA5 TWA4 TWA3 TWA2 TWA1 TWA0 TWGCE TSM 
TWS7 TWS6 TWS5 TWS4 TWS3 TWPS1 TWPS0 TCN0UB TCR0UB 
UDRE UDRE0 UPE U2X UDRE1 UPE1 U2X1 UPE0 U2X0 UDRIE UDRIE1 UDRIE0 UCSZ UCSZ2 UCSZ12 UCSZ02 
UMSEL UPM1 UPM0 USBS UCSZ1 UCSZ0 UCPOL
UMSEL1 UPM11 UPM10 USBS1 UCSZ11 UCSZ10 UCPOL1 
UMSEL0 UPM01 UPM00 USBS0 UCSZ01 UCSZ00 UCPOL0 
WCOL WDRF WGM0 WGM00 WGM20 WGM01 WGM1 WGMA1 WGMA0 WGM31 WGM30 WGM11 WGM10 WGM21 WGMB3 WGMB2 
WGM13 WGM12 WGM33 WGM32 WDCE WDE WDP2 WDP1 WDP0 
XDIVEN XDIV6 XDIV5 XDIV4 XDIV3 XDIV2 XDIV1 XDIV0 XC0 XRAMEND XMBK XMM2 XMM1 XMM0
  1. BlogIcon 사용인 2009.07.09 16:14

    잘보고 갑니다.
    행복하세요 ^^*

ATmega 시리즈나 ATtiny등의 AVR에 사용하는 C 명령어 메뉴얼(AVR gcc 레퍼런스)입니다.

기본적인것은 C의 명령어와 같지만 AVR 고유의 것도 있으니 레퍼런스를 참고 하세요.


블로그 상단에 명령어 검색 엔진을 달았으니 거기에서 명령어를 검색하시면 편할 껍니다.






+ Recent posts