
½©·î(Cmos)¤µ¤ó¤ÎAKI-H8-USB³«È¯¥¥Ã¥È
2003/MAY/24
¤³¤³¤Ç¤¤¤Ã¤Æ¤ë¤È¤ª¤ê¤ä¤Ã¤¿¤é¡ß¡ß¤¬µ¯¤¤¿¡ª¤È¸À¤ï¤ì¤Æ¤âÀÕǤ¤Ï»ý¤Æ¤Þ¤»¤ó¡£³Æ¼«¤ÎÀÕǤ¤Ë¤ª¤¤¤Æ¤ª´ê¤¤¤·¤Þ¤¹¡£
Åö¥µ¥¤¥È¤Ï½©·î¤µ¤ó¤äCmos¤µ¤ó¤È¤Ï²¿¤Î´Ø·¸¤â¤¢¤ê¤Þ¤»¤ó¡£
ξ¼Ò¤ËÂФ·Ì䤤¹ç¤ï¤»¤ë¤è¤¦¤Ê¤³¤È¤Ï¿¼¤¯¤´±óθ¤¯¤À¤µ¤¤¡£
¤Þ¤¿¤³¤³¤Ë¤¢¤ëÁ´¤Æ¤ÏÆÃ¤Ë»ØÄꤷ¤Ê¤¤¸Â¤êwatson8¤¬¤¢¤¯¤Þ¤Ç¸Ä¿ÍŪ¤Ë¸¡Æ¤¤·¤¿¤â¤Î¤Ç¤¹¡£
ÆÃ¤Ë¤¢¤Æ¤â¤Ê¤¯Çã¤Ã¤Æ¤¢¤Ã¤¿AKI-H8-USB³«È¯¥¥Ã¥È¤È¤¤¤¦¤ä¤Ä¡£ÅŸ»¤È232C¤·¤«¤Ä¤Ê¤¬¤Ã¤Æ¤Ê¤¤3052F¥Ü¡¼¥É
¤â;¤Ã¤Æ¤¤¤¿¤³¤È¤â¤¢¤ê¡¢ÁȤßΩ¤Æ¤Æ¤ß¤Þ¤·¤¿¡£
¼Â¤Ï½¾Íè¤Î+12V·Ï¤Î3048F¥Ü¡¼¥É¤Ï»ý¤Ã¤Æ¤Ê¤¤¤Î¤Ç¡¢´ØÏ¢¤¹¤ëÏäϤϤº¤·¤Æ¤ë¤«¤â¡£¤·¤«¤â¥µ¥ó¥×¥ë¤¬Æ°¤¤¤¿¤À
¤±¤À¤·¡Ä¤´¤á¤ó¤Ê¤µ¤¤¡£(^^;)
¤³¤Î¥¥Ã¥È¤Ç²¿¤¬¤Ç¤¤ë¤Î¡©
USB¥³¥ó¥È¥í¡¼¥é¤È¤·¤Æ¤ÏÂçÄêÈÖ¤ÎUSBN9604¤¬ºÜ¤Ã¤Æ¤Þ¤¹¡£USB²È¤Î»Ò¶¡¤Ë¤·¤«¤Ê¤ì¤Þ¤»¤ó¤«¤é¡¢
¤ªÏäǤ¤ë¤Î¤Ï¿Æ¡¢Ä̾ï¤ÏPC¸ÂÄê¤È¤¤¤¦¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£¼«Ê¬¤¬USB¥Þ¥¦¥¹¤Î¥Õ¥ê¤ò
¤¹¤ë¤³¤È¤Ï²Äǽ¤Ç¤¹¤¬¡¢USB¥Þ¥¦¥¹¤È¤ªÏäϤǤ¤Þ¤»¤ó¡£
½¾Íè¤Î¡Ö3048F¥Þ¥¶¡¼¥Ü¡¼¥É¡×¤Îµ¡Ç½¤ò¤Û¤Ü·Ñ¾µ¤·¤Þ¤¹¡£¥¿¥¯¥È(¥Ç¥£¥Ã¥×)SW4¸Ä¡¢LED4¸Ä¡¢
16*2±Õ¾½¥â¥¸¥å¡¼¥ë¤Ê¤É¡£
LED¤ÏµÛ¤¤¹þ¤ßÅÀÅô¤ËÊѹ¹(¡©)¤µ¤ì¤Þ¤·¤¿¤¬
±Õ¾½¥â¥¸¥å¡¼¥ë¤«¤éÆÉ¤ß½Ð¤»¤Ê¤¤¤Î¤Ï½¾Íè¤É¤ª¤ê¡£ÅŸ»¤Ï+5V¢Í+12V¾º°µ²óÏ©¤¬¼ÂÁõ¤Ç¤¤Þ¤¹¡£
¥³¥Í¥¯¥¿Îà¤â´Þ¤á¤Æ¥Ô¥Ã¥¿¥·¥µ¥¤¥º¤ÎÅÛ¤¬Æ±º¤µ¤ì¤Æ¤¤¤ë¾å¡¢¥Ñ¡¼¥Ä¿ô¤â¤É¤ó¤Ô¤·¤ã¡£
½¾Íè¤Î½©·î¥¥Ã¥È¤È¤Ï°ã¤¦¤Ê¤¡¡£(^^;)
USBN9604¤¬CS2*¶õ´Ö¤Ë8¥Ó¥Ã¥È¥Ñ¥é¥ì¥ëÀܳ¤µ¤ì¤Þ¤¹¡£2MB¶õ´Ö¤Î¤¦¤Á
2¥Ð¥¤¥È¤ò»ÈÍÑ¡£
¥Á¥Ã¥×¤ÎINTR¤¬IRQ5¤ËÀܳ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¥Ï¡¼¥Õ¥Ô¥Ã¥ÁɽÌ̼ÂÁõ¤Ï¼«Ê¬¤Ç
¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ÅöÌÌUSB¤ÏÉÔÍפȹͤ¨¤Æ¤¤¤Æ¤â¡¢¸å¤Ç¡Ö¤ä¤Ã¤Ñ¤êºÜ¤»¤è¤¦¡×¤Ï
¤«¤Ê¤êº¤Æñ¤Ç¤·¤ç¤¦¡£
SRAM¤Ï¥½¥ë¥À¥µ¥¤¥É¤«¤é¤ä¤Ï¤ê¥Ï¡¼¥Õ¥Ô¥Ã¥Á628128·Ï1MÉʤ«4MÉÊ
¤ò¼«Ê¬¤ÇɽÌ̼ÂÁõ¤·¤Þ¤¹¡£¡Öºß¸Ë¸Â¤ê¤Î¥ª¥Þ¥±¡×¤È¾Î¤·¤ÆTC551001-70¤¬
¤Ä¤¤¤Æ¤¤Þ¤·¤¿¡£ÀéÀФµ¤ó¤ÇÇ㤦¤È750±ß¤À¤Ã¤¿¤è¤¦¤Ê¡£CS1*¶õ´Ö¤Ë
8bitÀܳ¤Ç¤¹¤¬¡¢cpu¤ÎA17¤¬SRAM¤Î¥Á¥Ã¥×¥»¥ì¥¯¥È¤Ë¤Ï¤¤¤ë¤¿¤á¡¢A17=1
¤Ç¤¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤Ä¤Þ¤ê0x220000-0x23ffff¤Ç¤¹¡£(0x260000-0x27ffff
¤È¤«¤Ë¥¤¥á¡¼¥¸¤¬¤¿¤Ã¤Æ¤¤¤ë¤Ï¤º)
[ÄɲÃ.03/MAY/26]
Âç»ö¤Ê¤³¤È¤ò½ñ¤Ëº¤ì¤Æ¤Þ¤·¤¿¡£cpu¥Ü¡¼¥É¤òºÜ¤»¤ë¥½¥±¥Ã¥È°Ê³°¤Ë
(¤½¤Î¤Þ¤Þ1ÂÐ1ÇÛÀþºÑ¤ß)¥é¥ó¥É¤¬ÍѰդµ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤³¤Ë¥½¥±¥Ã¥È/¥³¥Í¥¯¥¿
·Ðͳ¤Ç¥ª¥ê¥¸¥Ê¥ë¥µ¥Ö¥Ü¡¼¥É¤òÁýÀߤ¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¤¨¡©ÁȤßΩ¤Æ¥Þ¥Ë¥å¥¢¥ë¤Ï¡©
¤Ï¤¤¡£¤Û¤È¤ó¤É¤Ê¤¤¤ËÅù¤·¤¤¤Ç¤¹¡£¥«¥ì¡¼¤Îºî¤êÊý¤Ç¸À¤¦¤È¡¢¥Ë¥ó¥¸¥ó¤ÎÈé¤Î¤à¤Êý¤ä¥Õ¥é¥¤¥Ñ¥ó¤ÎÀö¤¤Êý¤Ë¤Ï
¤ä¤¿¤é¾Ü¤·¤¤¤â¤Î¤Î¡¢¤¤¤¶¤È¤¤¤¦¤È¤³¤í¤Ç¡ÖÆé¤Î¼Ì¿¿¤Î¤è¤¦¤Ëºî¤ì¡×¡¢¤È¸À¤ï¤ì¤ë´¶¤¸¡£ÆÃ¤Ë»æ¤Î²óÏ©¿Þ
¤¬¤Ê¤¤¤Î¤Ï¤¢¤Þ¤ê¤Ë¤âÉÔ¿ÆÀÚ¡£
Åö½é¡ÖɬÍפÊÉôÉʤÀ¤±ºÜ¤»¤è¤¦¡×¤È»×¤Ã¤Æ¤¤¤¿¤Î¤Ç¤¹¤¬¡¢²óÏ©¿Þ¸«¤ë¤Î¤¬¤á¤ó¤É¤¯¤µ¤¯¤Æ
¥¨¥¤¥ä¥Ã¤È²¿¤â¤«¤âºÜ¤»¤Æ¤·¤Þ¤¤¤Þ¤·¤¿¡£
ÁȤßΩ¤ÆÃí°Õ
¥Ï¡¼¥Õ¥Ô¥Ã¥Á¥Ï¥ó¥ÀÉÕ¤±¡Ä°Õ³°¤È¤Ç¤¤ë¤â¤ó¤Ç¤¹¡£30Wµé¥³¥Æ¤ÎÇ®¤Ç¤Ï¤½¤¦¤½¤¦²õ¤ì¤Þ¤»¤ó¡£(±ÆÝ¤ß¤Ë¤·¤Ê¤¤¤è¤¦¤Ë¡ª)½é¤á¤Æ¤ÊÊý¤Ï¥½¥ë¥À¥¦¥£¥Ã¥¯¤òÍѰդ·¤Æ¤ª¤¤Þ¤·¤ç¤¦¡£
(¤µ¤é¤ËºÙ¤«¤¤¥Ô¥Ã¥Á¤À¤È¤Ù¤Á¤ç¡Á¡Á¤Èή¤·¤Æ¤ª¤¤¤Æ¤«¤éµÛ¤¤¼è¤ê¤Þ¤¹)
ÅŸ»¡ÄL300/SW460¤Î¼ÂÁõ¤ËÃí°Õ¤¬É¬ÍפǤ¹¡£(¥Þ¥Ë¥å¥¢¥ë¤Î¸å¤Î¤Û¤¦¤Ç¡ÖºÜ¤»¤ë¤Ê¡×¤È½Ð¤Æ¤¯¤ë^^;)
USB¤«¤é¤â¤é¤¦¡Ä¼èÀâ¤É¤ª¤ê¤ËL300¤òºÜ¤»¤Þ¤¹¡£±Õ¾½¤Î¥Ð¥Ã¥¯¥é¥¤¥È¤Ï¤«¤Ê¤ê¸·¤·¤¤¤È»×¤ï¤ì¤Þ¤¹¡£
¤Á¤Ê¤ß¤ËźÉÕ¤Î(win¾å¤Î)¥É¥é¥¤¥Ð¤Ç¤Ï¡Ö100mA¤Þ¤Ç¡×¤È¸À¤Ã¤Æ¤Þ¤¹¤¬¡¢25MHzCPU¥Ü¡¼¥É¤À¤±¤Ç
ͤ¨¤Ê¤¤¤«¤Ê¡Ä¡Ö¤Û¤ó¤È¤Ï¥Ò¥å¡¼¥ºÆþ¤ì¤ÆÍߤ·¤¤¤Ê¤¡¡×¤ß¤¿¤¤¤Êɽ¸½¤¬¥Þ¥Ë¥å¥¢¥ë¤Ë¡£
ºÜ¤»¤ëCPU¥Ü¡¼¥É¤Î7805¤Î¤ϥ«¥Ã¥È¤·¤Æ¤¯¤À¤µ¤¤¡£
ŬÅö¤ÊAC¥¢¥À¥×¥¿¤«¤é¤â¤é¤¦¡ÄSW460¤Î¤ßºÜ¤»¤Þ¤¹¡£CPU¥Ü¡¼¥É¾å¤Î7805¤ò¼Ú¤ê¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
³°¤«¤é°ÂÄê²½5V¤òÆþ¤ì¤ë¡Ä¤Î»Ø¼¨¤¬¥Þ¥Ë¥å¥¢¥ë¤Ë¤Ê¤¤¤Î¤Ç¤¹¡£L300/SW460¶¦¤ËºÜ¤»¤º
¤É¤Ã¤«(watson8¤ÏC550¤ÎξÂ)¤«¤éÆþ¤ì¤ì¤ÐOK¤Ç¤¹¡£ºÜ¤»¤ëCPU¥Ü¡¼¥É¤Î7805¤Î¤ϥ«¥Ã¥È¤·¤Æ¤¯¤À¤µ¤¤¡£
¤Ã¤Æ¤³¤ÎÄøÅÙ¤ÎÏᢲóÏ©¿Þ¸«¤ì¤Ð£²Ê¬¤Ç¤ï¤«¤ëÏäȻפ俤¢¤Ê¤¿¡¢¤½¤ÎÄ̤ê¤Ç¤¹¤¬¥â¥Î¤Ï»î¤·¡¢NotePCÄøÅ٤βèÌ̤Ç
²óÏ©¿ÞÄɤ¤¤«¤±¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¤è¤©¡£(^^;)
Ⱦ¸ÇÄêÄñ¹³¡Ä±Õ¾½¤Î¥³¥ó¥È¥é¥¹¥ÈÄ´À°¤Ç¤¹¡£³°¸þ¤¤Ë¼ÂÁõ¤·¤Ê¤¤¤ÈÄ´À°ÂçÊÑ¡£
±Õ¾½¥â¥¸¥å¡¼¥ë²¼¡ÄÇØ¤Î¹â¤µ¤Ëµ¤¤ò¤Ä¤±¤Ê¤¤¤ÈÅö¤¿¤ê¤½¤¦¤Ç¤¹(^^;)¡£ÆÃ¤ËÅŸ»¥Ô¥ó¤ò
Æþ¤ìÂØ¤¨¤ë¤È¤³¤í¤Ë¥Ø¥Ã¥ÀΩ¤Æ¤¿¤ê¡¢¥Ð¥Ã¥¯¥é¥¤¥È¤ÎÀ©¸ÂÄñ¹³/µ¡³£SW¤Ê¤ÉºÜ¤»¤ëÊý¡£
¥µ¥ó¥×¥ë¥½¥Õ¥È¤ò½ãÀµ¥Ç¥Ð¥Ã¥¬¥â¥Ë¥¿¾å¤Çư¤«¤·¤Æ¤ß¤ë
¤È¤¤¤¤¤Ä¤ÄËܿͤÏPC¦¤Ç¶ì¤·¤ó¤Ç¤¤¤ë¤Î¤ÇROM²½¤·¤Æ¤·¤Þ¤¤¤¿¤¤µ¤Ê¬¤â¤¢¤ë¤Î¤Ç¤¹¤¬(^^;)¡¢
¤È¤ê¤¢¤¨¤ºusbjoy.abs¤ò3052F/25MHz+½©·î(¥È¥éµ»)¥³¥ó¥Ñ¥¤¥é¤Çư¤«¤·¤Þ¤¹¡£
-
¥â¥Ë¥¿¤ÇSRAM¤ò¥¤¥Í¡¼¥Ö¥ë¤Ë¤¹¤ë
- start.asm¤òºï½ü¡¢Â¾¤ÇÊäÂ
- P9DDRÀßÄêÊѹ¹(¥â¥Ë¥¿´Ä¶¤È´Ø·¸¤Ê¤·¡£¤³¤ì¤ä¤é¤Ê¤¤¤È´°Á´ROMÈÇ¤âÆ°¤«¤Ê¤¤¡Ä)
- sci.cÄ´À°/ºï½ü
- 25MHzµ¡¤ÊÊý¤ÏÄê¿ôÄ´À°(¥â¥Ë¥¿´Ä¶¤È´Ø·¸¤Ê¤·)
- ±Õ¾½¥É¥é¥¤¥ÐÄ´À°(¥â¥Ë¥¿´Ä¶¤È´Ø·¸¤Ê¤·)
¥â¥Ë¥¿Â¦¡ÄMONITOR.SRC¤Ç¤»¤Ã¤«¤¯¤ÎSRAM¤ò»È¤¨¤ë¤è¤¦¤Ë¤·¤Æ¤ª¤¤Þ¤¹¡£(USB¤ÈÆÃ¤Ë´Ø·¸¤¢¤ê¤Þ¤»¤ó)
ÉÕ°LCDPrint()¤ÈSCIPrint()¤¬É¸½à¥é¥¤¥Ö¥é¥êvsprintf()¤ò¸Æ¤ó¤Ç¤¤¤Þ¤¹¡£
vsprintf()¤âROM²½¤·¤Æ¤·¤Þ¤¦¤È³Ú¥Á¥ó¤Ç¤¹¡£
start.asm¡Ä¤¤¤Ã¤½ºï½ü(¤Ã¤Æ¥ê¥ó¥¯¤·¤Ê¤¤¤À¤±¤À¤±¤É)¤·¤Æ¤·¤Þ¤¤¤Þ¤¹¡£
-
.data¥»¥¯¥·¥ç¥ó¤ÎROM¢ÍRAMžÁ÷¡Ä¤Þ¤ë¤Þ¤ëRAM¾å¤Çư¤«¤·¤Þ¤¹¤Î¤ÇÉÔÍפǤ¹¡£¤¿¤À¤·¥À¥¦¥ó¥í¡¼¥Éľ¸å°Ê³°
¤Î¼Â¹Ô¤ÏÇËþ¤¹¤ë´í¸±À¤¬¤¢¤ê¤Þ¤¹¡£
- ³ä¤ê¹þ¤ß¥Ï¥ó¥É¥é¤ÎÅÐÏ¿¡ÄÎã¤Ë¤è¤Ã¤Æ
void **VECTOR = (void **)0xfffd30; /*»ÈÍѤ¹¤ë¥â¥Ë¥¿¤ÎUSER¤Ë¤¢¤ï¤»¤Æ¤¯¤À¤µ¤¤*/
VECTOR[17]=(void *)usb_int; /*The Only is IRQ5 */
¤ò¤É¤³¤«¤ËÄɲä·¤Þ¤¹¡£EnableInterrupt()Á°¤Ê¤é¤É¤³¤Ç¤â¤¤¤¤¤Î¤Ç¤¹¤¬¡¢USB.c¤ÎÃæ¤ÎInitUSB()¤ÎÃæ¤¬¼«Á³¤Ç¤·¤ç¤¦¤«¡£
[ÄɲÃ.03/MAY/29]
#pragma interrupt (usb_int)
extern void usb_int(void);
¤¬É¬Íפäƽñ¤Ëº¤ì¤Æ¤Þ¤·¤¿¤±¤É¡¢¤Ï¤Þ¤Ã¤¿¤«¤¿¤¤¤Ê¤¤¤Ç¤¹¤è¤Í(^^;)
-
main.c¤Ç¸Æ¤ó¤Ç¤¤¤ë¤½¤ÎEnableInterrupt()¤¬¤Ê¤¯¤Ê¤ê¤Þ¤¹¤Î¤Ç¡¢set_ccr(0)¤Ë
Êѹ¹¤·¤Þ¤¹¡£¤µ¤é¤Ëset_ccr()¤ÎÀë¸À¤ò¡¢#include <machine.h>¤Ç¼è¤ê¹þ¤ß¤Þ¤¹¡£
P9DDR¤Ë¤Ä¤¤¤Æ¡ÄË¿BBS¤Ç¤É¤Ê¤¿¤«¤´Êó¹ð¤µ¤ì¤Æ¤¤¤Þ¤·¤¿(Àè¿Í¤Ë´¶¼Õ)¡£¥Ç¡¼¥¿¥·¡¼¥È¤Ï¤Ê¤ó¤È¤âÈù̯¤Ê
ɽ¸½¤Ç¤¹¤¬¡¢¸½¼ÂÌäÂê¤È¤·¤ÆIRQ5¤ËÂбþ¤¹¤ë¥Ó¥Ã¥È¤òÆþÎϥ⡼¥É¤Ë¤·¤Ê¤¤¤Èư¤¤Þ¤»¤ó¡£
main.c¤ÎÃæ¤ÎH8init()¤ÎÃæ¤ò
P9.DDR = 0xd3; /* all OUT(We dont think so) */
°Ì¤ËÊѹ¹¤·¤Þ¤¹¡£
[ÄɲÃ.03/JUN/19]
µ¤¤Å¤«¤Ê¤«¤Ã¤¿¤Î¤Ç¤¹¤¬¡¢¾¡¼ê¤Ë¥ê¥ó¥¯
¤Ç½¤ÀµÈÇ¥Õ¥¡¡¼¥à¥¦¥§¥¢¤¬ÇÛÉÛ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£(
¤Á¤Ê¤ß¤Ë960x¥Á¥Ã¥×¤È¤³¤ÎÇÛÉÛÉʤȼê¥Ï¥ó¥À¤ÇUSB¥·¥¹¥Æ¥à¤òºî¤í¤¦¤Ê¤É¤È¹Í¤¨¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡£¤È¤É¤³¤«¤Ë
½ñ¤¤¤Æ¤¢¤ë¤È»×¤¤¤Þ¤¹(^^;))
¤¤¤ï¤¯¡Ö9604¤Î¸íº¹¤Ë¤è¤ë¤â¤Î¡×¤À¤½¤¦¤Ç¤¹¤¬¡¢
P9.DDR=0xdf¤Ë¤·¤¿¤À¤±¤Êµ¤¤â¤·¤Þ¤¹¡£(¤À¤È¤¹¤ì¤Ð9604¤È¤Ï²¿¤â´Ø·¸¤¢¤ê¤Þ¤»¤ó)
[ÄɲÃ.03/JUN/19]
¤Ç3052F¤ÇÄ´¤Ù¤¿¤È¤³¤í¡¢IRQ4(P9¤Î¥Ó¥Ã¥È#4) ¤ò½ÐÎϥ⡼¥É¤ËÀßÄꤹ¤ë¤È¡¢P9.DDR.BIT.B4=0¤Ç
IRQ4¤¬È¯À¸¤·¤Þ¤¹¡£¤³¤ì¤Ï¤³¤ì¤Ç»È¤¤Æ»¤¬¤¢¤ë¤È»×¤¦(PIC¤À¤«AVR¤À¤«¤Ç¤Ï¥Þ¥Ë¥å¥¢¥ë¤Ç¡ÖÊØÍø¤Ç¤·¤ç¡×¤Ã¤Æ¤¤¤Ð
¤Ã¤Æ¤¿µ¡Ç½)¤Î¤Ç¤¹¤¬¡¢3048F¤È°ã¤¦Æ°ºî¤Ê¤Î¤«¤â¤·¤ì¤Þ¤»¤ó¡£3048F¤Ï»ý¤Ã¤Æ¤Ê¤¤¤Î¤Ç¤É¤Ê¤¿¤«¤´Â¸ÃΤǤ·¤¿¤é¶µ¤¨
¤Æ¤¯¤À¤µ¤¤¡£
sci.c¤ÎÄ´À°
main.c¤Ç¸Æ¤ó¤Ç¤¤¤ëInitSCI();¤Ï¥â¥Ë¥¿´Ä¶¤Ç¤ÏÉÔÍפǤ¹¤«¤é¥³¥á¥ó¥È¥¢¥¦¥È¤·¤Þ¤¹¡£
¤É¤¦¤·¤Æ¤â¤È¸À¤¦Êý¤Ïsci.c¤ÎÃæ¤ÎInitSCI()¤ò¥¯¥í¥Ã¥¯/¥Ü¡¼¥ì¡¼¥È¤¢¤ï¤»¤Æ¤¯¤À¤µ¤¤¡£25MHz¤ÊÊý¤Ï
for(i=0;i<280*25/16;i++) {} /* wait */
¤â˺¤ì¤º¤Ë¡£
wait()¤ÎÄ´À°
25MHz¤ÊÊý¤Ï¡¢USB.c¤Èlcd.c¤ÎÆó¥ö½ê¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ëwait()¤ò
for(i=0;i¡ã0x682*25/16;i++) {}
¤ËÊѹ¹¤·¤Þ¤¹¡£¤Á¤Ê¤ß¤Ë¤³¤Î¸åi¤ò»²¾È¤·¤Ê¤¤¤È¡Ö·×»»¤µ¤»¤È¤¤¤Æ¤Ê¤ó¤À¤è¡×¤È
¤´¤Ã¤½¤êÈ´¤¤¤Æ¤·¤Þ¤¦¤È¤«¡¢Ã±¤Ëi=0x682*25/16;¤È²ò¼á¤·¤Æ¤·¤Þ¤¦
¸¤¤¡¢¸¤¹¤®¤ë¥ª¥×¥Æ¥£¥Þ¥¤¥¶¤¬¤¤¤ë¤³¤È¤â¤ª¤Ü¤¨¤Æ¤ª¤¯¤È¤¤¤¤¤Ç¤¹¡£
[ÄɲÃ.03/JUN/02]
¤ª¤ª¤¦¤½½ñ¤¤¤Æ¤·¤Þ¤¤¤Þ¤·¤¿¡£0x682*25¤¬int¤Çɾ²Á¤µ¤ì¥ª¡¼¥Ð¡¼¥Õ¥í¡¼(int16¤Îgcc¤Ç¤Ï
¥¦¥©¡¼¥Ë¥ó¥°¤¬¤¿¤Á¤Þ¤¹)¡¢¤ò16¤Ç¤ï¤Ã¤Æ(i¡ãÉé¤Î¿ô)¤ËŸ³«¤µ¤ì¤Æ¤·¤Þ¤¤¤Þ¤¹¡£
Âкö¤Ï³Æ¼«¤·¤Æ¤¯¤À¤µ¤¤(^^;)¡£25MHzµ¡¤Î¥Î¡¼¥¦¥§¥¤¥ÈSRAM¤Ç¼Â¬i¡ã2080¤Ç¤Û¤Ü¥Ô¥¿¥ê¤Ç¤¹¡£
(¤À¤¤¤¿¤¤¤½¤ÎÄøÅ١ĤǤ¤¤ì¤È¤±¤ÐÌäÂê¤Ê¤¤¤È»×¤¤¤Þ¤¹)¤Ï¤Þ¤Ã¤Á¤ã¤Ã¤¿Êý¤´¤á¤ó¤Ê¤µ¤¤¡£
±Õ¾½¥â¥¸¥å¡¼¥ë¥É¥é¥¤¥Ð¡ÄBUSY¥Õ¥é¥°¤¬ÆÉ¤ß½Ð¤»¤Ê¤¤¹½À®¤Ï¤Ê¤ó¤È¤«¤Ê¤é¤Ê¤¤¤â¤ó¤Ç¤¹¤«¤Í¡£
LED¤È¶¦Â¸¤µ¤»¤ë¤¿¤á¡©¤Þ¤µ¤«¡Ä
¤Çº£²ó¤Îlcd.c¤ÏÎØ¤ò¤«¤±¤Æ¤¤¤¤²Ã¸º¤Ê¥³¡¼¥Ç¥£¥ó¥°¤Ç¡¢¤Ê¤ó¤È°ìʸ»úɽ¼¨¤¹¤ë¤Î¤Ë4ms¤«¤«¤ê¤Þ¤¹¡£
¤¿¤È¤¨¤Ð"hh:mm:ss"¤òɽ¼¨¤¹¤ë¤Î¤Ë32ms¤«¤«¤ë¤ï¤±¤Ç¡¢ITU³ä¤ê¹þ¤ß¢Í»þ¹ïɽ¼¨¤¹¤ë¤è¤¦¤Ê
»þ·×¤Ï¤Þ¤È¤â¤Ë¤ÏÁȤá¤Ê¤¤¤³¤È¤Ë¤Ê¤ê¤Þ¤¹(^^;)¡£
LCD.c¤ÎÃæ¤ÎLCDOut4(int rs,int code)¤ÎºÇ¸å¤ò
if(!rs) wait(2);
else for(rs=0;rs<500;rs++) ; /**500¤Ç¤âŤ¹¤®¤ë¤Ï¤º*/
°Ì¤ËÊѹ¹¤·¤Þ¤¹¡£rs¤¬0¤Î¾ì¹ç¤Ï²èÌÌ¥¯¥ê¥¢¤Ê¤É1.52ms¤«¤«¤ë²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¤¬
¡¢rs¤¬1¤Î¾ì¹ç¤Ï37us¤ÇÎɤ¤¡¢¤È¥Ç¡¼¥¿¥·¡¼¥È¤Ë¤¢¤ê¤Þ¤¹¡£¤µ¤é¤Ë¤³¤ì¤Ï
±Õ¾½¥â¥¸¥å¡¼¥ë¤Î¥¯¥í¥Ã¥¯¤¬270kHz¤Î¾ì¹ç¤Ç¡Ä¤È¤¤¤Ã¤¿ÌäÂ꤬¡¢BUSY¤¬ÆÉ¤á¤ë¹½À®¤Ç¤¢¤ì¤Ð
°ìµ¤¤Ë²ò·è¤¹¤ë¤Î¤Ç¤¹¤¬¡£
[ÄɲÃ.03/OCT/07]¡Ä¤¿¤¤¤Æ¤¤LCD¤Ëɽ¼¨¤«¤±¤ë»þ¤ÏľÁ°¤ËLocateLCD(x,y)
¤Ç°ÌÃÖ·è¤á¤·¤Þ¤¹¤è¤Í¡£¢¬¤Î¥³¡¼¥É¤À¤ÈLocateLCD()¤Ç¤â̵Â̤ʥ¦¥¨¥¤¥È¤¬¤«¤«¤ê¤Þ¤¹¡£
if((!rs) && (code==1)||(code==2) ) wait(2);
else for(rs=0;rs<150;rs++) ; /* 100¤Ç¤Ïû¤¹¤®¤Ç¤·¤¿*/
code==1(²èÌÌ¥¯¥ê¥¢)¤Ècode==2(¥«¡¼¥½¥ë¥Û¡¼¥à)¤À¤±¤¿¤Ã¤×¤ê¥¦¥§¥¤¥È¤Ç¤¹¡£
¤È¤¤¤¦¤«¤³¤³¤Ï150²ó¤Î¥ë¡¼¥×¤À¤±¤Ë¤·¤Æ¤ª¤¤¤Æ¡¢²èÌÌ¥¯¥ê¥¢Åù¤Î¤È¤¤Ï ClearLCD();wait(2);
¤Î¤è¤¦¤Ë¸Æ¤Ó½Ð¤·Â¦¤Ç¥¦¥¨¥¤¥È¤ò³ÎÊݤ·¤¿¤Û¤¦¤¬¤¤¤¤¤Ç¤¹¤Í¡£2ms¤Î¥«¥¦¥ó¥¿¥ë¡¼¥×¤¬
Ééô¤Ë¤Ê¤ë¥·¥¹¥Æ¥à¤¬¤¢¤Ã¤¿¤ê¡¢2ms¤Î´ÖLCD¤ÈÊ̤λŻö¤ò¤µ¤»¤ë¥·¥¹¥Æ¥à¤âÁȤá¤Þ¤¹¤Î¤Ç¡£
¤È¤¤¤¦°ÕÌ£¤Ç¤Ï37usµé¥ë¡¼¥×¤â³°ÉÕ¤±¤Ë¤·¤¿¤Û¤¦¤¬¤¤¤¤¤ï¤±¤Ç¤¹¤¬¡£
[ÄɲÃ.03/OCT/07]¡Ä¤Ç¤Ê¤ó¤È¤«BUSY¥Õ¥é¥°ÆÉ¤á¤ë¤è¤¦¤Ë¥Ñ¥Ã¥Á¤Ç¤¤Ê¤¤¤«¤È
¤â¤¦°ìÅÙ²óÏ©¿Þ¸«¤Æ¤ß¤Þ¤·¤¿¡£
-
LCD¦¤ÎR/W*¤¬¥Ù¥¿¥°¥é¥ó¥É¤µ¤ì¤Æ¤ë¤Î¤Ç¥Ñ¥¿¡¼¥ó¥«¥Ã¥È¡¢cpu¦¤ÎPB6¤Ë¤Ä¤Ê¤°
-
LCD¤«¤éÆÉ¤ß½Ð¤·»þ¤Ë¤ÏLCD¤ÏµÛ¤¤¹þ¤ßǽÎÏ1.2mA¤Î½ÐÎÏü»Ò¤Ë¤Ê¤ë¤ï¤±¤Ç¡¢
LED(+À©¸ÂÄñ¹³1k)¤ÏÉé²Ù¤È¤·¤ÆÈù̯¤Ë½Å¤¹¤®¤ë¤È»×¤ï¤ì¡ÄÆÉ¤ß¤¿¤¤PB3¤ÏLED¤Ï¤º¤¹¤«À©¸ÂÄñ¹³Áý¤ä¤¹¤«¡£
-
PB2-PB0¤Ï¤½¤Î¤Þ¤Þ¤Ç(H¤Ë¤·¤«ÆÉ¤á¤Ê¤¤¤«¤â¤·¤ì¤Ê¤¤¤±¤É)²õ¤ì¤ë¤Û¤É¤Ç¤Ï¤Ê¤¤¤«¤È¡£
-
µ¤¤¬¸þ¤¤¤¿¤é¤ä¤Ã¤Æ¤ß¤ë¤«¤â¤Ç¤¹¡£
¥ê¥ó¥«¥¹¥¯¥ê¥×¥È
print usbjoy
out usbjoy
in main
in usb
in sci
in lcd
in YOURDIR\spromsym
LIB YOURDIR\c38ha
start P,C,B,D(220100)
exit
¤Ç¤¹¡£spromsym.obj¤È¤¤¤¦¤Î¤ÏÊÌ¥Ú¡¼¥¸¤Çºî¤Ã¤Æ¤¤¤Þ¤¹¤¬¡¢ROMÆâ¤Îvsprintf()¤Î
¥¢¥É¥ì¥¹¤òÊú¤¤¤Æ¤¤¤Þ¤¹¡£gcc¤ÊÊý¤âƱÍÍ¤Ë¤Þ¤È¤á¤ÆSRAM¾å¤Ë¤Ö¤Á¤Þ¤±¤ì¤Ð¤è¤¤¤Ç¤·¤ç¤¦¡£
[ÄɲÃ.03/MAY/26]
ËÜÍè¥ê¥ó¥«¤Î¡ÖROM²½»Ù±çµ¡Ç½¡×¤ò»È¤¦¤Ù¤¤Ê¤Î¤Ç¤¹¤¬¡¢¤Þ¤¡¸Ç¤¤»ö¸À¤ï¤º¤ËD¥»¥¯¥·¥ç¥ó
¤ò¤Ä¤Ö¤·¤Æ¤·¤Þ¤¤¤Þ¤¹¡£USB.c¤ò°Ê²¼¤ÎÍͤ˽ñ¤´¹¤¨¤Þ¤¹¡£
static const int ROMtxcreg[4] = {USB_TXC0,USB_TXC1,USB_TXC2,USB_TXC3};
static const int ROMrxcreg[4] = {USB_RXC0,USB_RXC1,USB_RXC2,USB_RXC3};
static int txcreg[4];
static int rxcreg[4];
ROMtxcreg/ROMrxcreg¤¬C¥»¥¯¥·¥ç¥ó(½ñ¤´¹¤¨ÉÔ²Ä)¡¢ËÜÍè¤Î
txcreg/rxcreg¤¬B¥»¥¯¥·¥ç¥ó(½ñ¤´¹¤¨²Ä¤À¤¬½é´ü²½¤µ¤ì¤Ê¤¤)¤Ë¼è¤é¤ì¤Þ¤¹¡£
¸å¤ÏUSBInit()¤Ë
for(i=0;i<4;i++) rxcreg[i]=ROMrxcreg[i];
for(i=0;i<4;i++) txcreg[i]=ROMtxcreg[i];
¤òÄɲä·¤Þ¤¹¡£¤³¤ÎÊѹ¹¤Ç
-
¥Ç¥Ð¥Ã¥°´°Î»»þstart VECTOR,P,C(0),B(0ffdf10)¤È¤«¤ÇÍÆ°×¤Ë´°Á´ROMÈǤذܹԤǤ¤Þ¤¹¡£
- ¥À¥¦¥ó¥í¡¼¥Éľ¸å°Ê³°¤Îg¥³¥Þ¥ó¥É¤¬Êݾڤµ¤ì¤Þ¤¹¡Ä¤¿¤À¤·¥³¥Í¥¯¥·¥ç¥ó¤¬ÀÚ¤ì¤ë(USBÍѸì
¤Ï°ã¤¦¤«¤â)¤Î¤Ç¡¢
ºÆ¥¹¥¿¡¼¥È¸å¤Ï¥±¡¼¥Ö¥ë¤ÎÈ´¤º¹¤·¤¬É¬ÍפǤ¹(^^;)
[½¤Àµ.03/MAY/29]µ¤¤Î¤»¤¤¤«¤Ê¡¢
g¥³¥Þ¥ó¥É¤Ç¿¶¤ê½Ð¤¹¤È¡¢¤Á¤ã¤ó¤È¡Ö¥±¡¼¥Ö¥ëÁÞ¤·¤¿¤È¤¤Îư¤¡×¤ò¤·¤Æ¤¯¤ì¤Þ¤¹¡£(^^;)
¤È¤¤É¤¥Í¥´¤Ë¼ºÇÔ¤·¤¿¤ê¤¹¤ë¤Î¤Ï»ÔÈÎ¥¸¥ç¥¤¥¹¥Æ¥£¥Ã¥¯Åù¤ÈƱÍÍ(^^;)
¤Ã¤Æ¤¤¤¦¤«¡Ätxcreg/rxcreg¤Ã¤Æ½ñ¤´¹¤¨¤ÆÌµ¤¤¤¸¤ã¤ó¡©¤È¤¤¤¦¤ï¤±¤Ç¥ª¥ê¥¸¥Ê¥ë¤«¤é
static const int txcreg[4] = {USB_TXC0,USB_TXC1,USB_TXC2,USB_TXC3};
static const int rxcreg[4] = {USB_RXC0,USB_RXC1,USB_RXC2,USB_RXC3};
¤ËÊѹ¹¤¹¤ë¤À¤±¤Ç½¼Ê¬¡£¤Ã¤Æ¤¤¤¦¤«¤³¤ì¥Á¥Ã¥×Æâ¤Î¥¢¥É¥ì¥¹¥Æ¡¼¥Ö¥ë¤ß¤¿¤¤¤À¤«¤é
½ñ¤´¹¤¨¤Á¤ã¤À¤á¤Ç¤¹¡£¤Ç¥ª¥ê¥¸¥Ê¥ë¤Î¡Öconst¤Ä¤±Ëº¤ì¡×¤¬¿¿Áê¡£¤ä¤é¤ì¤¿¡£
¤µ¤¢¼Âµ¡¥Æ¥¹¥È¡Ä¤Ã¤Æg 220100¤Çư¤¤Þ¤·¤¿¤«¡©¸å¤ÏUSB¥±¡¼¥Ö¥ë¤òPC
¤ËÁÞ¤·¤Æ¤ß¤ë¡ª
¤è¤Ã¤·¤ã¤¢¡£¼¡¤Ïusbtest.abs¤À¤¡....¤ÎÁ°¤Ë(Ãí°Õ¡ª)
¼Â¤Ïmain.c¤¬°ã¤¦¤À¤±¤Ç¡¢Á´¤¯Æ±¤¸¤è¤¦¤Ëmake¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£¸½¤Ëư¤¤¤Æ¤¤¤ë¤Î¤Ç¤¹¤¬¡Ä¥¦¥Á
¤Ç¤Ï¤Á¤ç¤¤¤ÈÌäÂêȯÀ¸¡£¤¤¤Ã¤¿¤óakiusb.sys¤òƳÆþ¤·¤¿¤¬ºÇ¸å¡¢¤É¤¦¤¢¤¬¤¤¤Æ¤â
¢¬¤Î¡Ö¥¸¥ç¥¤¥¹¥Æ¥£¥¯¤Î¥Õ¥ê¡×¤ËÌ᤻¤Ê¤¤¤Î¤Ç¤¹¡£¡Öwindowsɸ½à¥¸¥ç¥¤¥¹¥Æ¥£¥Ã¥¯¤ò
¤É¡¼¤Î¤³¡¼¤Î¤¹¤ëÈÆÍÑ¥¢¥×¥ê¡×¤¬»È¤¨¤ë²ÄǽÀ¤¬¤¢¤Ã¤¿¤Î¤Ç¤¹¤¬¡Ä
¤â¤Á¤í¤ówatson8¤¬win(¤¦¤Á¤ÏME)¤Ë¤Ä¤¤¤Æ¡Ö̵ÃΡפʤΤ¬¸¶°ø¤Ç¤¹¤¬¡¢Æ±ÄøÅÙ¤ÎÃ챤ÎÊý¤Ï
Ʊ¤¸æ«¤Ë¤Ï¤Þ¤ë´í¸±À¤¬¤¢¤ê¤Þ¤¹¡£¤´Ãí°Õ¤¯¤À¤µ¤¤¡£
[ÄɲÃ.03/MAY/26]
USB.c¤ÎÃæ¤Ë
0xfe,0xff, /* vendor ID ¥µ¥ó¥×¥ë¤Ê¤Î¤Ç¤È¤ê¤¢¤¨¤º */
0x10,0x00, /* product ID */
¤¬¤¢¤ê¡¢VID=0xfffe,PID=0x0010(¥Ð¥¤¥È¥¹¥ï¥Ã¥×Ãí°Õ)¤È¤·¤ÆÆ°ºî¤·
¤Þ¤¹¤¬¡¢¥Þ¥Ë¥å¥¢¥ë¤É¤ª¤ê¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤È¡Ö0xfffe,0x0010¤Ïakiusb.sys¤·¤«¤¢¤ê¤¨¤Ê¤¤¡×¤È
Win¤¬»×¤¤¹þ¤à¤è¤¦¤Ç¤¹¡£(ÊØÍø¤òÄ̤ê±Û¤·¤Æ¤ë¡Ä)
¤¿¤È¤¨¤ÐPID=0x0011¤È¤«¤Ë¤¹¤ë¤È¡Ö¤ß¤¿¤³¤È¤Ê¤¤¤Ê¤¡¡©¡×¤È¿·µ¬¥¤¥ó¥¹¥È¡¼¥ë°·¤¤¤Ë¤Ê¤ê¤Þ¤¹¡£
VID¤ò¸ÇÄꤷ¤Æ¤â¡¢¤¢¤È65535²ó¤Ï¥Á¥ã¥ì¥ó¥¸¤Ç¤¤Þ¤¹^^¡£
º£¸å¤ÎŸ³«
-
¥â¥Ë¥¿¤ËÁȤ߹þ¤ó¤Ç¡¢S¥ì¥³¡¼¥É¤Î¥À¥¦¥ó¥í¡¼¥É¤ò¹â®²½¤¹¤ë
-
H8¤ò¬Äê´ï¤ÎÍͤ˻ÈÍѤ·¤¿¤È¤¡¢¤½¤Î·ë²Ì¤òPC¤Ë¥¢¥Ã¥×¥í¡¼¥É¤¹¤ë
¤ò¤È¤ê¤¢¤¨¤º»×¤¤¤Ä¤¤¤¿¤Î¤Ç¤¹¤¬¡¢PC¦¤¬ÌµÃΤʤ¿¤á¤Þ¤Ã¤¿¤¯¤á¤É¤¬Î©¤Ã¤Æ¤¤¤Þ¤»¤ó¡£
¤É¤Ê¤¿¤«¤ª¼êÅÁ¤¤¤¤¤¿¤À¤±¤Þ¤»¤ó¤«¡©
[ÄɲÃ.03/MAY/29]
¤È¤¢¤ëÊý¤Î¥Ò¥ó¥È¤ò¸µ¤Ë°Ê²¼¤Î¥¢¥×¥í¡¼¥Á¤Ç¸¡¾ÚÃæ¤Ç¤¹¡£
- H8¦¥Õ¥¡¡¼¥à¡¢win¦¥É¥é¥¤¥Ð¤ÏźÉդΤâ¤Î¤ò¤½¤Î¤Þ¤Þ(¤¢¤ë¤¤¤ÏŬµ¹½ñ¤´¹¤¨¤Æ)»ÈÍÑ
- (źÉÕ¥½¥Õ¥È¤Î´°À®ÅÙ¤¬¾åµ¤ÎÍͤʤΤǡ¢¤Ê¤ë¤Ù¤¯ÅºÉÕÉʤè¤ê¡ÖUSBÈÆÍѡפʤâ¤Î¤ò»È¤¤¤¿¤«¤Ã¤¿¤Î¤Ç¤¹¤¬)
- win¦¥¢¥×¥ê¤Ï
¤ª¤Ë¤¿¤Þ¤µ¤ó¤¬
¸ø³«¤µ¤ì¤Æ¤¤¤ëHot Soup Processor (+loadlib.dll)¤Ç¡£³°ÉÕ¤±DLL(źÉÕaki_usbio.dll)
¤ò¸Æ¤Ó½Ð¤¹µ¡Ç½¤òÍøÍѤ·¤Þ¤¹¡£ÅºÉÕform1.frm(¤Ã¤Ä¤¦¤«Ì¾Á°¤¯¤é¤¤¤Ä¤±¤È¤±^^;)¤ò¥Ù¡¼¥¹¤Ë¤¹¤ì¤Ð¤à¤Ä¤«¤·¤¯
¤¢¤ê¤Þ¤»¤ó¡£
¤Á¤Ê¤ß¤Ë
- win¤«¤éϢ³Á÷¿®¤¹¤ë»þ¤Ï¡¢write_buff()Á°¤Ëget_outbufflen()¤¬0¤Ë¤Ê¤ë¤Þ¤Ç¥¦¥§¥¤¥È
¤òÆþ¤ì¤Ê¤¤¤ÈÍÆ°×¤ËÇËþ¤·¤Þ¤¹
- ¸½ÈǤǤϡ¢32KBÁ÷¤ë¤Î¤Ë25Éä⤫¤«¤Ã¤Á¤Þ¤¤¤Þ¤¹(¤¦¤°¤°¤°¡Ä)
- 郎¤È¤í¤¤¤Î¤«¤Ï¸¡¾ÚÃæ¡£¹¬¤«ÉÔ¹¬¤«H8¤Ç¤Ê¤¤¤³¤È¤Ï¤Þ¤Á¤¬¤¤¤Ê¤µ¤½¤¦¡£
¤Þ¤ó¤¬¤¤¤Áaki_usbio.dll¤À¤È¤·¤¿¤é¡¢¥¢¥×¥í¡¼¥Á¤«¤é¤·¤Æ¤ä¤ê¤Ê¤ª¤·(^^;)
- hsp¥½¡¼¥¹¡¢¸½ÈÇ(¸½¾õÅϤޤ¿¤ÏÉôÉʼè^^;)¤Ç¤è¤±¤ì¤Ðº¹¤·¾å¤²¤Þ¤¹¡£¤´Ï¢Íí¤¯¤À¤µ¤¤
- ¤â¤Ã¤È¤Á¤ã¤ó¤È¤·¤¿¤Î¤ò½ñ¤¤¤Æ²¼¤µ¤ëÊý¡¢¤¢¤ë¤¤¤Ï¤É¤Ã¤«¤Ç¸«¤«¤±¤¿¾ðÊó¡¢ÂçÊ罸¤Ç¤¹
- cypress(EZ-USBÍÑ)¥É¥é¥¤¥Ð(¥É¥é¥¤¥Ð¤Î¤ß
¤³¤Á¤é¤«¤é¥À¥¦¥ó¥í¡¼¥É²Ä)¤È¡¢¤½¤ìÍÑCOM¥é¥¤¥Ö¥é¥ê
¤ÎÁȤ߹ç¤ï¤»¤Ç¤â¤¤¤¤¤»¤ó¤Þ¤Ç¤¤¤¤Þ¤¹¡£[ÄɲÃ.03/JUN/03]
[ÄɲÃ.03/JUN/03]
UUSBD.DLL¤ÎƳÆþ
ÇðÌî»á¤¬¤³¤Á¤é¤Ç
ÇÛÉÛ¤µ¤ì¤Æ¤¤¤ëuusbd.dll°ì¼°¤Ëº¹Âؤ¨¤¿¤È¤³¤í¡¢¤Ê¤«¤Ê¤«¤¤¤¤´¶¤¸¤Ç¤¹¡£
¥¤¥ó¥¹¥È¡¼¥ë¡ÄVID/PID¤òH8¦¤ÇŬµ¹Êѹ¹(¤¦¤Á¤Ï0xfffe,0x0040)¤·¡¢¤¢¤ï¤»¤Æuusbd.inf
¤òÊѹ¹¡¢¤Ê¤ó¤È¤«
¤Þ¤Ç»ý¤Ã¤Æ¤¤¤¤Þ¤¹¡£¤³¤Î¾õÂ֤ǟÉÕpipedump.exe¤Ï¤½¤³¤½¤³Æ°¤¯¤Ï¤º¤Ç¤¹¡£(¤È½ñ¤¯¤È
¤à¤Ä¤«¤·¤½¤¦¤Ç¤¹¤¬¡¢VID/PID¤òÀìÍѤ˳ä¤êÉÕ¤±¤ì¤Ð°ìȯ¤Ç¹Ô¤¯¤Î¤À¤È»×¤¤¤Þ¤¹¡£
¤Þ¤¿È¿±Ç¤µ¤»¤ë¤¿¤á¤ËPC¤Î¥ê¥¹¥¿¡¼¥È¤¬É¬Íפ«¤â¤·¤ì¤Þ¤»¤ó)
¤Ä¤¤¤Ç¤Ëhsp¥½¡¼¥¹¡Ä¤È¤ê¤¢¤¨¤º¡¢¸½¾õÅϤ·¡¢ÆüÂØ¤ï¤êÉôÉʼè¤êÈǤò
ÊÌ¥Ú¡¼¥¸(ºÇ¿·¤Ï03/JUN/30)¤Ë¤µ¤é¤¹Í½Äê¤Ç¤¹¤µ¤é¤·¤Þ¤·¤¿¡£
[ÄɲÃ.03/JUN/19]
½ñ¤Ëº¤ì¤Æ¤Þ¤·¤¿¤¬¡¢Å¾Á÷®Å٤ϤɤÁ¤é¸þ¤¤Ç¤â32KB/1.7Éá¢120KB/4.6ÉÃÄøÅÙ(¥±¡¼¥Ö¥ëÀܳ»þ¤Î¥Í¥´¿ôÉäÏÊÌ)¤Ç¤¹¡£
[ÄɲÃ.03/JUN/30]
read_buff()¤Ï¤ä¤á¤È¤³¤¦¤¼
watson8¤Ï¥Ý¡¼¥ê¥ó¥°¤¬¤À¤¤¤Ã¤¤é¤¤¤Ç¤¹¡£UNIX¤Î¤è¤¦¤Ê´°Á´¤Ê¥Þ¥ë¥Á¥¿¥¹¥¯´Ä¶¤Ç¤¢¤ì¤Ð
¹¥¤¤Ê¤À¤±fork()¤·¤Æread()¤Ç»ß¤Þ¤Ã¤Æ¤¤¤Æ¤¤¤¤¤Î¤Ç¤¹¤¬¡¢¥·¥ó¥°¥ë¥¿¥¹¥¯´Ä¶¤Ç¤Ï
¥Ý¡¼¥ê¥ó¥°¤¹¤ë¤È¤¿¤¤¤Æ¤¤¥í¥¯¤Ê¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó¡£(µ»½ÑÎϤΤʤ¤ÅÛ¤¬»×¤¤¤Ä¤¤À¤±¤Ç½ñ¤¤¤¿
¥Ý¡¼¥ê¥ó¥°¥·¥¹¥Æ¥à¤Î¥á¥ó¥Æ¤Ç¤µ¤ó¤¶µã¤«¤µ¤ì¤¿¤Î¤¬¥È¥é¥¦¥Þ¤Ë¤Ê¤Ã¤Æ¤¤¤ë(^^;))
Î㤨¤Ð¤Þ¤Á¤¬¤¨¤ÆÈÆÍѥݡ¼¥È¤Ë¤Ä¤Ê¤¤¤Ç¤·¤Þ¤Ã¤¿¥¿¥¯¥ÈSW¤Ï¡¢main()¤ÎÃæ¤Ç¥Ý¡¼¥ê¥ó¥°¤¹¤ë¤Î
¤Ç¤Ï¤Ê¤¯¡¢ITU¤ÇÄê´ü³ä¹þ¤ß¤òºî¤Ã¤Æ¤½¤ÎÃæ¤Ç¥Á¥§¥Ã¥¯¤·¤Þ¤¹¡£ºÇ½é¤«¤éIRQ¤Ë¤Ä¤Ê¤¤¤Ç¤¢¤ì¤Ð
³Ú¥Á¥ó¤Ê¤ó¤Ç¤¹¤±¤É¤Í¡£
¤Ï¤µ¤Æ¤ª¤ËÜÂê¡£USB¤«¤é¤Î¥Ç¡¼¥¿¼õ¿®¤ÏIRQ5¤òȯÀ¸¤·¤Þ¤¹¡£¤½¤Î¥Ï¥ó¥É¥é¤ÎÃæ¤Ç
ReadUSBBurst()¤Ç¥Á¥Ã¥×¤ÎFIFO¤«¤échar rx1buff[64]¤ËŸ³«¡¢¤µ¤é¤Ëwrite_inbuff(rx1buff,int size)
(size¤ÏºÇÂç64)¤ò¸Æ¤Ó¡¢
¤³¤³¤Ç256¥Ð¥¤¥È¥µ¥¤¥º¤Î¥ê¥ó¥°¥Ð¥Ã¥Õ¥¡char inbuff[256]¤ËÅǤ½Ð¤·¤Þ¤¹¡£
read_buff()¤Ï¤³¤Îinbuff[256]¤«¤é¼è¤ê½Ð¤·¤Þ¤¹¡£
¤½¤³¤Ç¡¢write_inbuff(char *p,int size)¤Ç¡¢inbuff[]¤Ç¤Ê¤¯ËÜÍè¥À¥¦¥ó¥í¡¼¥É¤·¤¿¤¤
¥¢¥É¥ì¥¹¤Ëľ¤ËžÁ÷¤¹¤ë¤è¤¦¤Ë½ñ¤´¹¤¨¤Æ¤·¤Þ¤¨¤Ð¡¢¸å¤Ç²þ¤á¤Æ¥Ý¡¼¥ê¥ó¥°¤·¤¿¤êread_buff()¤¹¤ëɬÍפ¬¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£
- PC¤¬40¥Ð¥¤¥È¤ÇWriteFile()¤·¤¿¾ì¹ç¡¢write_inbuff(char *p,int size)¤âsize=40¤Ç¸Æ¤Ð¤ì¤Þ¤¹¡£
¤³¤ì¤Ï²þ¹ÔÀÚ¤ê¥Æ¥¥¹¥È¤ÎÍͤËÉÔÄêĹ¥Ç¡¼¥¿¤ò°·¤¦¤Ë¤Ï¹¥ÅÔ¹ç¤Ç¤¹¡£
- ¤³¤³¤Ç¥â¥¿¥â¥¿¤·¤¿¾ì¹ç¡¢¼¡¤ÎºÇÂç64¥Ð¥¤¥È¤ò¥Á¥Ã¥×¤ÎFIFO¤Ë¼è¤ê¹þ¤ó¤À¤È¤³¤í¤Ç»ß¤Þ¤ëÌÏÍÍ
- ¥ª¥ê¥¸¥Ê¥ë¹½Â¤¤Ç¤Ï¥â¥¿¥â¥¿¤·¤Æ¤¤¤ë¤È¡Öinbuff[]¤Ë¤Ï80¥Ð¥¤¥È¤¢¤ë¤è¡×¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¤ÉÔÊØ¤Ç¤¹
¤È¤¤¤¦¤³¤È¤Ç¡¢ÊÌ¥Ú¡¼¥¸(ºÇ¿·¤Ï03/JUN/30)¤Ë
- S¥ì¥³¡¼¥É¤ò°ì¹Ô¤´¤È¤ËWriteFile()¤¹¤ëhsp¥½¡¼¥¹
- S¥ì¥³¡¼¥É¤ò°ì¹Ô¤´¤È¤Ë¼õ¤±¤ÆÅ¸³«¤¹¤ësrecIt()(¤Ä¤Þ¤êwrite_inbuff()¤È¤½¤Ã¤¯¤êº¹¤·Âؤ¨ÍÑ)
¤òÃÖ¤¤Þ¤·¤¿¡£Å¾Á÷®Å٤ϥ¤¥Þ¥¤¥Á¤Ç¤¹¤¬¡¢¹©Éפ·¤À¤¤¤Ç¤Ï¤Ê¤«¤Ê¤«»È¤¤¾¡¼ê¤ÎÎɤ¤¤â¤Î¤¬
¤Ç¤¤½¤¦¤Ç¤¹¡£ÆÃ¤Ë¥â¥Ë¥¿¼«¿È¤Î³ä¹þ¤ß¤òµö²Ä(¾ÜºÙ¤Ï
ÊÌ¥Ú¡¼¥¸)¤·¤Æ¤¤¤ë¾ì¹ç¤Ï¥â¥Ë¥¿¤Î¥³¥Þ¥ó¥ÉÂÔ¤Á¤Î¤Þ¤Þ¡¢PC¤«¤é¤ÎÁàºî¤À¤±¤ÇÁ÷¤ê¹þ¤á¤Þ¤¹¡£
(¹©Éפ·¤À¤¤¤È¸À¤¦¤Î¤Ï¡¢USB.c¼«¿È¤È´ØÏ¢¤¹¤ë½é´ü²½¥ë¡¼¥Á¥ó¤¬Á÷¤ì¤Ê¤¤¤È¤¤¤¦À©¸Â¤Ë¤è¤ë¤â¤Î¤Ç¡¢
¤½¤¤¤Ä¤é¤ÏROM¤Ë¾Æ¤¯¤«¥·¥ê¥¢¥ë¤«¤é¥À¥¦¥ó¥í¡¼¥É¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹)
[ÄɲÃ.03/AUG/31]
¤½¤Î¾¤´¤¿¤´¤¿¡Ä¼Â¸³¼¼¤Ç¤Î¼ÂÍѲ½¤Ë¸þ¤±¤Æ
¤¢¤¯¤Þ¤Ç¤âUSB³«È¯¥¥Ã¥È+UUSBD.DLL(¢¬¤ÎÈÇ)+hsp2.55¤Ç¤ÎÏäǤ¹
- usb.c¤ÎÃæ¤Î³ä¤ê¹þ¤ß¥Ï¥ó¥É¥éusb_int()¤ÎÆþ¤ê¸ý¤ÇLEDÅÀÅô¡¢
½Ð¸ý¤ÇLED¾ÃÅô¤¹¤ë¤Èư¤¤¬¤Ä¤«¤ß¤ä¤¹¤¯¤Ê¤ê¤Þ¤¹¡£
- À¸¤¤Æ¤ë¤«¤É¤¦¤«È½Äê¤Ë¤³¤ó¤Ê¥³¡¼¥É¤¤¤«¤¬¤Ç¤·¤ç¤¦¡©
isUSBOperational()
{
USB9602R = (unsigned char)USB_NFSR;
return( USB9602D ==USB_OPR_ST);
}
- USB_OPR_ST¤Ï"USB Operational State"¤Î°Õ¤é¤·¤¤¤Ç¤¹¡£
-
Á«°Ü»þ¤Ë¤Ï¤É¤¦¤ä¤éIRQ5¤òȯÀ¸¤¹¤ë¤è¤¦¤Ç¡¢
Ʊ¤¸¤¯usb_int()¤Î½Ð¸ý¤Ç¥Á¥§¥Ã¥¯¤·¤ÆLED¤Ëɽ¼¨¤¹¤ë¤È¤¤¤¤´¶¤¸¤Çµ¡Ç½¤·¤Þ¤¹¤¬
- Äê´ü¥¿¥¤¥Þ¡¼³ä¤ê¹þ¤ß¤¬ÍøÍѤǤ¤ë¤Ê¤éÊ»ÍѤ¹¤ë¤È°Â¿´¤Ç¤¹¡£
- ¡Ötrue¤À¤Ã¤¿¤éInitUSB()¤·¤Ê¤¤µ¡Ç½¡×¤òÀ¹¤ê¹þ¤ó¤Ç¤ª¤¯¤È¡¢
ÉÔÍפʥꥻ¥Ã¥È¢ÍºÆ¥Í¥´¥·¥¨¡¼¥·¥ç¥ó¤¬Èò¤±¤é¤ì¤Þ¤¹¡£
(H8¦¤ÇÁêÅö¹Ó¤Ã¤Ý¤¤»ö¤ò¤·¤Æ¤âPC¦¤ËÃΤé¤ì¤ºÄÌ¿®¤òºÆ³«¤Ç¤¤ë)
- ¡Öfalse¤À¤Ã¤¿¤éOPR_ST¥é¥ó¥×¤ò¾Ã¤·¤ÆInitUSB()¡×¤Ë¤·¤Æ¤ª¤±¤Ð¤ª¤Ã¤±¤¤¤Ç¤¹¡£
¸å¤Îusb_int()½Ð¸ý¤ÇÅÀÅô¤·¤Þ¤¹¡£
- ¥±¡¼¥Ö¥ëÈ´µî¡¢PC¦¥É¥é¥¤¥Ð¤¬Æâ½ï¤Ç¸Ç¤Þ¤Ã¤Æ¤¤¤ë¡Ä
usb_int()½Ð¸ý¤Ç¡Ö¤À¤á¤¸¤ã¤ó¡×µ¤¤Å¤¤Þ¤¹
- ¢¬¤Ç¤â¿¨¤ì¤¿read_buff()¤Ç¤¹¤¬¡¢ÅºÉեޥ˥奢¥ë¤Ë
¡Ö¥Ð¥Ã¥Õ¥¡¤¬¤¢¤Õ¤ì¤Ê¤¤¤è¤¦¤Ë½èÍý¤·¤Æ¤¯¤À¤µ¤¤¡×
¤È¤¢¤ë¤è¤¦¤Ë¶Ê¼Ô¤Ç¤¹¡£Ë»¤·¤¤¡ª¤È¸À¤¦Á°¤Ë¥Ç¡¼¥¿¤ò¼Î¤Æ¤Æ¤·¤Þ¤¦¤Î¤Ç¡¢¥Û¥¹¥È¦¤Ç
¤È¤ó¤Ç¤â¤Ê¤¯¥¦¥§¥¤¥È¤¤¤ì¤ë¤«
(¤â¤·¤«¤·¤ÆÅºÉÕaki_usbio.dll¡©)¡¢ÆÈ¼«¥×¥í¥È¥³¥ë¤òÁȤफ¡Ä¤Ä¤Þ¤ê»ö¼Â¾å»ÈÍÑÉԲĤȸ«¤Þ¤·¤¿¡£
- ¤Ê¤Î¤Ç¢¬¤Îľ¸å¤Ë½ñ¤«¤ì¤Æ¤¤¤ë¡Ö¼õ¿®¥Ð¥Ã¥Õ¥¡¤ò»ÈÍѤ»¤º¡¢rx1()´Ø¿ôÆâ¤ÇľÀÜ
½èÍý¤¹¤ë¤³¤È¤â½ÐÍè¤Þ¤¹¡×¤¬ËܶڤǤ¹¡£rx1()¤«¤é¥ê¥¿¡¼¥ó¤·¤Ê¤¤¸Â¤ê¥Û¥¹¥È¤òÂÔ¤¿¤»¤Þ¤¹¡£
- isUSBOperational()¤¬true¤Î¾õÂ֤Ǥϡ¢PC¦¤ÎUusbd_Open()¤äUusbd_OpenPipe()
¤Ï¤Û¤Ü½Ö»þ¤ËÀ®¸ù¤·¤Þ¤¹¤¬¡¢Uusbd_ResetDevice()¤Ï¤Ê¤ó¤«
¤è¤¤¤·¤ç¤è¤¤¤·¤ç¥Í¥´¤Ë¤¤¤¤Þ¤¹¡£¤È¤¤¤¦¤³¤È¤Çwatson8¤Ï¥Ñ¥¹¡£
- PC¢ÍH8¤ÇPC¦WriteFile()¤Ï°ìÅÙ¤Ë8192¥Ð¥¤¥È¤¬ºÇÂç¤ß¤¿¤¤¤Ç¤¹¡£
¤½¤ì¤òͤ¨¤Æ¥ê¥¯¥¨¥¹¥È¤·¤Æ¤â¡Ö8192¥Ð¥¤¥È½ñ¤±¤Þ¤·¤¿¡×¤ÇÌá¤Ã¤Æ¤¤Þ¤¹¡£¤³¤Î¤È¤H8¦
¤Ç¤Ï64¥Ð¥¤¥È¤Î³ä¤ê¹þ¤ß¤¬128²óȯÀ¸¤·¤Þ¤¹¡£(³ä¤ê¹þ¤ß¢ÍºÇÂç64¥Ð¥¤¥È¥Á¥Ã¥×¤«¤éÆÉ¤ß½Ð¤·¢ÍRTE¤Þ¤Ç
¤ò£±¥»¥Ã¥È¤È¤·¡¢128(127¤«¤â)¥»¥Ã¥È´°Î»¤¹¤ë¤Þ¤Ç¥Û¥¹¥È¤¬ÉÕ¤¹ç¤Ã¤Æ¤¯¤ì¤Þ¤¹)
- H8¢ÍPC¤ÇPC¦ReadFile()¤Ï¡¢Ä̾ïsize=0¤ÇÌá¤êÃÍ1¤ò¨ÊÖ¤·¤Æ¤¤Þ¤¹
(Ê£¿ô¤ÎHP¤Ç¡Ö¥Ç¡¼¥¿¤¬¤¯¤ë¤Þ¤Ç¥Ö¥í¥Ã¥¯¡×¤È¤µ¤ì¤Æ¤¤¤ë¤Î¤Ç¤¹¤¬¡ÄÊѤÀ¤Ê¤¡)¡£»þ´ÖŪ¤ËÄɤ¦¤È¡¢
- PC¦ReadFile()
- H8¦³ä¤ê¹þ¤ßȯÀ¸¢Íoutlen¤¬0¤Ç¤Ê¤±¤ì¤ÐÁ÷¿®
- PC¦ReadFile()¤«¤éÌá¤Ã¤Æ¤¯¤ë¡£size¤Ïoutlen¤Þ¤¿¤Ï0
- PC¦ŬÅö¤ËÂԤäƺÆReadFile()
- (¤Ä¤Þ¤êH8¦¤Ç¤ÏŬÅö¤Ëoutlen¥Ð¥¤¥Èž¤¬¤·¤Æ¤ª¤±¤Ð¡¢¤½¤Î¤¦¤Á
¥Û¥¹¥È¤¬(³ä¤ê¹þ¤ßµ¯¤³¤·¤Æ)½¦¤Ã¤Æ¤¤¤Ã¤Æ¤¯¤ì¤ë¡¢¤Ã¤Æ´¶¤¸¤Ç¤¹)
¤È¤¤¤¦¤³¤È¤Çwatson8¤Î¤À¤¤¤Ã¤¤é¤¤¤Ê¥Ý¡¼¥ê¥ó¥°¤Ç¥·¥ó¥°¥ë¥¿¥¹¥¯´Ä¶¤Ç¤âÁ÷¼õ¿®²Äǽ¤Ç¤¹¡£
(signal()¤È¤«¥¤¥Ù¥ó¥È¤Î°·¤¨¤ë½èÍý·Ï¤Ê¤é²¿¤«¤¢¤ë¤Î¤«¤âÃΤì¤Þ¤»¤ó)
ή¤¹¥Ç¡¼¥¿¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤Ë¤Ä¤¤¤Æ(PC¢ÍH8ÊÔ)
- watson8¤ÏS¥ì¥³¡¼¥É·Á¼°¤Î¤ß¤Ç¤ä¤Ã¤Æ¤Þ¤¹¡£ASCII¤Ê¤ó¤Ç¥Ð¥¤¥Ê¥ê¤Î£²ÇÜÎ̤Ǥ¹¤¬¡¢
- ¼Â¹Ô·Á¼°¤ÏABS¤ä¤éCOFF¤ä¤é²òÀϤ·¤Ê¤¤¤È¥À¥á¤À¤·
- ¥Ð¥¤¥Ê¥ê¥Ç¡¼¥¿¤Ë¤·¤Æ¤â¡¢Å¸³«¤¹¤ë¥¢¥É¥ì¥¹¤òH8¦¤Ç´ÉÍý¤¹¤ëɬÍפ¬¤¢¤ë
- ¥Ð¥¤¥Ê¥ê¤ò°·¤¨¤ë(ȯÀ¸¤¹¤ë)¥Ä¡¼¥ë¤¬Â¿¤¯¤Ê¤¤
- SRAM´Ý¡¹Ëä¤á¤Æ¤â10ÉäȤ«¡£È¾Ê¬¤Ç5Éä˸º¤Ã¤Æ¤â¤¢¤ó¤Þ¤ê¸ú²Ì¤Ê¤·
- ¤Ä¤¤¤Ç¤Ë¡Ö³Æ¹Ô¤´¤È¶èÀڤäƥѥ¤¥×¤Ë½ñ¤¹þ¤à¡×¤Î¤¬
(hsp¤À¤È)¶ì¼ê¤ß¤¿¤¤¤Ê¤Î¤Ç¡¢gawk¤Ç¥¹¥Ú¡¼¥¹¤òÄɲä·°ì¹Ô64¥Ð¥¤¥È¤Ë¸ÇÄꤷ¤Æ¤Þ¤¹(¤©¤£¤©¤£)¡£
DOS>gawk -f mot2mos.awk test.mot > test.mos
¤Ç¡¢¥¹¥¯¥ê¥×¥È¤¬
{ printf("%-62s\n",$0); }
¤³¤ó¤À¤±¡£62¥¥ã¥é¤Ëº¸µÍ¤Ç¸µ¤Î¹Ô¡¢Â¤ê¤Ê¤¤¤È¤³¤í¤Ï¥¹¥Ú¡¼¥¹¡£CR/LF¤Ç¥Ô¥Ã¥¿¥·64¥Ð¥¤¥È¤Ç¤¹
(GNU·Ï¤Ê¤É¤ÇLF¤·¤«½Ð¤Ê¤¤¤è¤¦¤Ê¤é%-63s)¡£¸å¤Ï¡¢8KBÆÉ¤ó¤À¤é8KB¤òWriteFile()
¤Ç¡¢·ë²ÌŪ¤ËH8¦¤Ç¤Ï°ì¹Ô¤´¤È¤Ë³ä¤ê¹þ¤ß¤¬È¯À¸¤¹¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
- S8/S9¤Ç¥Õ¥¡¥¤¥ë¤Î½ª¤ï¤ê¤¬¤ï¤«¤ë¤Î¤Ç¡¢ÀѶËŪ¤ËEOT(Á÷¿®½ªÎ»)¤ÏÁ÷¤Ã¤Æ¤¤¤Þ¤»¤ó¡£
- ¤Á¤Ê¤ß¤Ë¼ê¸µ¤Î¸½¹ÔÈǤǤÏ80KBʬ¤ÎS¥ì¥³¡¼¥É(5200¹Ô/220KB/mos¤Ç330KB)¤ò3.6ÉäÇÁ÷½Ð¤·¤Þ¤¹
(¤Û¤ó¤È¤«¤è¡©)¡£UserIF¤â¤Ü¤Á¤Ü¤ÁºÜ¤»¤Æ(.mos¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¤Î¥À¥Ö¥ë¥¯¥ê¥Ã¥¯¤Ç¼«Æ°Åª¤ËΩ¤Á¾å¤¬¤Ã¤ÆÊØÍø)¶á¡¹¤µ¤é¤¹Í½Äê¡£
ή¤¹¥Ç¡¼¥¿¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤Ë¤Ä¤¤¤Æ(H8¢ÍPCÊÔ)
- źÉÕwrite_buff()¤Ç¤¹¤¬¡¢¥Ð¥Ã¥Õ¥¡256¥Ð¥¤¥È»ý¤Ã¤Æ¤Þ¤¹¤¬256¥Ð¥¤¥È
µÍ¤á¤Æ¤·¤Þ¤¦¤ÈReadFile()¤Ç¤Ê¤¼¤«Àµ¤·¤¯¼è¤ê½Ð¤»¤Þ¤»¤ó¡£
¤µ¤é¤Ë¥Ç¡¼¥¿¤Î¾Ã¼º¤âµ¯¤³¤ê¤Þ¤¹¡£
-
¤Çoutlen¤¬0¤Ë¤Ê¤ë¤Þ¤ÇÂԤĢÍ64¥Ð¥¤¥Èwrite_buff()
¤¬ÌµÆñ¤Ç¤¹(¤½¤ì¤Ç¤¦¤Þ¤¯¤¤¤Ã¤Æ¤¤¤ë¤Î¤Ç¢¬¤Î¾ÜºÙ¤Ï̤Ĵºº¤Ç¤¹)¡£
-
¤Þ¤¿64¥Ð¥¤¥È̤Ëþ¤Çwrite_buff()¤ÈReadFile()
¤Ïưºî¤·¤½¤¦¤Ç¤¹¤¬¡¢hsp¤Î¥Ø¥ë¥×¤Ë¤Ê¤Ë¤²¤Ë¡Öbsave¤Ï64¥Ð¥¤¥È°Ê¾å¤Ç¡×¤È¤¢¤ë¤Î¤Ç
¥®¥ê¥®¥ê64¤òºÎÍѤ·¤Æ¤Þ¤¹¡£
- ¤È¤¤¤¦¤³¤È¤Ç¤ä¤Ï¤ê¥Æ¥¥¹¥È¤ÇƱÍͤË
sprintf(buf,"%10d%10d%10d%32d\n",dat0,dat1,dat2,dat3);
while(get_outbufflen()) ;
write_buff(buf,64);
¤È¤¹¤ë¤Î¤¬¤ª¼ê·Ú¤Ç¤¹¡£
- ¤³¤Á¤é¤âÌÀ³Î¤ÊEOT¤¬¤Ê¤¤¤Î¤Ç¼êư·×»þ¤Ç¤¹¤¬¡¢256KB/8Éääƴ¶¤¸¤Ç¤¹¡£
- ¤Á¤Ê¤ß¤Ë¥ê¥ó¥°¥Ð¥Ã¥Õ¥¡outbuff[USBBUFFLEN]¤Ø¤Î¥¢¥¯¥»¥¹¤Ï
outbuff[n++] = it;
n &= ( USBBUFFLEN-1);
¤«¡¢USBBUFFLEN¤¬¤Ï¤ó¤Ñ¤Ê¤éÁÇľ¤Ë
outbuff[n++] = it;
if(n>= USBBUFFLEN) n=0;
¤Ç¤¹¤è¤Í¡£ÉáÄÌoutbuff[n%USBBUFFLEN]¤È¤Ï¤·¤Ê¤¤¡Ä¤Ã¤Æ¥È¥éµ»C¤Î¥³¡¼¥É¸«¤¿¤é
¥Þ¥¸¤Ç³ä¤ê»»¥¤¥ó¥¹¥È¥é¥¯¥·¥ç¥ó½Ð¤Æ¤ë¤¸¤ã¤ó¡Ä¤¢¤¤¤¿¤¿¤¿¡Ä
(*4¢Í¥·¥Õ¥ÈÌ¿Îᣲȯ/8¥Ó¥Ã¥È¥·¥Õ¥È¢Í*256¤Î¥³¡¼¥É¤òÅǤ¯¥³¥ó¥Ñ¥¤¥é¤Ê¤ó¤ÇANDÌ¿Îá
ÅǤ¤¤Æ¤ë¤â¤Î¤À¤È¤Ð¤«¤ê»×¤Ã¤Æ¤Þ¤·¤¿)¼¡²óROM¾Æ¤¯¤È¤½¤Àµ¤·¤Þ¤¹¡£¤Ã¤Ä¤¦¤«
¥ê¥ó¥°¥Ð¥Ã¥Õ¥¡¥ê¥ó¥°¼«ÂΤ·¤Ê¤¤¤À¤í¤¦¤«¤é¡¢Ã±¤Ë¥Ð¥¤¥È¥³¥Ô¡¼¤â¤ÎÄɲäǤ¹¤Í¡£
RAM¤â¤â¤Ã¤¿¤¤¤Ê¤¤¤«¤é¤±¤º¤Ã¤Á¤ã¤ª¤¦¤«¤Ê¡£
[ÄɲÃ.03/OCT/23]
;·×¤Ê³ä¤ê¹þ¤ßÍè¤Æ¤Ê¤¤¤«¡©
¤È¡¢¤È¤¢¤ëÊý¤«¤é¤´»ØÅ¦¤ò¤¤¤¿¤À¤¤Þ¤·¤¿(¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤¹)¡£½©·î¤µ¤óźÉÕusb.c¤ÇÄ´¤Ù¤Æ¤ß¤Þ¤¹¤È¡¢
³Î¤«¤Ë¡Ö³ä¤ê¹þ¤ó¤À¤±¤ÉÍѤÏ̵¤¤¡×¤È¤¤¤¦¾õ¶·¤¬µ¯¤¤Æ¤¤¤Þ¤·¤¿(¼Â³²¤Ï¤Û¤È¤ó¤É¤¢¤ê¤Þ¤»¤ó)¡£
H8¥Þ¥Ë¥å¥¢¥ë¤Î³ä¹þ¥³¥ó¥È¥í¡¼¥é
¤Î¹à¤òÆÉ¤à¤È¡Ä¤É¤¦¤âINT*¤ÈIRQ5F*¤Î´Ö¤ËÆþ¤Ã¤Æ¤¤¤ëRS-FF¤Î¤ª¤«¤²¤Ç²¼¤Î¿Þ¤Îº¸¤Î¤è¤¦¤Ê
ưºî¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤ß¤¿¤¤¤Ç¤¹¡£(¼ÂºÝ¤Ë¤ÏIRQ5F¤Ï¥Ï¥¤¥¢¥¯¥Æ¥£¥Ö¤Ç¤¹¤¬ÉÔ¼«Á³¤Ê¤Î¤Ç¥í¡¼¥¢¥¯¥Æ¥£¥Ö
¤Çɽµ¤·¤Æ¤Þ¤¹¡£¤±¤Ã¤·¤Æ¥«¥ó°ã¤¤¤ò¤´¤Þ¤«¤·¤Æ¤¤¤ë¤ï¤±
¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó(^^;))
³ä¤ê¹þ¤ß¥Ï¥ó¥É¥éusb_int()¤«¤é¥ê¥¿¡¼¥ó(RTE)¤¹¤ëÁ°¤Ë¡¢IRQ5F¤ò¥½¥Õ¥È¤«¤é¥Í¥²¡¼¥È¤¹¤ë¤È
¾å¤Î¿Þ±¦¤Î¤è¤¦¤ÊÀµ¤·¤¤»È¤¤Êý¤Ë¤Ê¤ë¤è¤¦¤Ç¤¹¡£¤´»ØÅ¦¤¤¤¿¤À¤¤¤¿Êý¤â¥ª¥·¥í¤Ç³Îǧ
¤µ¤ì¤¿¤½¤¦¤Ç¤¹¡£
¤Ò¤È¤È¤ª¤êưºî¤·¤Þ¤¹¤¬¡¢¥±¡¼¥Ö¥ëÁÞÈ´Åù¤ÎÆÃ¼ì¤Ê¾õ¶·¤ÇINT*¤ò¥í¥¹¥È¤¹¤ë¤Ê¤É¤Î
ÉûºîÍѤ¬¤Ê¤¤¤«¤Þ¤Ç¤Ï³Îǧ¤·¤Æ¤¤¤Þ¤»¤ó¡£
¤È¤³¤í¤Ç3048F/3052F¤Î¥Á¥Ã¥×¥Ð¥°
¤¬¥ë¥Í¥µ¥¹¤µ¤ó¤«¤é¥ì¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤Ç¾ÜºÙ¤Ï
¾¡¼ê¤Ëľ¥ê¥ó¥¯¤Ë¤¢¤ê¤Þ¤¹¤¬¡¢3048F/3052F¤Ë³°Éô¥Ç¥Ð¥¤¥¹
¤ò¥Ð¥¹Àܳ¤·¤¿¾ì¹çDMAžÁ÷¤¬¤É¡¼¤Î¤³¡¼¤Î¤È¤¤¤¦ÏäʤΤǡ¢¤³¤È½©·î¤µ¤ó´Ø·¸¤Ç¥Ï¥Þ¥ë¤Ã¤Æ¡¼¤È¡Ä
¤³¤ÎUSB¥Ü¡¼¥É¤ÎSRAM¤¯¤é¤¤¤Ç¤·¤ç¤¦¤«¡£¾ò·ï¤Ï¤¤¤í¤¤¤í¤¢¤ë¤Î¤Ç¤¹¤¬¡¢¤³¤ÎSRAM¤Ë¸Â¤ë¤È
- BSC.ASTCR.BIT.AST1==1¤Ç¤«¤Ä
- (BSC.WCR.BIT.WC0|BSC.WCR.BIT.WC1)==1
¤Ç¤«¤Ä
- SRAM¤«¤é¡¢¤Þ¤¿¤ÏSRAM¤Ø¤à¤±¤Æ¡¢¤Þ¤¿¤ÏSRAM¤«¤éSRAM¤ØDMAžÁ÷¤¹¤ë
¤È¥³¥±¥ë¡¢¤È¤¤¤¦¤â¤Î¤Ç¤¹¡£¤³¤Î¥Ó¥Ã¥È¾ò·ï¤Î¤Û¤¦¤Ï¥ê¥»¥Ã¥È¸å½é´üÃͤǤ¹¤«¤é¡¢ÀѶËŪ¤Ë
¥½¥Õ¥È¤Ç¤Ò¤Ã¤¯¤êÊÖ¤¹É¬Íפ¬¤¢¤ê¤Þ¤¹¡£¥¦¥Á¤Î3052BF¤Ç¤Ï¡¢¤«¤±¤¶¤ó/¤ï¤ê¤¶¤ó¤µ¤»¤ë¤È
¿ôÉäÇȯÀ¸¤¹¤ë(Ää»ß¤·¤¿¤è¤¦¤Ë¸«¤¨¤ë)¤Î¤Ç¤¹¤¬¡¢¤½¤ì°Ê³°¤Ç¤ÏȯÀ¸¤µ¤»¤é¤ì¤Æ¤¤¤Þ¤»¤ó¡£Ã±¤ËÉÑÅÙ¤ÎÌäÂê¤Ê¤Î¤«
¾¤Ë²¿¤«¾ò·ï¤¬¤¢¤ë¤Î¤«ÉÔÌÀ¤Ç¤¹¡£watson8¤ÏBSC.ASTCR.BIT.AST1=BSC.ASTCR.BIT.AST2=0¤ÇÌäÂê¤Ê¤¯
»È¤¨¤Æ¤¤¤Þ¤¹¡£
¤³¤³¤Ç¤¤¤Ã¤Æ¤ë¤È¤ª¤ê¤ä¤Ã¤¿¤é¡ß¡ß¤¬µ¯¤¤¿¡ª¤È¸À¤ï¤ì¤Æ¤âÀÕǤ¤Ï»ý¤Æ¤Þ¤»¤ó¡£³Æ¼«¤ÎÀÕǤ¤Ë¤ª¤¤¤Æ¤ª´ê¤¤¤·¤Þ¤¹¡£
Åö¥µ¥¤¥È¤Ï½©·î¤µ¤ó¤äCmos¤µ¤ó¤È¤Ï²¿¤Î´Ø·¸¤â¤¢¤ê¤Þ¤»¤ó¡£
ξ¼Ò¤ËÂФ·Ì䤤¹ç¤ï¤»¤ë¤è¤¦¤Ê¤³¤È¤Ï¿¼¤¯¤´±óθ¤¯¤À¤µ¤¤¡£
¤Þ¤¿¤³¤³¤Ë¤¢¤ëÁ´¤Æ¤ÏÆÃ¤Ë»ØÄꤷ¤Ê¤¤¸Â¤êwatson8¤¬¤¢¤¯¤Þ¤Ç¸Ä¿ÍŪ¤Ë¸¡Æ¤¤·¤¿¤â¤Î¤Ç¤¹¡£
´¶ÁۤʤɤÏ
¤Þ¤¿¤Ï¤³¤Á¤é¤Î
¤«¤é¤É¤¦¤¾¡£
¤Ä¤Ã¤³¤ß¤â¤ä¤ó¤ï¤ê¤È¤Ê¤é´¿·Þ¤·¤Þ¤¹¡£
¤Ø¤â¤É¤ë