OSD IC

 

 +

 SOH701

 

 +

 FOSD06H

 

 +

 FOSD20C

 

 +

 FOSD20J

 

 +

 FOSD¸ðµâ

 

 +

 Æò°¡º¸µå

 

 +

 OSDBOX

 

 AVR JTAG µð¹ö°Å

 

 AVR ISP mkII

 

 USB Oscilloscope

 

 ºñµð¿À ¸ð¼Ç µðÅØÅÍ

 

 ½ºÇǵ嵼 MCU

 

 SLTASK

 

 STM32 º¹Á¦

 


SLTASK
(Simple & Lightweight Task Manager)

ÀÚü °³¹ßÇÑ ¼øÂ÷Àû 󸮿¡ ÀûÇÕÇÑ ´Ü¼øÇÏ°í °¡º­¿î ŽºÅ© °ü¸® ÇÁ·Î±×·¥ÀÇ ¸íĪÀÔ´Ï´Ù.

¿¹¸¦µé¾î À½½Ä¹° ¾²·¹±â 󸮱âÀÇ °æ¿ì ¸î °³ÀÇ ¸ðÅÍ, È÷ÅÍ, ¼Ö·¹³ëÀ̵å, »óÅ ǥ½Ã¿ë LED µî ¸¹Àº Ãâ·Â°ú ¹öư, ¸®¹ÌÆ® ¼¾¼­, ¶Ñ²±, ¼­¶ø µî ¸¹Àº ÀÔ·Â Á¶°ÇÀÌ ÀÖ½À´Ï´Ù. ƯÈ÷ Ãâ·ÂÀº ´Ü¼øÇÏ°Ô on, off ¸¸ ÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó ¸î ÃÊ °£°ÝÀ¸·Î ¸ðÅ͸¦ Á¤È¸Àü, ¿ªÈ¸ÀüÇϸ鼭 µ¿½Ã¿¡ ¸î Ãʰ£ ¼Ö·¹³ëÀ̵带 on, off ÇÏ´Â µî ½Ã°£¿¡ µû¶ó ¸¹Àº Ãâ·ÂÀ» °¢°¢ ½Ã³ª¸®¿À¿¡ µû¶ó on, off Á¦¾îÇÏ´Â ÀÛ¾÷ÀÌ ÇÊ¿äÇÕ´Ï´Ù. ÀÌ »Ó¸¸ ¾Æ´Ï¶ó »óÅ¿¡ µû¶ó °¢°¢ on, off Á¦¾î ½Ã°£ÀÌ ´Þ¶ó Áý´Ï´Ù.

¸ÞÀÎ ¸ðÅÍ: Á¤È¸Àü 30ÃÊ -- 2ÃÊ Á¤Áö -- ¿ªÈ¸Àü 30 ÃÊ -- 2ÃÊ Á¤Áö ¹Ýº¹
µð½ºÅ© ¸ðÅÍ: 10ÃÊ Á¤È¸Àü -- 10ÃÊ ¿ªÈ¸Àü
¹èÃâ ¸ðÅÍ: 10ÃÊ Á¤È¸Àü -- 10ÃÊ ¿ªÈ¸Àü
¼Ö·¹³ëÀ̵å: on 20ÃÊ -- off 10ÃÊ -- on 20ÃÊ -- off 10ÃÊ ...
RED LED: 1ÃÊ ¸¶´Ù ±ô¹ÚÀÓ
GREEN LED: 2Ãʰ£ on -- 1Ãʰ£ off ¹Ýº¹
¶Ñ²± ¹× ¼­¶ø ¿­¸² °¨Áö¿Í ó¸®

