ÇÁ·Î±×·¡¹Ö
ù ÆäÀÌÁö ·£´ý ±Û ȸ¿ø°¡ÀÔ ·Î±×ÀÎ
ºñ°ø°³ ¼Õ´Ô ¡¦ 2015-04-07 21:08:49
URL https://te31.com/rgr/view.php?id=study&no=1116 ¸ð¹ÙÀÏ È­¸é
avrÇÒ ÁÙ ¾Æ½Ã´ÂºÐ °è½Å°¡¿ä?

ªÀº ÄÚµåÇϳª ¸¸µé¾ú´Âµ¥ ¾îµð°¡ À߸øµÇ¾ú´ÂÁö ¸ð¸£°Ú³×¿ä ÈľƤ¿..

#include <avr/io.h>
#include <avr/interrupt.h>

unsigned int i;
int sel; //ÀÎÅÍ·´Æ®ÇÒ¶§ ÀÌ °ªÀ» ¹Ù²Ù¾î¼­ Á¶Á¾ ÇÏ·Á±¸ÇÕ´Ï´Ù

int main()
{
DDRA = 0xFF;             //LED¸¦ 8°³ ¸ðµÎ»ç¿ë
PORTA = 0x01;            //ù¹ø° led Á¡µî
EICRA = 0b00001011;    //¿ÜºÎÀÎÅÍ·´Æ®¼³Á¤
EIMSK = 0b00000011;    //¿ÜºÎÀÎÅÍ·´Æ®¼³Á¤
sei();

while(1)  
{
  while(PORTA != 0b00000000) // ¿ÞÂÊÀ¸·Î ½ÃÇÁÆ®°¡ ¸ðµÎ ³¡³ª¸é ¿ÍÀϹ®À» ºüÁ®³ª¿À±â À§Çؼ­
  {
  for(i = 0; i < 0xFFFF; i++); //½ÃÇÁÆ®
  PORTA = PORTA << 1;
  }
  PORTA = 0b10000000; //ºüÁ®³ª¿À¸é °¡Àå ¿ÞÂÊ ledÁ¡µî

  while(PORTA != 0b00000000) // ¿À¸¥ÂÊÀ¸·Î ½ÃÇÁÆ®°¡ ¸ðµÎ ³¡³ª¸é ¿ÍÀϹ®À» ºüÁ®³ª¿À±â À§Çؼ­
  {
  for(i = 0; i < 0xFFFF; i++); //½ÃÇÁÆ®
  PORTA = PORTA >> 1;
  }
  PORTA = 0b00000001; //ºüÁ®³ª¿À¸é °¡Àå ¿À¸¥ÂÊ led Á¡µî
}
}


ISR(INT0_vect) //ù¹ø° ½ºÀ§Ä¡¸¦ ´©¸£¸é ½¬ÇÁÆ®¸¦ ±× ÀÚ¸®¿¡ Á¤Áö
{
  while(sel != 1) //sel=1°¡ µÇ¸é ¿ÍÀϹ®À» ºüÁ®³ª¿Â´Ù, ±×·¸Áö¾ÊÀ¸¸é ¾Æ·¡¸¦ ¹Ýº¹
{
  for(i=0; i<0xFF; i++);
  PORTA = PORTA;    //Á¤Áö!
}
main();
}

ISR(INT1_vect) //µÎ¹ø° ½ºÀ§Ä¡¸¦ ´©¸£¸é ¸®¼Â
{
sel++; //selÀ» Áõ°¡½ÃŲ´Ù
if(sel>2) sel=0; //¸¸¾à 1º¸´Ù Ä¿Áö¸é 0À¸·Î ¸¸µç´Ù.
main();
}


ÀÌ·¸°Ô Àû±äÇߴµ¥ ÇÏ·Á´Â°Ç ±×³É led 8°³¹Ú¾Æ³õÀº°É ¿Ô´Ù°¬´Ù ½ÃÅ°¸é¼­
½ºÀ§Ä¡ 1´©¸£¸é ÀÎÅÍ·´Æ® ¹ß»ýÇؼ­ Á¤Áö! 2´©¸£¸é ¸®¼Â! ÀÌ°Å ÇÏ·Á´Â°Çµ¥¿ä
¹¹¸¦ À߸øÇÑ°ÇÁö 2¹ø¸ÕÀú ´©¸£¸é ¸®¼ÂµµµÇ°í 1¹ø´©¸£¸é Á¤ÁöµµµÇ´Âµ¥
Á¤ÁöµÈ »óÅ¿¡¼± ¸®¼ÂÀÌ ¾ÈµÇ³×¿ä ¤Ì¤Ì ÀÎÅÍ·´Æ®¿¡ ÀÎÅÍ·´Æ®¸¦ ¸ø½ÃÅ°´Â°Ç°¡¿ä
while¹®¿¡ °¤Çô¼­ ¸ø³ª¿À´Â°Ç°¡ À̸®Àú¸® ±¼·ÁºÁµµ ¾È³ª¿À³×¿ä
ÄÚµå ¾îµð°¡ À߸øµÈ°É±î¿ä.. Å©ÀÀ

Àâ´ã | 1396¸íÀÌ Àоú¾î¿ä. 3.140.198.29

