¡Ö¥È¥é¥ó¥¸¥¹¥¿µ»½Ñ¡×Áý´©¹æH8SX/1655¤Î²Á³Ê¤Ï¡ï3,990-¤ÇSH-2AÉÕ°´ðÈĤè¤ê¤â¹â¤¤¤³¤È¤â¤¢¤ê¡¢¿Íµ¤¤¬º£°ì¤Ä¤ÎÍͤǤ¹¡£¤¿¤À¡¢¡Ö¥È¥é¥ó¥¸¥¹¥¿µ»½Ñ¡×¤Ë¤Ï¡ÊƱ¤¸½ÐÈǼҤǤ¢¤ê¤Ê¤¬¤é¡Ë¡Ö¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡×»ï¤ÈÈæ³Ó¤·¤Æ¡¢²¼µÍ¥°ÌÅÀ¤¬¤¢¤ë¤è¤¦¤Ë´¶¤¸¤Þ¤¹
![](https://image01.seesaawiki.jp/h/8/h8h8h8/fe8f48de0af1ae5d.jpg)
USB¥³¥Þ¥ó¥É¤ò¼õ¤±¼è¤ë¤ÈLED(º¸¾å)¤òÅô¤¹¤è¤¦¤Ë¤·¤Þ¤·¤¿¡¡
¡¡
H8SX/1655¤Î´ðÈĤÏSH-2A¤Î´ðÈĤËÈæ¤Ù¤Æ¡¢CPU¥Á¥Ã¥×¤â´ðÈĤâÆó²ó¤ê¾®¤µ¤¤¤Ç¤¹¡£¤´¤é¤ó¤Î¤è¤¦¤Ë¤¹¤´¤¯ÃÏÌ£¤Ç¤¹
¡Ö¥È¥é¥ó¥¸¥¹¥¿µ»½Ñ¡×£±·î¹æ¤ÎÆý¸µ»ö¤ÏH8SX/1653¤òÂоݤȤ·¤Æ¤¤¤Þ¤¹¤¬¡¢¥µ¥ó¥×¥ë¥×¥í¥°¥é¥à¤Ï1655¤Ç¤âÌäÂê¤Ê¤¯Æ°ºî¤·¤Þ¤·¤¿
¾ÜºÙ¤ÏÁý´©¹æ¤ò»²¾È¤¯¤À¤µ¤¤¡£¾ÜºÙ¤ËÀâÌÀ¤µ¤ì¤Æ¤¤¤Þ¤¹
¡¡¡´ðÈĤ˥¸¥ã¥ó¥ÑÍѤΥԥó¤òÉÕ¤±¤ë
¡¡¢¥Õ¥é¥Ã¥·¥å¡¦¥á¥â¥ê½ñ¤¹þ¤ß¥Ä¡¼¥ë¡Ê£Æ£Ä£Ô¡Ë¤ò£Ð£Ã¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë
¡¡£H8SXÍѤÎHEW¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë
°Ê¾å¤ÎÀâÌÀ¤Ï¡¢Áý´©¹æ¤Ë½ñ¤¤¤Æ¤¤¤Þ¤¹
¡¡¤£Ð£Ã¦¤Î¥½¥Õ¥È(VB)¤ò²þ½¤¤¹¤ë¤¿¤áVisual Studio 2008¤«2010¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë
Express ÈǤǤâɾ²ÁÈǤǤâ¤è¤¤¤è¤¦¤Ç¤¹¡£¡ÊÌÞÏÀ¡¢¹ØÆþ¤¹¤ë¤Î¤¬°ìÈ֤褤¤Ç¤¹¤¬¡Ë°Ê¾å¤ÎÀâÌÀ¤Ï¡¢¥È¥é¥ó¥¸¥¹¥¿µ»½Ñ2010ǯ1·î¹æ¤Ë½ñ¤¤¤Æ¤¤¤Þ¤¹¡¡
¡¡ºÇ½é¤Ë¤¤¤Ä¤â¤Î¤ªÃǤê¤Ç¤¹¤¬¡¢¤ä¤Ã¤Ä¤±»Å»ö¤Ê¤Î¤Ç¡¢ÍÄÃդʽ¤Àµ¤Ç¤¹¡£»²¹ÍÄøÅ٤ˤ·¤Æ¤¯¤À¤µ¤¤¡¡
¡¡
¡¡
¡¡VB¤É¤³¤í¤«Basic¤â¤Þ¤È¤â¤ËÃΤê¤Þ¤»¤ó¡£¹Ô¤Åö¤¿¤ê¤Ð¤Ã¤¿¤ê¤Î½¤Àµ¤Ç¤¹¡¡
¡¡½¤Àµ¤ÏfrmMain.vb¤ÎÃæ¤Î¿ô´Ø¿ô¤Î¤ß¤Ç¤¹
¡¡
¡¡
¡¡
¡¡
¡¡
¡¡
¡¡
¡¡
¡¡
¡¡
¡¡
¡¡
¡¡
¡¡
¡¡
¡¡
¡¡
¡¡
¡¡
¡¡
¡¡
¡¡
¡¡
¡¡
¡¡
¡¡
¡¡
¡¡
¡¡
¡¡
¡¡
¡¡
¡¡
¡¡
¡¡
¡¡
¡¡
¡ô | Íø¡¡¡¡ÅÀ | ¥³¡¡¡¡¥á¡¡¡¡¥ó¡¡¡¡¥È |
£± | ³ÈÄ¥´ðÈĤ¬°Â¤¤ | »ä¤Ï¤É¤Á¤é¤â»ý¤Ã¤Æ¤¤¤Þ¤»¤ó¤¬¡¢ ¡¡ |
£² | ¥µ¥ó¥×¥ë¥×¥í¥°¥é¥à¤¬ Ʊ»þ¤Ë¥¢¥Ã¥× | ³Îǧ¤·¤¿Ìõ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤·¤«¤·¡¢¸å¤«¤é¥¢¥Ã¥×¤Ï̵¤¤¤è¤¦¤Ê¡£ Åö¤¿¤êÁ°¤Ç¤¹¤¬¡¢¥µ¥ó¥×¥ë¤òºîÀ®¤·¤Æ¤«¤éµ»ö¤ò½ñ¤¤¤Æ¤¤¤ë¤è¤¦¤Ë»×¤¤¤Þ¤¹ |
£³ | ¥È¥ì¡¼¥¹À¤¬¹â¤¤ | µ»ö¼«ÂΤâÃúÇ«¤Ç¤¹¤·¡¢¤Á¤ã¤ó¤È¥µ¥ó¥×¥ë¤òºîÀ®¤·¤Æ½ñ¤¤¤Æ¤¤¤ë¤Î¤Ç¡¢¿¿»÷ ¤¹¤ì¤ÐÆ°¤¯¤Î¤ÏÆ»Íý¤Ç¤¹ |
£´ | µ»ö¤¬½¸Ì󤷤Ƥ¤¤ë | Æý¸¤ò·è¤á¤Æ¤½¤Îµ»ö¤¬½¸Ì󤷤Ƥ¤¤Þ¤¹¡£Ë¿»ï¤Î¤è¤¦¤Ë¥À¥é¥À¥é³¤¤Þ¤» ¤ó |
![](https://image01.seesaawiki.jp/h/8/h8h8h8/fe8f48de0af1ae5d.jpg)
USB¥³¥Þ¥ó¥É¤ò¼õ¤±¼è¤ë¤ÈLED(º¸¾å)¤òÅô¤¹¤è¤¦¤Ë¤·¤Þ¤·¤¿¡¡
¡¡
H8SX/1655¤Î´ðÈĤÏSH-2A¤Î´ðÈĤËÈæ¤Ù¤Æ¡¢CPU¥Á¥Ã¥×¤â´ðÈĤâÆó²ó¤ê¾®¤µ¤¤¤Ç¤¹¡£¤´¤é¤ó¤Î¤è¤¦¤Ë¤¹¤´¤¯ÃÏÌ£¤Ç¤¹
¡Ö¥È¥é¥ó¥¸¥¹¥¿µ»½Ñ¡×£±·î¹æ¤ÎÆý¸µ»ö¤ÏH8SX/1653¤òÂоݤȤ·¤Æ¤¤¤Þ¤¹¤¬¡¢¥µ¥ó¥×¥ë¥×¥í¥°¥é¥à¤Ï1655¤Ç¤âÌäÂê¤Ê¤¯Æ°ºî¤·¤Þ¤·¤¿
¡¡
µ»ö¤Î¥µ¥ó¥×¥ë¤ÏUSB·Ðͳ¤Ç¥È¥é¥ó¥¸¥¹¥¿¤ÎÆÃÀ¤ò¬Äꤷ¡¢ÆÃÀ¶ÊÀþ¤ò£Ð£Ã¾å¤Ëɽ¼¨¤¹¤ë¤È¤¤¤¦¤â¤Î¤Ç¤¹¡£¥È¥é¥ó¥¸¥¹¥¿¤ÎÆÃÀ¬Äê¤Ë¤Ï¿§¡¹²óÏ©¤òºî¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¤¬¡¢»ä¤Ë¤Ï¤½¤ÎǽÎϤ¬¤¢¤ê¤Þ¤»¤ó¡£¥È¥é¥ó¥¸¥¹¥¿¤ÎÆÃÀ¬Äê¤Ï¥Þ¥¤¥³¥óÍøÍѤΰìÎã¤Ç¤¢¤ê¡¢ÌÜŪ¤ÏUSB¤ÇÄÌ¿®¤¹¤ë¤³¤È¤Ê¤Î¤Ç¡¢Â¬Äê²óÏ©¤ÎºîÀ®¤ÏÃÇÇ°¤·¡¢Â¬Äê·ë²Ì¤È¤Ê¤ë¤Ù¤¥Ç¡¼¥¿¤ÏH8SX/1655ÆâÉô¤ÇÀ¸À®¤¹¤ë¤³¤È¤Ë¤·¤Þ¤¹¡Ê£Ð£Ã¤«¤é¤Î»Ø¼¨¤â(Ib¤È¤«Vce¤â)¤Û¤È¤ó¤É̵»ë¤Ç¤¹)¡Ë¡£¤³¤Î°Ù¤«Èݤ«¡¢ÀµÄ¾¤Ê¤È¤³¤íUSBÄÌ¿®¤ÏÍý²ò¤Ç¤¤Þ¤»¤ó¤Ç¤·¤¿¡£¤ä¤Ï¤ê¥·¥ê¥¢¥ë¤ËÈæ¤Ù¤ë¤ÈÆñ²ò¤À¤È»×¤¤¤Þ¤¹¡£ºÇÂç¤ÎÌäÂê¤Ï¥Þ¥¤¥³¥óËè¤Ë¤½¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¬°Û¤Ê¤ê¡¢Î®ÍѤǤ¤Ê¤¤¤³¤È¤À¤È»×¤¤¤Þ¤¹¡Ê¤»¤á¤ÆƱ¤¸¥á¡¼¥«¤Î¥Þ¥¤¥³¥ó¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ï¹ç¤ï¤»¤ë¤È¤«¡¢¥Õ¥ê¡¼¤Ç¤â¤è¤¤¡Ê̵Êݾڡ¢Ìµ¥µ¥Ý¡¼¥È¡Ë¤Î¤Ç¥É¥é¥¤¥Ð(read()¡¢write()¥ì¥Ù¥ë))¤Î¥µ¥ó¥×¥ë¤Ï¥á¡¼¥«¤¬ÍÑ°Õ¤¹¤Ù¤¤À¤È»×¤¤¤Þ¤¹
¡¡
Æ°ºî·ë²Ì¤Ï¤³¤ó¤Ê´¶¤¸¤Ç¤¹
¡¡
¡¡
¡¡£Ö£Â¤Ï½é¤á¤Æ¤Ê¤Î¤Ç¡¢¥¥ã¥×¥·¥ç¥ó¤Ê¤É¤Ï½¤ÀµÅÓÃæ¤Ç¤¹¡£¥µ¥¤¥ó¥«¡¼¥Ö¤òÉÁ¤¯¤À¤±¤Ê¤é¡¢¤ï¤¶¤ï¤¶H8¤ò»È¤¦É¬ÍפϤʤ¤¤Ç¤¹¤¬¡¢¤´°¦ÕȤǤ¹
¡¡
¡¡
µ»ö¤Î¥µ¥ó¥×¥ë¤ÏUSB·Ðͳ¤Ç¥È¥é¥ó¥¸¥¹¥¿¤ÎÆÃÀ¤ò¬Äꤷ¡¢ÆÃÀ¶ÊÀþ¤ò£Ð£Ã¾å¤Ëɽ¼¨¤¹¤ë¤È¤¤¤¦¤â¤Î¤Ç¤¹¡£¥È¥é¥ó¥¸¥¹¥¿¤ÎÆÃÀ¬Äê¤Ë¤Ï¿§¡¹²óÏ©¤òºî¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¤¬¡¢»ä¤Ë¤Ï¤½¤ÎǽÎϤ¬¤¢¤ê¤Þ¤»¤ó¡£¥È¥é¥ó¥¸¥¹¥¿¤ÎÆÃÀ¬Äê¤Ï¥Þ¥¤¥³¥óÍøÍѤΰìÎã¤Ç¤¢¤ê¡¢ÌÜŪ¤ÏUSB¤ÇÄÌ¿®¤¹¤ë¤³¤È¤Ê¤Î¤Ç¡¢Â¬Äê²óÏ©¤ÎºîÀ®¤ÏÃÇÇ°¤·¡¢Â¬Äê·ë²Ì¤È¤Ê¤ë¤Ù¤¥Ç¡¼¥¿¤ÏH8SX/1655ÆâÉô¤ÇÀ¸À®¤¹¤ë¤³¤È¤Ë¤·¤Þ¤¹¡Ê£Ð£Ã¤«¤é¤Î»Ø¼¨¤â(Ib¤È¤«Vce¤â)¤Û¤È¤ó¤É̵»ë¤Ç¤¹)¡Ë¡£¤³¤Î°Ù¤«Èݤ«¡¢ÀµÄ¾¤Ê¤È¤³¤íUSBÄÌ¿®¤ÏÍý²ò¤Ç¤¤Þ¤»¤ó¤Ç¤·¤¿¡£¤ä¤Ï¤ê¥·¥ê¥¢¥ë¤ËÈæ¤Ù¤ë¤ÈÆñ²ò¤À¤È»×¤¤¤Þ¤¹¡£ºÇÂç¤ÎÌäÂê¤Ï¥Þ¥¤¥³¥óËè¤Ë¤½¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¬°Û¤Ê¤ê¡¢Î®ÍѤǤ¤Ê¤¤¤³¤È¤À¤È»×¤¤¤Þ¤¹¡Ê¤»¤á¤ÆƱ¤¸¥á¡¼¥«¤Î¥Þ¥¤¥³¥ó¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ï¹ç¤ï¤»¤ë¤È¤«¡¢¥Õ¥ê¡¼¤Ç¤â¤è¤¤¡Ê̵Êݾڡ¢Ìµ¥µ¥Ý¡¼¥È¡Ë¤Î¤Ç¥É¥é¥¤¥Ð(read()¡¢write()¥ì¥Ù¥ë))¤Î¥µ¥ó¥×¥ë¤Ï¥á¡¼¥«¤¬ÍÑ°Õ¤¹¤Ù¤¤À¤È»×¤¤¤Þ¤¹
¡¡
Æ°ºî·ë²Ì¤Ï¤³¤ó¤Ê´¶¤¸¤Ç¤¹
![](https://image01.seesaawiki.jp/h/8/h8h8h8/4958c54ba850a311.jpg)
¡¡
¡¡£Ö£Â¤Ï½é¤á¤Æ¤Ê¤Î¤Ç¡¢¥¥ã¥×¥·¥ç¥ó¤Ê¤É¤Ï½¤ÀµÅÓÃæ¤Ç¤¹¡£¥µ¥¤¥ó¥«¡¼¥Ö¤òÉÁ¤¯¤À¤±¤Ê¤é¡¢¤ï¤¶¤ï¤¶H8¤ò»È¤¦É¬ÍפϤʤ¤¤Ç¤¹¤¬¡¢¤´°¦ÕȤǤ¹
¡¡
¡¡
¾ÜºÙ¤ÏÁý´©¹æ¤ò»²¾È¤¯¤À¤µ¤¤¡£¾ÜºÙ¤ËÀâÌÀ¤µ¤ì¤Æ¤¤¤Þ¤¹
¡¡¡´ðÈĤ˥¸¥ã¥ó¥ÑÍѤΥԥó¤òÉÕ¤±¤ë
¡¡¢¥Õ¥é¥Ã¥·¥å¡¦¥á¥â¥ê½ñ¤¹þ¤ß¥Ä¡¼¥ë¡Ê£Æ£Ä£Ô¡Ë¤ò£Ð£Ã¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë
¡¡£H8SXÍѤÎHEW¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë
°Ê¾å¤ÎÀâÌÀ¤Ï¡¢Áý´©¹æ¤Ë½ñ¤¤¤Æ¤¤¤Þ¤¹
¡¡¤£Ð£Ã¦¤Î¥½¥Õ¥È(VB)¤ò²þ½¤¤¹¤ë¤¿¤áVisual Studio 2008¤«2010¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë
Express ÈǤǤâɾ²ÁÈǤǤâ¤è¤¤¤è¤¦¤Ç¤¹¡£¡ÊÌÞÏÀ¡¢¹ØÆþ¤¹¤ë¤Î¤¬°ìÈ֤褤¤Ç¤¹¤¬¡Ë°Ê¾å¤ÎÀâÌÀ¤Ï¡¢¥È¥é¥ó¥¸¥¹¥¿µ»½Ñ2010ǯ1·î¹æ¤Ë½ñ¤¤¤Æ¤¤¤Þ¤¹¡¡
¡¡ºÇ½é¤Ë¤¤¤Ä¤â¤Î¤ªÃǤê¤Ç¤¹¤¬¡¢¤ä¤Ã¤Ä¤±»Å»ö¤Ê¤Î¤Ç¡¢ÍÄÃդʽ¤Àµ¤Ç¤¹¡£»²¹ÍÄøÅ٤ˤ·¤Æ¤¯¤À¤µ¤¤¡¡
¡¡
¡¡
£Ð£Ã¤«¤é¥³¥Þ¥ó¥É¼õ¤±¤Æ±þÅú¤òÊÖ¤¹¤Þ¤Çled¤òÅÀÅô¤·¤Þ¤¹
¡¡
//¥á¥¤¥ó¥ë¡¼¥× //USB½èÍýµÚ¤Ó¡¢¥¢¥Ê¥í¥°²óÏ©½èÍý¤Ï¡¢Ê̤˸ƤӽФ¹¡£ void main(void) { PM.DDR = PM.DDR | 0x08; // led PM.DR.BIT.B3 = 1; // led while(1) { sleep(); //USBÄÌ¿®¤Î¾õ¶·¤¬ÊѲ½¤·¤¿ if( USB_Proc_Flag.BYTE != 0 ) { if( USB_Proc_Flag.BIT.EP1Received == 1) { PM.DR.BIT.B3 = ~PM.DR.BIT.B3; // led USB_Proc_Flag.BIT.EP1Received = 0; Command_Proc(); PM.DR.BIT.B3 = ~PM.DR.BIT.B3; // led } else { USB_Proc(); } } } }
¡¡
¤Û¤È¤ó¤É¡¢¥³¥á¥ó¥È¥¢¥¦¥È¤·¤Æ¤·¤Þ¤¤¤Þ¤·¤¿¡£¥µ¥¤¥ó¤Î¿ôÃͤϲ¿½è¤«¤Î¥µ¥¤¥È¤«¤éĺ¤¤Þ¤·¤¿
¡¡
¡¡
¡¡VB¤É¤³¤í¤«Basic¤â¤Þ¤È¤â¤ËÃΤê¤Þ¤»¤ó¡£¹Ô¤Åö¤¿¤ê¤Ð¤Ã¤¿¤ê¤Î½¤Àµ¤Ç¤¹¡¡
¡¡½¤Àµ¤ÏfrmMain.vb¤ÎÃæ¤Î¿ô´Ø¿ô¤Î¤ß¤Ç¤¹
Private Sub frmMain_Load(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles MyBase.Load Try frmMy = Me Startup() 'Æ°ºî¥ì¥ó¥¸¤òÊäÀµÃͤòµÏ¿¤·¤¿¤â¤Î¤«¤é¼è¤ê½Ð¤¹ txtMaxIb.Text = My.Settings.MaxIb txtMaxIc.Text = My.Settings.MaxIc txtMaxVceIn.Text = My.Settings.MaxVceIn txtMaxVceOut.Text = My.Settings.MaxVceOut 'Æ°ºî¸¡¾Ú¥â¡¼¥É¤Ç¤âÄÌ¿®µö²Ä¤·¤Æ¤ª¤¯¡£ measureData.State = MeasureSequenceData.SequenceState.Stanby '¥°¥é¥ÕÆ°ºî¤Î½é´ü²½ Dim myPanel As GraphPane = grpMain.GraphPane myPanel.Title.Text = "Àµ¸¹¶ÊÀþ" myPanel.XAxis.Title.Text = "Time[ms]" myPanel.XAxis.Scale.Align = AlignP.Outside myPanel.XAxis.Scale.Min = 0 myPanel.XAxis.Scale.Max = 4.8 myPanel.XAxis.MajorTic.IsInside = False myPanel.XAxis.MinorTic.IsInside = False myPanel.XAxis.MajorGrid.IsVisible = False myPanel.XAxis.IsAxisSegmentVisible = True myPanel.XAxis.MajorGrid.IsZeroLine = True myPanel.YAxis.Title.Text = "Ic[mA]" myPanel.YAxis.Scale.Align = AlignP.Outside myPanel.YAxis.Scale.Min = 0 myPanel.YAxis.MajorTic.IsInside = False myPanel.YAxis.MinorTic.IsInside = False myPanel.YAxis.Scale.Max = 660 myPanel.YAxis.MajorGrid.Color = Color.White myPanel.YAxis.MajorGrid.IsVisible = False myPanel.YAxis.IsAxisSegmentVisible = True 'myPanel.Chart.Fill = New Fill(Color.AliceBlue, Color.Navy, 45.0F) myPanel.Chart.Fill = New Fill(Color.FromArgb(10, 10, 10), Color.FromArgb(10, 10, 10), 0.0F) myPanel.Legend.IsVisible = False grpMain.IsShowHScrollBar = True grpMain.IsShowVScrollBar = True grpMain.IsAutoScrollRange = True grpMain.IsShowPointValues = True grpMain.AxisChange() grpMain.Invalidate() Catch ex As Exception Throw End Try End Sub
Private Sub CmdTransistorMeasure_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdTransistorMeasure.Click Dim limitIb As Double Dim limitIc As Double Dim limitVce As Double Dim limitPc As Double Dim stepIb As Double Dim stepVce As Double Dim nowPc As Double Dim deltPc As Double Dim result() As MeasureSequenceData Dim resultIndex As Integer Dim I As Integer 'ÆþÎÏÃͤ¬ÉÔÀµ¤Ê¤Î¤ÏÁÛÄꤵ¤ì¤ë¥¨¥é¡¼¤Ê¤Î¤Ç¡¢½èÍý¤Ï¤½¤Î¤Þ¤Þ¹Ô¤ï¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¤À¤±¡£ Try limitIb = CDbl(txtLimitIb.Text) limitIc = CDbl(txtLimitPc.Text) limitVce = CDbl(txtLimitVce.Text) limitPc = CDbl(txtLimitPc.Text) stepIb = CDbl(txtStepIb.Text) stepVce = CDbl(txtStepVce.Text) '£±¤Ä¤Î¥Ù¡¼¥¹ÅÅήÃͤËÂФ·¤Æ¤Î·×¬·ë²Ì¤òÊÝ»ý¤¹¤ë¡ÊÆ°ºî»þºÇÂç¸Ä¿ôʬ¡Ë ReDim result(CInt(limitVce / stepVce) + 1) Catch ex As Exception Exit Sub End Try cmdSendandReceiveViaBulkTransfers.Enabled = False cmdSendCommand.Enabled = False CmdTransistorMeasure.Enabled = False myDeviceDetected = FindMyDevice() If myDeviceDetected Then '·×¬ÁõÃÖ¤¬¸«¤Ä¤«¤Ã¤¿¤é¡¢·×¬¾õÂÖ¤ò½é´ü²½¤¹¤ë¡£ measureData.State = MeasureSequenceData.SequenceState.Ready measureData.Out.Ib = stepIb '0¤ò·×¬¤·¤Æ¤â°ÕÌ£¤¬¤Ê¤¤¤Î¤Ç¡¢½é´üÃͤϺǽé¤ÎÃÊ '¥°¥é¥Õ¾å¤ËÉÁ²è¤µ¤ì¤Æ¤¤¤ë·ë²Ì¤ò°ìöÁ´¾Ãµî¤¹¤ë¡£ grpMain.GraphPane.CurveList.Clear() grpMain.Invalidate() '¥Ù¡¼¥¹ÅÅή¤Î½ÐÎÏÃͤ¬Äê³ÊÃͤ«¡¢ºÇÂç½ÐÎÏÃͤòĶ¤¨¤¿¤é½ªÎ» ' While (measureData.Out.Ib <= limitIb) And (measureData.Out.Ib <= MaxIb) And (measureData.State <> MeasureSequenceData.SequenceState.Fail) For I = 1 To 3 grpMain.GraphPane.CurveList.Clear() grpMain.Invalidate() measureData.Out.Vce = 0 '½é´üÃÍ¤Ï 0 measureData.Pc = 0 '¥³¥ì¥¯¥¿Â»¼ºÆɤßÃͽé´ü²½ nowPc = 0 '¥³¥ì¥¯¥¿Â»¼º¤ÎÈæ³ÓÃͽé´ü²½¡ÊÀäÂÐÃÍ¡Ë deltPc = 0 '¥³¥ì¥¯¥¿Â»¼º¤ÎÈæ³ÓÃͽé´ü²½¡Êº¹Ê¬ÃÍ¡Ë resultIndex = 0 '·×¬·ë²ÌÊݸ¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ï¡¢£±¤Ä¤Î£É£âʬ·×¬Ëè¤Ë½é´ü²½¤¹¤ë¡£ '¥¨¥ß¥Ã¥¿¡¦¥³¥ì¥¯¥¿´ÖÅÅ°µ¤¬Äê³ÊÃͤ«¡¢ºÇÂç½ÐÎÏÃͤòĶ¤¨¤¿¤é½ªÎ» While (measureData.Out.Vce <= limitVce) And (measureData.Out.Vce <= MaxVceOut) measureOneSession() '1¥»¥Ã¥·¥ç¥óʬ¤ÎÄÌ¿®Ãæ¤Ë¥¨¥é¡¼¤¬À¸¤¸¤¿ If measureData.State = MeasureSequenceData.SequenceState.Fail Then '·×¬¤òÃæÃǤ¹¤ë¡£¡Ê¤³¤³¤Þ¤Ç¤Î·ë²Ì¤òɽ¼¨¤¹¤ë°Ù1Ãʥ롼¥×¤òÈ´¤±¤ë¡Ë Exit While End If '¥³¥ì¥¯¥¿Â»¼º¤Ï¡¢¥³¥ì¥¯¥¿ÅÅή£Ø¥³¥ì¥¯¥¿¡¦¥¨¥ß¥Ã¥¿´ÖÅÅ°µ¡£ '¤À¤À¤·¡¢¥³¥ì¥¯¥¿¡¦¥¨¥ß¥Ã¥¿´ÖÅÅ°µ¤ÎÆþÎÏÃͤϡ¢¥¢¥Ê¥í¥°²óÏ©¤ÎÊݸî²óÏ©¤¬µ¡Ç½¤·¤Æ '¼ÂºÝ¤è¤ê¤âÄ㤯½Ð¤ë¤Î¤Ç¡¢¥³¥ì¥¯¥¿¡¦¥¨¥ß¥Ã¥¿´ÖÅÅ°µ¤Ï½ÐÎÏÃͤòÍѤ¤¤ë¡£ deltPc = measureData.Pc measureData.Pc = measureData.Inp.Ic * measureData.Out.Vce deltPc = measureData.Pc - deltPc result.SetValue(measureData, resultIndex) resultIndex += 1 '¼¡²ó·×¬»þ¤Î¥³¥ì¥¯¥¿Â»¼º¤¬Äê³Ê¤òĶ¤¨¤ë¤ÈͽÁÛ¤µ¤ì¤ë¾ì¹ç¤Ï¡¢Æ±£É£â»þ¤Î·×¬¤ò½ªÎ»¤¹¤ë¡£ If measureData.Pc + deltPc > limitPc Then Exit While End If 'Ic¤Î·×¬Ãͤ¬·×¬¾å¸ÂÃͤË㤷¤¿¾ì¹ç¡¢¤³¤ì°Ê¾å·×¬¤·¤Æ¤â°ÕÌ£¤¬¤Ê¤¤¤Î¤Ç½ªÎ»¤¹¤ë¡£ If measureData.Inp.Ic >= MaxIc - (MaxIc / 1023) Then Exit While End If '¼¡²ó·×¬ÍÑVceÃͤÎÀßÄê measureData.Out.Vce += stepVce 'End While '¥°¥é¥Õ 1ËÜʬ½é´ü²½ Dim list As New PointPairList For cnt As Integer = 0 To resultIndex - 1 list.Add(result(cnt).Out.Vce, result(cnt).Inp.Ic) Next If resultIndex > 1 Then Dim list2 As New PointPairList For cnt As Integer = resultIndex - 2 To resultIndex - 1 list2.Add(result(cnt).Out.Vce, result(cnt).Inp.Ic) Next '¥Ù¡¼¥¹ÅÅή¤¬Ä㤤¤Û¤É¡¢Çö¤¤¥°¥ì¡¼¤Çɽ¼¨¤¹¤ë¡£ 'Dim gray As Integer = 255 - CInt(measureData.Out.Ib / MaxIb * 255) 'If gray < 0 Then gray = 0 '¥°¥é¥Õ1ËÜʬ¤ÎÉÁ²èÀßÄê 'Dim myCurve As LineItem = grpMain.GraphPane.AddCurve("Ib=" + CStr(measureData.Out.Ib), list, Color.FromArgb(gray, gray, gray)) Dim myCurve As LineItem = grpMain.GraphPane.AddCurve("Ib=" + CStr(measureData.Out.Ib), list2, Color.FromArgb(0, 255, 0)) grpMain.GraphPane.CurveList.Reverse() 'Äɲ乤륰¥é¥ÕÀþ¤ÎÊý¤¬¿§¤¬Ç»¤¯¤Ê¤ë¤Î¤ÇÁ°Ì̤Ëɽ¼¨¤¹¤ë¤è¤¦¤ËʤӤòµÕž¤¹¤ë¡£ myCurve.Line.Width = 1 myCurve.Line.IsSmooth = True myCurve.Line.IsAntiAlias = True myCurve.Symbol.IsVisible = False grpMain.Invalidate() '¼¡²ó·×¬ÍÑIbÃͤÎÀßÄê 'measureData.Out.Ib += stepIb ¼þÇÈ¿ô¤Ê¤Î¤Çstep up¤·¤Ê¤¤ End If End While Next 'Æ°ºî¸¡¾Ú¥â¡¼¥É¤Ç¤â¡¢ÄÌ¿®¤òµö²Ä¤¹¤ë¡£ measureData.State = MeasureSequenceData.SequenceState.Stanby cmdSendandReceiveViaBulkTransfers.Enabled = True cmdSendCommand.Enabled = True CmdTransistorMeasure.Enabled = True End If End Sub¡¡
¡ô | ´Ø¡¡¡¡¿ô | ½¤¡¡¡¡¡¡¡¡¡¡¡¡Àµ |
£± | CQTransistorMeasure.c | ¥á¥¤¥ó¥ë¡¼¥×¤ÎÃæ¤Ç¡¢ ¡¦¥³¥Þ¥ó¥É½èÍýÃæ¤ËLEDÅÀÅô ¡¡ |
£² | Analog_drv.c | ¥¢¥Ê¥í¥°²óÏ©¤Ï¼ÂÁõ¤·¤Æ¤¤¤Ê¤¤¤Î¤Ç¡¢¤Û¤È¤ó¤É¥³¥á¥ó¥È¤Ë¤·¤Þ¤¹ ¡¦sin(Vce)¤òIc¤È¤·¤ÆÊÖµÑ ¡¡ |
£³ | frmMain_Load | ¡¦¥°¥é¥Õ¤ÎÇطʤò¹õ ¡¦¥°¥é¥Ç¥¨¡¼¥·¥ç¥ó¤ò¤ä¤á ¡¦¥¥ã¥×¥·¥ç¥ó¤ò½¤Àµ¡¡ |
£´ | CmdTransistorMeasure_Click | ¡¦Vce¤Î½é´üÃͤÏ0¤«¤é ¡¦Àþ¤Î¿§¤òÎФˡ¢ÂÀ¤µ¤Ï£± ¡¦Àþ£±ËÜʬ¬Äꤷ¤ÆÀþñ°Ì¤ÇÉÁ²è¤·¤Æ¤¤¤¿¤Î¤ò£±Â¬ÄêËè¤ËÉÁ²è¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¢ ¡¡Æ°²è¤ÎÍͤËÀþ¤òÉÁ¤¯ |
¡¡
¡¡
¡¡
¡¡
¡¡
¡¡
¡¡
¡¡
¡¡
¡¡
¡¡
¡¡
¡¡
¡¡
¡¡
¡¡
¡¡
¡¡
¡¡
¡¡
¡¡
¡¡
¡¡
¡¡
¡¡
¡¡
¡¡
¡¡
¡¡
¡¡
¡¡
¡¡
¡¡
¡¡
¡¡
¡¡
¤³¤Î¥Ú¡¼¥¸¤Ø¤Î¥³¥á¥ó¥È
¤Ä¤¿¤Ê¤¤Ê¸¾Ï¤òÆɤó¤Ç夤¤¿¾å¤Ë¥³¥á¥ó¥È¤Þ¤Ç夶²½Ì¤Ç¤¹
¥Ï¡¼¥É¥¦¥§¥¢¥Þ¥Ë¥å¥¢¥ë¤ò¤Á¤ã¤ó¤ÈÆɤà¤Ù¤¤À¤È¤Ï»×¤¦¤Î¤Ç¤¹¤¬¡¢¥¢¥Þ¥Á¥å¥¢¤Ë¤Ï˵¤Ëʹ¤¯¿Í¤¬¤¤¤Ê¤¤¡¢¥Ç¥Ð¥Ã¥°´Ä¶¤¬½¼¼Â¤·¤Æ¤¤¤Ê¤¤¤Ê¤É¡¦¡¦¡¦¡¢
¥µ¥ó¥×¥ë¤Þ¤Ç´Þ¤á¤Æ¥Þ¥Ë¥å¥¢¥ë¤À¤È»×¤¦¤Î¤Ç¤¹¤¬
¤½¤¦¤¤¤¦°ÕÌ£¤Ç£Ô»ï¤Ïµ®½Å¤Ç¤¹
µ»ö¤Ë¤Ï¤Û¤È¤ó¤É¥½¡¼¥¹¥³¡¼¥É¤ÎÀâÌÀ¤òÆþ¤ì¤ë¤³¤È¤¬½ÐÍè¤Ê¤«¤Ã¤¿¤Î¤Ë¡¢¤è¤¯²òÀϤµ¤ì¤Æ´Ø¿´¤¤¤¿¤·¤Þ¤·¤¿¡£
¤ª¤Ã¤·¤ã¤ëÄ̤ꡢ¥µ¥ó¥×¥ë¥×¥í¥°¥é¥à¤Ïµ»ö¤ò½ñ¤¾å¤²¤ëÁ°¤Ëºî¤Ã¤Æ¤¤¤Þ¤¹¡£µ»ö¤òÀè¤Ë½ñ¤¤¤Á¤ã¤¦¤È±³¤ò½ñ¤¤¤·¤Þ¤¤¤½¤¦¤Ç¤¹¡£
¥¨¥ó¥É¥Ý¥¤¥ó¥È¤¬Âô»³¤¢¤ê¤Þ¤¹¤¬¡¢
¥×¥é¥°¥¢¥ó¥É¥×¥ì¥¤¤Î£±Ëܤȡ¢ÊÒÊý¸þÄÌ¿®£Ø£²¤Î¥·¥ê¥¢¥ë¤È»×¤Ã¤Æ¤ß¤ë¤È¡¦¡¦¡¦¤Ã¤Æ¤ä¤Ã¤Ñ¤ê¥·¥ê¥¢¥ë¤ËÈæ¤Ù¤¿¤éÌÌÅݤǤ¹¤è¤Í¡£
´Êñ¤Ê¤³¤È¤ò¤µ¤»¤ë¤Ë¤Ï¤ä¤ä¤³¤·¤¤¤ó¤Ç¤¹¤¬¡¢º£É÷¤Îï¤Ç¤â»È¤¨¤ë¥Ç¥Ð¥¤¥¹¤òºî¤í¤¦¤È¤¹¤ë¤È¡¢¤³¤ó¤Ê¤ä¤ä¤³¤·¤¤µ¬³Ê¤Ë¤Ê¤ë¤È¤¤¤¦¤È¤³¤í¤Ç¤·¤ç¤¦¤«¡£