±âÁ¸ ÇÁ·Î±×·¡¹Ö ¹æ¹ýÀ¸·Î´Â ¸¹Àº Á¶°Ç flag¸¦ µÎ°í ¸¹Àº Ãâ·ÂÀ» ½Ã°£¿¡ µû¶ó ÀÏÀÏÈ÷ °ü¸®ÇØ¾ß ÇϹǷΠÇÁ·Î±×·¥ÀÌ º¹ÀâÇØ Áö¸ç, µð½ºÅ©°¡ Á¦´ë·Î ¿­¸®Áö ¾Ê´Â µîÀÇ ¿¡·¯ Á¶°Ç±îÁö ó¸®ÇÏ·Á¸é ´õ´õ¿í º¹ÀâÇØ Áý´Ï´Ù. ±×¿¡ µû¶ó ¹ö±× ¹ß»ý °¡´É¼ºÀÌ ³ô¾ÆÁö°í ³ªÁß¿¡ ±â´É ¼öÁ¤ÀÌ ½±Áö ¾Ê¾Æ À¯Áö º¸¼ö ºñ¿ëÀÌ ´Ã¾î³³´Ï´Ù.

ÀÌ·¯ÇÑ ¹®Á¦¸¦ ÇØ°áÇÏ·Á¸é RTOS¸¦ »ç¿ëÇÒ ¼öµµ ÀÖÁö¸¸ ÀÌ ¶ÇÇÑ Å½ºÅ© °ü¸®°¡ ¾î·Æ°í ŽºÅ©°¡ °¢ÀÚ µ¹¾Æ°¡±â ¶§¹®¿¡ À¯±âÀûÀÎ µ¿ÀÛÀ» ÆÄ¾ÇÇϱ⠾î·Á¿ì¸ç ÀÚ¿øÀÌ ºÎÁ·ÇÑ Àú°¡ÀÇ MCU¿¡´Â Àû¿ëÇÏ±â ¾î·Æ½À´Ï´Ù. µû¶ó¼­ ¼øÂ÷Àû 󸮿¡ ÀûÇÕÇÑ Å½ºÅ© °ü¸®ÀÚÀÇ °³¹ß Çʿ伺ÀÌ »ý±é´Ï´Ù.

 

Ư ¡

  • ´Ü¼øÇÑ ±¸Á¶·Î ÀÌÇØÇϱ⠽±°í À¯Áö º¸¼ö°¡ ¿ëÀÌÇÕ´Ï´Ù.
  • Á¶°Ç flag°¡ ÇÊ¿ä ¾øÀ¸¸ç Àüü Äڵ尡 ÇÑ ´«¿¡ µé¾î¿À±â ¶§¹®¿¡ ¸íÈ®ÇÏ°í ¹ö±×ÀÇ ¿©Áö¸¦ ÁÙ¿©ÁÝ´Ï´Ù.
  • ºñ¼±Á¡Çü ¸ÖƼ ŽºÅ·À» Áö¿øÇÕ´Ï´Ù.
  • ¼øÂ÷Àû ½ÇÇàÀ̹ǷΠµð¹ö±ëÀÌ ½±½À´Ï´Ù.
  • delay ÇÔ¼ö°¡ ÇÊ¿ä¾ø´Â ±¸Á¶ÀÔ´Ï´Ù.
  • °´Ã¼ ÁöÇâÇü ±¸Á¶·Î ±â´ÉÀÇ Ãß°¡ »èÁ¦°¡ ½±½À´Ï´Ù.
  • ¸î ¹é¿ø ´ëÀÇ Àú·ÅÇÑ Àú»ç¾ç MCU¿¡µµ Àû¿ëÇÒ ¼ö ÀÖ´Â °¡º­¿î ±¸Á¶ÀÔ´Ï´Ù.
  • ´ÜÁö ±âÁØ Å¸À̸Ӹ¸ Æ÷ÆÃÇÏ¸é ´Ù¸¥ MCU¿¡ ¹Ù·Î Àû¿ë °¡´ÉÇÒ ¸¸Å­ Æ÷ÆÃÀÌ ½±½À´Ï´Ù.

Àû¿ë ºÐ¾ß

