|
INtime
Tech
¡¸INtime documentary¡¹~INtime ÃʽÉÀÚ
üÇè±â
| ¾Æ³¯·Î±× µ¥ÀÌÅÍ º¯È¯Ä¡ Ãëµæ ½º·¹µå ¿Ï¼º! |
 |
10¿ù 21ÀÏ···µðÁöÅÐ º¸µå |
|
µðÁöÅÐ º¸µå Ãâ·Â¿¡ °üÇØ¼´Â, ¾Æ³¯·Î±× º¸µåÀÇ °æ¿ì¿Í °°ÀÌ ¼ø¼¸¦ ÃëÇß½À´Ï´Ù. ¿ì¼± »ç¾çÀ»
È®ÀÎÇϴ£º
|
| µðÁöÅÐ º¸µå Ãâ·Â¿¡ ´ëÇÑ »ç¾ç
±â¼úºÎ |
|
µðÁöÅÐ º¸µå Ãâ·Â¿¡ ´ëÇÑ »ç¾ç ±â¼úºÎ
|
¡Ü
|
DOÄ«µå¸¦ °ËÃâÇÒ ¼ö ÀÖ´Â °Í···ÇÒ ¼ö ¾ø´Â °æ¿ì, DOÃâ·ÂÀ» ÇÏÁö ¾Ê´Â ¸ðµå·Î µ¿ÀÛ |
| ¡Ü |
°¢ CHÀÇ °ªÀÌ+8.0 VÀÌ»óÀ¸·Î ¼ÒÁ¤ DOºñÆ®¸¦ ON·Î ÇÑ´Ù.DO´Â 8ºñÆ® »ç¾ç ÇØ, ºñÆ® 0ÀÌ CH0, ºñÆ® 7ÀÌ CH7¿Í °°ÀÌ
´ëÀÀ½ÃŲ´Ù.DOÆ÷ÅäÀÇ ¿ÀÇÁ¼Â+0 |
| ¡Ü |
100 msÁֱ⿡ DO8~15ºñÆ®¸¦ Á¡¸ê½ÃŰ´Â ½º·¹µå¸¦ °¡Áö´Â °Í.DOÆ÷ÅäÀÇ
¿ÀÇÁ¼Â+1
| »ó±âÀÇ »ç¾çÀ¸·Î Àо ¼ö ÀÖ´Â °Í |
|
µðÁöÅÐ º¸µå Ãâ·Â¿¡ ´ëÇÑ »ç¾ç ±â¼úºÎ
|
| ¡Ü |
PciFindDevice ÇÔ¼ö¸¦ »ç¿ëÇØ, µð¹ÙÀ̽ºÀÇ °ËÃâÀ» ÇàÇÒ »ÓÀ¸·Î, ÀÎÅÍ·´Æ® ·¹º§À» ÀÌ¿ëÇÏÁö ¾Ê´Â´Ù(ÀÎÅÍ·´Æ®¸¦ »ç¿ëÇÏÁö
¾Ê´Â´Ù). |
| ¡Ü |
¾Æ³¯·Î±× º¸µå ó¸®¿Í °°°í, ¾×¼¼½º ÇÏ´Â ÁÖ¼Ò¸¦ ¼³Á¤ÇÑ´Ù. |
| ¡Ü |
¼ÒÁ¤ ºñÆ® Ãâ·Â DO󸮴 ¾Æ³¯·Î±× µ¥ÀÌÅÍ º¯È¯Ä¡ ÀԷ½ÿ¡ ½Ç½ÃÇÑ´Ù. |
| ¡Ü |
100 msÁֱ⿡ DO8~15ºñÆ®¸¦ Á¡¸ê½ÃŰ´Â ½º·¹µå´Â µ¶¸³ÇÑ ½º·¹µå(DOBlinkCtrlThread).
<¼ÒÁ¤ ºñÆ® Ãâ·Â£º8 VÀÌ»óÀÇ °æ¿ì DOº¸µå Ãâ·ÂÇÑ´Ù>
·aData[i]····8 CHºÐÀÇ ¾Æ³¯·Î±× µ¥ÀÌÅÍ
·µðÁöÅÐ º¸µå Ãâ·Â ±×·ì(BASE ADDRESS+ 0x04 ~ 0 x07)
·wDigitalData···µðÁöÅÐ º¸µåÀÇ ±×·ì¿¡ Ãâ·ÂÇÏ´Â µ¥ÀÌÅÍ
-----------------------------------------------------------------
for( i = 0 ; i < CH_CNT;i++){
if( aData[i] >= VAL_8V){
/*È¥Àâ µ¥ÀÌÅͰ¡ 8 VÀÌ»óÀÇ °æ¿ì CH¿¡ ´ëÀÀÇÑ ºñÆ® ON·Î ÇÑ´Ù*/
wDigitalData = wDigitalData | (0x01 << i);
}
}
if (µðÁöÅÐ º¸µå °ËÃ⠵Ǿî ÀÖ´Â °æ¿ì){
outbyte(µðÁöÅÐ º¸µå º£À̽º ÁÖ¼Ò + 0x04,wDigitalData);
}
<100 msÁÖ±â DOÃâ·Â ½º·¹µå>
void DOBlinkCtrlThread(void)
{
int ctrlSW; // ON/OFF Á¦¾î »óÅ Ç÷¡±×
ctrlSW = 0;
while (1)
{
RtSleep(100);
/*¡¡100 msÁֱ⿡ µðÁöÅÐ º¸µå¸¦ Á¡¸ê½ÃŰ´Â*/
if(ctrlSW == 0){
/* DOºñµå ON»óÅ·Π¼³Á¤ */
outbyte(strInfo.digitalAdd + 0x05 ,0xFF);
ctrlSW = 1;
}else{
/* DOºñµå OFF »óÅ·Π¼³Á¤ */
outbyte(strInfo.digitalAdd + 0x05 ,0x00);
ctrlSW = 0;
}
}
}
|
| |
|
HOME |
INtime
|