0
1 ºñ°ø°³ ¼Õ´Ô ¡¦ 2015-04-07 21:48:45
Äڵ带 º¸°Çµ¥ ¾ÆÁ÷ ÀÎÅÍ·´Æ®¸¦ Á¦´ë·Î ÀÌÇØ ¸øÇϽŰŠ°°³×¿ä ...
2 ºñ°ø°³ ¼Õ´Ô ¡¦ 2015-04-07 22:06:20
..Ȥ½Ã pre ű״ ¸Ô³ª ...?

<pre>
#include <avr/io.h>
#include <avr/interrupt.h>

int index = 0;
int pause = 0;

int main()
{
int dir = 1;

DDRA = 0xFF; //LED¸¦ 8°³ ¸ðµÎ»ç¿ë
PORTA = 0x01; //ù¹ø° led Á¡µî
EICRA = 0b00001011; //¿ÜºÎÀÎÅÍ·´Æ®¼³Á¤
EIMSK = 0b00000011; //¿ÜºÎÀÎÅÍ·´Æ®¼³Á¤
sei();

for(int i = 0; i < 50; i++)
{
if(pause != 0)
continue;

PORTA = 1 << index;

index += dir;

if(index >= 7)
dir = -1;
else if(index <= 0)
dir = 1;

// Waiting
for(i = 0; i < 0xFFFF; i++);
}
}


ISR(INT0_vect) //ù¹ø° ½ºÀ§Ä¡¸¦ ´©¸£¸é ½¬ÇÁÆ®¸¦ ±× ÀÚ¸®¿¡ Á¤Áö
{
// Toggle pause
pause = !pause;
}

ISR(INT1_vect) //µÎ¹ø° ½ºÀ§Ä¡¸¦ ´©¸£¸é ¸®¼Â
{
index = 0;
}
</pre>
3 ºñ°ø°³ ¼Õ´Ô ¡¦ 2015-04-07 22:07:52
¾Æ¿¹ űװ¡ ¾ÈµÇ´Â°Å °°±º¿ä.
¿©Æ° (Å×½ºÆ®´Â ¾ÈÇغÃÁö¸¸) ÀÌ ÄÚµå¿Í ¹¹°¡ ´Ù¸¥Áö Çѹø ºÁº¸¼¼¿ä.
LED Á¡µîÀ» ¾î¶»°Ô ½ÃųÁö´Â ÀÚ±â ÀÚÀ¯Áö¸¸, ÀÎÅÍ·´Æ®¸¦ Á¦´ë·Î ÀÌÇØÇÏ°í ÀÖÁö ¸øÇϸé AVRÀ» Á¦´ë·Î ´Ù·ê¼ö ¾ø½À´Ï´Ù.
4 ºñ°ø°³ ¼Õ´Ô ¡¦ 2015-04-07 22:09:25
µ¹·Áº¸´À¶ó°í for¹®À¸·Î ¹Ù²å³×¿ä.
for(int i = 0; i < 50; i++)¸¦ while(1)·Î º¯°æ Çϼ¼¿ä.
5 ºñ°ø°³ ¼Õ´Ô ¡¦ 2015-04-08 07:22:07
1~4/ ¾ÆÅ©Çʵå´Ô ³Ê¹« °¨»çÇÕ´Ï´Ù ¾²´Â°Ô ´Þ¶ó¼­±×·±Áö ¸®¼ÂÀº ¾ÈµÇÁö¸¸ ¹º°¡ °¨ÀÌ¿À³×¿ä ÀÀ¿ëÇغÁ¾ß°Ú¾î¿ä
6 ºñ°ø°³ ¼Õ´Ô ¡¦ 2015-04-08 07:30:27
¿À µÎ¹ø°ÀÎÅÍ·´Æ®¿¡ puse¹®À» Çѹø´õ ¼³Á¤ÇØÁá´õ´Ï ¿øÇϴ´ë·Î °£´ÜÇÏ°Ô‰ç³×¿ä! ³Ê¹«³Ê¹« °¨»çÇÕ´Ï´Ù º¸¸é¼­ Äڵ嵵 ª°í »ý°¢À» Àú·¸°Ô ÇÒ¼öÀִٴ°ſ¡ ³î¶ú½À´Ï´Ù
´ñ±ÛÀ» ÀÛ¼ºÇÏ½Ç ¼ö ¾ø½À´Ï´Ù.
(±ÇÇÑÀÌ ¾ø´Â ȸ¿ø·¹º§)
¸ñ·ÏÀ¸·Î
¡â ÀÌÀü±Û: jqgrid ¸¦ ±â°¡¸ÆÈ÷°Ô ÇϽô ºÐ ã½À´Ï´Ù
¡ä ´ÙÀ½±Û: ¾Æ Á¸³ª ½½·³ÇÁ [4]
ÀÌ¿ë¾à°ü | ±¤°í/Á¦ÈÞ | °³ÀÎÁ¤º¸Ãë±Þ¹æħ | ¹®ÀÇ/½Å°í | ¸ð¹ÙÀÏ TE31 | ¼­¹ö ºÎÇÏ : 6.5%
½Ç½Ã°£ Issue Ä¿¹Â´ÏƼ TE31 [¾ËÁö·Õ] ¨Ï 2002-2024
TOP arrow_upward