À½½Ä¹° 󸮱â, Àü±â¹ä¼Ü, º¸ÀÏ·¯ µî state machine°ú ¼øÂ÷Àû ó¸®ÀÇ °¡Àü Á¦Ç° °³¹ß

//------------------------------
// Define all states
//------------------------------
enum states {
ST01_BOOTUP,
ST02_POWER_OFF,
ST03_POWER_ON,
ST04_COVER_OPEN,
ST05_WASHING,
ST06_CUTTING,
ST07_DEHYDRATE,
ST08_EXITING,
ST09_DRAWER_OPEN,
ST10_MANUAL_WASH,
MAX_STATES
} current_state;

//------------------------------
// Define all inputs
//------------------------------
enum events {
EVT1_POWERKEY,
EVT2_COVER_OPEN,
EVT3_COVER_CLOSE,
EVT4_DRAWER_OPEN,
EVT5_DRAWER_CLOSE,
EVT6_MANUALWASH_KEY,
MAX_EVENTS
} new_event;

void (* const state_table[MAX_STATES]) (void) = {
st01_bootup_run, // ST01_BOOTUP
st02_poweroff_run, // ST02_POWER_OFF
st03_poweron_run, // ST03_POWER_ON
st04_coveropen_run, // ST04_COVER_OPEN
st05_washing_run, // ST05_WASHING
st06_cutting_run, // ST06_CUTTING
st07_dehydrate_run, // ST07_DEHYDRATE
st08_exiting_run, // ST08_EXITING
st09_draweropen_run, // ST09_DRAWER_OPEN
st10_manualwash_run, // ST10_MANUAL_WASH
};

int main(void)
{
current_state = ST01_BOOTUP;

while(1)
{
// change state
if((current_state >= 0) && (current_state < MAX_STATES))
{
  state_table[current_state](); // call the action procedure
}
else
{
  // invalid state
  current_state = ST01_BOOTUP;
}
}
}

FirmwareStudio.zip (114KB)


      [ÀÔ·Â]
      - Àü¿ø Ű
      - ¼öµ¿¼¼Ã´ Ű
      - Ä¿¹ö
      - ¼­¶ø

      [¼¾¼­]
      - µð½ºÅ© ¸ðÅÍ CW ¸®¹ÌÆ® ¼¾¼­
      - µð½ºÅ© ¸ðÅÍ CCW ¸®¹ÌÆ® ¼¾¼­
      - ¸ÞÀÎ ¸ðÅÍ °úºÎÇÏ °¨Áö
      - ¹èÃâ ¸ðÅÍ CW ¸®¹ÌÆ® ¼¾¼­
      - ¹èÃâ ¸ðÅÍ CCW ¸®¹ÌÆ® ¼¾¼­
      - È÷ÅÍ ¿Âµµ °¨Áö
      - È÷ÅÍÆÒ È¸Àü °¨Áö

      [Ãâ·Â]
      - Red LED
      - Green LED
      - Blue LED
      - ¿öÅÍ ¼Ö·¹³ëÀ̵å
      - µð½ºÅ© ¸ðÅÍ CW È¸Àü
      - µð½ºÅ© ¸ðÅÍ CCW ȸÀü
      - ¸ÞÀÎ ¸ðÅÍ CW ȸÀü
      - ¸ÞÀÎ ¸ðÅÍ CCW ȸÀü
      - ¹èÃâ ¸ðÅÍ CW ȸÀü
      - ¹èÃâ ¸ðÅÍ CCW ȸÀü
      - ¸ÞÀÎ ÆÒ
      - È÷ÅÍ ÆÒ
      - Ä𸵠ÆÒ
      - È÷ÅÍ
      - ¹öÀú

 

 

 

(08588) ¼­¿ï ±Ýõ±¸ °¡»êµðÁöÅÐ2·Î 67 ¿¡À̽ºÇÏÀÌ¿£µå7Â÷ 1902È£
E-mail:
ÀüÈ­: 070-7617-8828
Copyright(c) 2015 SUNLOGICS. All rights reserved.