78K0¤Ç̵ÀþÄÌ¿®(2)
Á°²ó¤Î³¤¤Ç¤¹¡£¤Ê¤Î¤ÇÁ°²ó¤Îµ»ö¤òÆÉ¤ó¤Ç¤ª¤é¤ì¤Ê¤¤Êý¤Ï
¤Ê¤ó¤Î¤³¤È¤ä¤é¡¢¤È¤¤¤¦¤³¤È¤Ë¤Ê¤ë¤È»×¤¤¤Þ¤¹¤Î¤Ç¡¢
Á°²ó¤Î78K0¤Ç̵ÀþÄÌ¿®(1)¤òÆÉ¤ó¤Ç¤«¤é¡¢º£²ó¤Îµ»ö¤ò
ÆÉ¤ó¤Ç¤¤¤¿¤À¤±¤ì¤Ð¤¤¤¤¤È»×¤¤¤Þ¤¹¡£
¤Þ¤¿¡¢º£²ó¤Îµ»ö¤ÏC¸À¸ì¤Î¥×¥í¥°¥é¥à¤¬½Ð¤Æ¤¤Þ¤¹¤Î¤Ç¡¢
C¸À¸ì¤¬¤Þ¤Ã¤¿¤¯¤ï¤«¤é¤Ê¤¤Êý¤Ë¤Ï¤Þ¤Ã¤¿¤¯¤ï¤«¤é¤Ê¤¤¤È»×¤¤¤Þ¤¹¡£
¤½¤Î¤è¤¦¤ÊÊý¤Ë¤Ï¡¢²¿¤é¤«¤Î·Á¤ÇC¸À¸ì¤Î¥×¥í¥°¥é¥à¤ò½ñ¤¤¤Æ
ưºî¤µ¤ì¤Æ¤«¤éÆÉ¤Þ¤ì¤ë¤È¤¤¤¤¤È»×¤¤¤Þ¤¹¡£
¤Ç¤Ïͽ¹ð¤É¤ª¤êº£²ó¤ÏÈù¼å̵ÀþÄÌ¿®¼Â¸³¤Î·ë²Ì¤Î¾ÜºÙ¡¢
ÄÌ¿®¤Î¶ñÂÎŪ¤ÊÊýË¡¡¦¥×¥í¥°¥é¥à¤Î²òÀâ¤ò¤ªÁ÷¤ê¤·¤Þ¤¹¡ª¡ª¡ª
°ì¤Ä¤ªÏͤӤ·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£·ë¶ÉÁ°²óHEX¥Õ¥¡¥¤¥ë¤ò
¥¢¥Ã¥×¥í¡¼¥É¤Ç¤¤º¤Ëº£²ó¤ÎÅê¹Æ¤ò¤à¤«¤¨¤Æ¤·¤Þ¤¤¤Þ¤·¤¿¡£
Á°²ó¥¢¥Ã¥×¥í¡¼¥ÉͽÄê¤À¤Ã¤¿
Á÷¿®Â¦78K0ÍÑHEX¥Õ¥¡¥¤¥ë¡¦¼õ¿®Â¦78K0ÍÑHEX¥Õ¥¡¥¤¥ë
¤Ïµ»ö¤ÎŤµ¤Î´Ø·¸¤Çº£²ó¤â·ÇºÜ¤Ç¤¤Þ¤»¤ó¡£¿½¤·Ìõ¤¢¤ê¤Þ¤»¤ó¡£
¼¡²ó¸ø³«¤·¤Þ¤¹¤Î¤Ç¤â¤¦¾¯¤·¤ªÂÔ¤Á¤¯¤À¤µ¤¤¡£
¢£¢£¼Â¸³¤Î·ë²Ì¡¦¤Á¤ç¤Ã¤È¤Î¹©ÉפǤª¼ê·Ú¤ËÄÌ¿®¤Ç¤¤¿¡ª¢£¢£
¼Â¤Ïº£²ó»ÈÍѤ·¤¿Èù¼å̵Àþ¥â¥¸¥å¡¼¥ë¤Ï¡¢¤½¤Î¤Þ¤ÞUART¤Ë¤Ä¤Ê¤¤¤À¤À¤±¤Ç¤Ï
ưºî¤·¤Æ¤¯¤ì¤Þ¤»¤ó¡ª¤Ç¤â¥ë¡¼¥ë¤ò¼é¤ì¤ÐUARTƱ»Î¤ÇÄÌ¿®¤¹¤ë¤Î¤ÈÊѤï¤ê¤Ê¤¯¡¢
̵ÀþÄÌ¿®¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡ªÂç¾æÉפǤ¹¡¢Æñ¤·¤¯¤Ê¤¤¤Î¤Ç¤´¿´Çۤʤ¯¡ª¡ª
¡ü¼õ¿®¥â¥¸¥å¡¼¥ë¤Ï̵¿®¹æ»þ¥é¥ó¥À¥à¥Ç¡¼¥¿¤ò¼õ¿®¤¹¤ë¡ü
¼õ¿®¥â¥¸¥å¡¼¥ë¤Ï¥¥ã¥ê¥¢¡ÊÈÂÁ÷Çȡˤò¸¡½Ð¤·¤Æ¤¤¤Ê¤¤´Ö¤ÏDATAü»Ò¤¬
0V¤ÈÅŸ»Å۵¤Î¤É¤Á¤é¤Ë¤â°ÂÄꤻ¤º¡¢¥é¥ó¥À¥à¤Ë¤Ð¤¿¤Ä¤¤¤Æ¤¤¤Þ¤¹¡£
¤Ê¤Î¤Ç78K0¤ÎUART¤Ë¤Ä¤Ê¤¤¤À¤À¤±¤Ç¤Ï¡¢DATAü»Ò¤ÎΩ¤Á²¼¤¬¤ê¤ò¥¹¥¿¡¼¥È¥Ó¥Ã¥È¤È
¸í²ò¤·¡¢¥¹¥È¥Ã¥×¥Ó¥Ã¥È¤ò¼õ¿®¤¹¤ë¥¿¥¤¥ß¥ó¥°¤Ç¥¿¥¤¥ß¥ó¥°¤è¤¯ÅŸ»Å۵
¤À¤Ã¤¿¤ê¤¹¤ë¤È¡¢Ìµ¿®¹æ»þ¤Ç¤âÊѤʥǡ¼¥¿¤ò¼õ¿®¤·Â³¤±¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
¥¿¥¤¥ß¥ó¥°¤¬°¤¯¡¢¥¹¥È¥Ã¥×¥Ó¥Ã¥È¤Î¤È¤¤ËÅŸ»Å۵¤Ç¤Ê¤±¤ì¤Ð
¥Õ¥ì¡¼¥ß¥ó¥°¥¨¥é¡¼¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¤¤Þ¤¹¡£¤Þ¤º¤³¤³¤ËÂкö¤¬É¬ÍפǤ¹¡£
¡üÁ÷¿®¥â¥¸¥å¡¼¥ë¤ÏÁ÷¿®¤·»Ï¤á¤ë¤È¤¤Á¤ç¤Ã¤È¹©Éפ¬¤¤¤ë¡ü
Á÷¿®¥â¥¸¥å¡¼¥ë¤ÏDATAü»Ò¤Ë°ìÄê»þ´Ö¡ÊÌó35ms¡Ë°Ê¾åΩ¤Á¾å¤¬¤ê¤âΩ¤Á²¼¤¬¤ê¤â
¤Ê¤¤¤È¾ÊÅÅÎϥ⡼¥É¤ËÆþ¤ë¤Î¤«¡¢ÈÂÁ÷ÇȤνÐÎϤ¬¤È¤Þ¤Ã¤Æ¤·¤Þ¤¤¤Þ¤¹¡£
¾ÊÅÅÎϥ⡼¥É¤Î¾õÂÖ¤«¤éÈÂÁ÷ÇȤòºÆ¤Ó½ÐÎϤµ¤»¤ë¤Ë¤Ï²¿²ó¤«Î©¤Á¾å¤¬¤ê¡¦
Ω¤Á²¼¤¬¤ê¤òDATAü»Ò¤ËÆþÎϤ·¤Æ¤ä¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
¤·¤«¤âÁ÷¿®¤·»Ï¤á¤Î1¥Ð¥¤¥È¤Ï¥¹¥¿¡¼¥È¥Ó¥Ã¥È¤«¤éÁ÷¿®¤µ¤ì¤ë¤Î¤Ç¤Ï¤Ê¤¯¡¢
¥Ç¡¼¥¿¥Ó¥Ã¥È¤ÎÅÓÃæ¤«¤éÁ÷¿®¤·»Ï¤á¤é¤ì¤ë¤Î¤Ç¡¢¤½¤Î¤Þ¤Þ¤¿¤À¥Ç¡¼¥¿¤ò
Á÷¿®¤·¤è¤¦¤È¤·¤¿¤À¤±¤Ç¤Ï¡¢¼õ¿®Â¦¤¬¥¹¥¿¡¼¥È¥Ó¥Ã¥È¤òÀµ¤·¤¯¸¡½Ð¤Ç¤¤º¤Ë
ÊѤʥǡ¼¥¿¤ò¼õ¿®¤¹¤ë¤«¡¢¼õ¿®¥¨¥é¡¼¤¬µ¯¤¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
¡ÊϢ³¤·¤ÆÁ÷¿®¤¹¤ë¾ì¹ç2¥Ð¥¤¥ÈÌܰʸå¤Ï¥¹¥¿¡¼¥È¥Ó¥Ã¥È¤«¤éÁ÷¿®¤µ¤ì¤ë¡Ë
¢£¢£¼ÂºÝ¤ËÄÌ¿®¤¹¤ë¡¦Á÷¼õ¿®Éôʬ¤Î¥×¥í¥°¥é¥à¤Î²òÀ⢣¢£
·ëÏÀ¤«¤é¸À¤¦¤È¡¢Á°²ó¤ÎÁ÷¿®½ªÎ»¤«¤éÌó35ms°Ê¾å·Ð²á¸å¤Ï0x55Á÷¿®¡¢0xFFÁ÷¿®¡¢
¤½¤Îľ¸å¤Ë1¥Ð¥¤¥ÈÁ÷¿®»þ´Öʬ¤è¤ê¤Á¤ç¤Ã¤ÈŤ¤¡ÊÌó1.2Çܡ˥¦¥§¥¤¥È¤òÆþ¤ì¤ë
¤³¤È¤Ë¤è¤Ã¤Æ¡¢Á÷¿®¥â¥¸¥å¡¼¥ë¤â¼õ¿®¥â¥¸¥å¡¼¥ë¤âÀµ¤·¤¯¥Ç¡¼¥¿¤òÁ÷¼õ¿®¤¹¤ë
½àÈ÷¤¬¤Ç¤¤ë¤È¤¤¤¦¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
¤³¤ÎÁ÷¼õ¿®½àÈ÷¸å¤Ï¥¹¥È¥Ã¥×¥Ó¥Ã¥È¤È¥¹¥¿¡¼¥È¥Ó¥Ã¥È¤Î´Ö¤¬Ìó35ms°Ê¾å¤¢¤«¤Ê¤¤
¸Â¤ê¡¢Ï¢Â³¤·¤Æ¥Ç¡¼¥¿¤òÁ÷¿®¤Ç¤¤ë¤È¤¤¤¦¤³¤È¤Ç¤¹¡£
¤³¤³¤«¤é¤Ï¼ÂºÝ¤ËÁ÷¿®Â¦¤Î¥×¥í¥°¥é¥à¤ò¸«¤Ê¤¬¤éÀâÌÀ¤·¤Æ¤¤¤¤Þ¤¹¡£
¤³¤Î¥×¥í¥°¥é¥à¤Ï¥¿¡¼¥ß¥Ê¥ë¥½¥Õ¥È¤«¤é¥¡¼¤ò²¿¤«ÂǤĤȡ¢
0x55¡¦0xFF¡¦¥¦¥§¥¤¥È¡¦0x02¡¦0x0AÂǤ¿¤ì¤¿°ìʸ»ú¤ÎASCII¥Ç¡¼¥¿¤òϢ³¤·¤Æ
Á÷¿®¤·¡¢¼¡¤Ë¥¡¼¤¬ÂǤ¿¤ì¤ë¤Î¤òÂԤġ¢¤È¤¤¤¦¤â¤Î¤Ç¤¹¡£
Á÷¿®Â¦¥á¥¤¥ó¥×¥í¥°¥é¥à¡¡wireless_test.c
/*
¢£¥È¥éµ»78K0ÉÕÏ¿´ðÈÄ
¢£uPD78F0730
¢£wireless_test.c
¢£315MHzÈù¼å̵Àþ¥â¥¸¥å¡¼¥ë¤Î¥Æ¥¹¥È(¥È¥éµ»´ðÈÄ:Á÷¿®Â¦ ¥¨¥ì¥¥¸¥ã¥Ã¥¯´ðÈÄ:¼õ¿®Â¦)
2008.12.10ºîÀ®
*/
#pragma sfr /* ¥×¥í¥°¥é¥à¾å¤ÇľÀÜSFR̾¤ÇSFR¤òÁàºî¤Ç¤¤ë¤è¤¦¤Ë¤¹¤ë */
#include "trgbios.h” /* ¥È¥éµ»CD¤ÎUSB¤Î´Ø¿ô¤ò»ÈÍѤ¹¤ë¤¿¤á¤Ë¥È¥éµ»BIOS¤ò¥¤¥ó¥¯¥ë¡¼¥É */
#include "wireless_test.h”
/*
****************************************
main USB-UART6´ÖÄÌ¿®¥Æ¥¹¥È
****************************************
*/
void main( void )
{
/* ¥¯¥í¥Ã¥¯¤ÏÆâÉôȯ¿¶ 16 MHz */
/* ´Ø¿ô¤ÎÀë¸À */
unsigned char temp; /* ¥Ç¡¼¥¿°ì»þÊݸ */
/* Æþ½ÐÎϥݡ¼¥È¤Î½é´ü²½(0:½ÐÎÏ,1:ÆþÎÏ) */
PM0.0 = 0;
PM0.1 = 0;
PM1 = 0b00010000;
/* P13 TxD
P14 RxD
*/
PM3.0 = 0;
PM3.1 = 0;
PM6.0 = 0;
PM6.1 = 0;
PM12.0 = 1; /* ¥×¥í¥°¥é¥à½ªÎ»ÍÑ +5V:¥ê¥»¥Ã¥È GND:ưºî */
P6.1 = 0;/* µ¯Æ°ÃæÀľÃÅô */
/* ÄÌ¿®¥Ý¡¼¥È¤Î½é´ü²½ */
UART6_INIT( 0x09 , 13 , 0x04 ); /* UART6½é´ü²½(1200bps,8bit,none¡¡CPU¥æ¡¼¥¶¡¼¥º¥Þ¥Ë¥å¥¢¥ë»²¾È) */
UART6_MANEGE( 1 ); /* UART6ưºî³«»Ï */
/* ¥¿¥¤¥ÞH1½é´ü²½ */
TMHMD1 = 0b01000000; /* ¥¿¥¤¥Þ¡¼H1¥¯¥í¥Ã¥¯¤Ï3906.25Hz (¼þ´ü0.256mS) ¥¤¥ó¥¿¡¼¥Ð¥ë */
/* USB-UART6´Ö¤ÎÄÌ¿® */
while( temp != 0x20 ) /* P12.0¤¬GNDÅṲ̋ʤé¥È¥éµ»BIOS¤ØÌá¤ë */
{
temp = (unsigned char)trg_getc();/* USB¤«¤éÆÉ¤ß¹þ¤ß */
trg_senddata( &temp,1 ); /* USB¤Ø½ÐÎÏ */
P6.1 = 0; /* ̵ÀþÁ÷¿®ÃæÀÄÅÀÅô */
UART6_TX( 0x55 ); /* ¥¹¥¿¡¼¥È¥Ó¥Ã¥È¤Î¤ßÁ÷¤ë */
UART6_TX( 0xff ); /* ¥¹¥¿¡¼¥È¥Ó¥Ã¥È¤Î¤ßÁ÷¤ë */
WAIT256U( 0x26 ); /* 1¥Ð¥¤¥ÈÁ÷¿®»þ´ÖʬÂÔ¤Ä */
UART6_TX( 0x02 ); /* ¥Ø¥Ã¥À */
UART6_TX( 0x0A ); /* ¥Ø¥Ã¥À */
UART6_TX( temp ); /* ̵Àþ¤Ç½ÐÎÏ(UART6) */
UART6_TX( 0x03 ); /* ¥Õ¥Ã¥¿ */
P6.1 = 1;
}
P6.1 = 1;/* ½ªÎ»¸åÀľÃÅô */
}
/*
****************************************
¥¿¥¤¥Þ¡¼H1¤ò»È¤Ã¤¿ÂÔ¤Á»þ´ÖÀ¸À®
****************************************
*/
void WAIT256U( unsigned char c )
{
CMP01 = c; /* ¥¿¥¤¥Þ¡¼H1¥ê¥»¥Ã¥È¼þ´ü¤Ï c * 256uS */
TMHMD1.7 = 1; /* ¥¿¥¤¥Þ¡¼H1ưºî³«»Ï */
IF0H.3 = 0;
while( IF0H.3 != 1 ); /* ¥¿¥¤¥Þ¡¼H1¥ê¥»¥Ã¥È¤«¤«¤Ã¤¿¤é¥¿¥¤¥à¥¢¥¦¥È */
TMHMD1.7 = 0; /* ¥¿¥¤¥Þ¡¼H1ưºîÄä»ß */
}
¾å¤ÇÀâÌÀ¤·¤¿¤È¤ª¤ê¡¢
¡¦¼õ¿®¥â¥¸¥å¡¼¥ë¤ÏÈÂÁ÷ÇȤò¸¡½Ð¤·¤Æ¤¤¤Ê¤¤´Ö¤ÏH,L¤ò¥é¥ó¥À¥à¤Ë½ÐÎϤ¹¤ë
¡¦Á÷¿®¥â¥¸¥å¡¼¥ë¤Ï¾ÊÅÅÎϾõÂÖ¤«¤éÈ´¤±½Ð¤¹¤¿¤á¤Ë²¿²ó¤«Î©¤Á¾å¤¬¤ê¡¦²¼¤¬¤ê¤¬É¬Í×
¡¦¾ÊÅÅÎϾõÂÖ¤«¤éÈ´¤±½Ð¤·¤¿Ä¾¸å¤Ï¥Ç¡¼¥¿¥Ó¥Ã¥È¤ÎÅÓÃæ¤«¤éÁ÷¿®¤ò»Ï¤á¤Æ¤·¤Þ¤¦
¤³¤Î»°¤Ä¤ÎÍýͳ¤«¤éÄÌ¿®³«»Ï»þ¤Ë¼õ¿®Â¦¤¬Àµ¤·¤¯¥¹¥¿¡¼¥È¥Ó¥Ã¥È¤È
¥¹¥È¥Ã¥×¥Ó¥Ã¥È¤ò¸¡½Ð¤Ç¤¤ë¤è¤¦¤Ë¹©Éפ¬É¬ÍפǤ¹¡£
¤Þ¤¿¤³¤ì¤é¤Ë²Ã¤¨¤Æ
¡¦¼õ¿®¤·¤¿¥é¥ó¥À¥à¥Ç¡¼¥¿¤ÎʤӤ¬¡¢¤¿¤Þ¤¿¤Þ¼õ¿®¤·¤¿¤¤¥Ç¡¼¥¿¤ÎʤӤȰìÃפ·¤Æ
¤·¤Þ¤Ã¤¿¾ì¹ç¡¢Á÷¿®Â¦¤¬Á÷¿®¤ò¤·¤Æ¤¤¤Ê¤¤¤Î¤Ë¼õ¿®Â¦¤¬¾¡¼ê¤ËÊѤʼõ¿®¤ò¤·¤Æ¤·¤Þ¤¦
¤È¤¤¤¦¸½¾Ý¤¬µ¯¤¤Þ¤¹¡£¤³¤ì¤Ë¤âÂкö¤¬É¬ÍפǤ¹¡£
¡¤Þ¤º¡¢0x55¤òÁ÷¿®¤·¤ÆÎ©¤Á¾å¤¬¤ê¡¦²¼¤¬¤ê¤òÁ÷¿®¥â¥¸¥å¡¼¥ë¤Ë²Ã¤¨¤Æ
¿²¤Æ¤¤¤ëÁ÷¿®¥â¥¸¥å¡¼¥ë¤òµ¯¤³¤·¤Þ¤¹¡£0x55¤Ï2¿Ê¿ô¤Ç¤Ï01010101¤Ê¤Î¤Ç
¤³¤ì¤Ë¥¹¥¿¡¼¥È¥Ó¥Ã¥È¤È¥¹¥È¥Ã¥×¥Ó¥Ã¥È¤¬¤Ä¤¯¤È0101010101¤Î½ç¤ÇÁ÷¿®Â¦78K0¤«¤é
Á÷¿®¥â¥¸¥å¡¼¥ë¤ËÁ÷¿®¤µ¤ì¤ë¤³¤È¤Ë¤Ê¤ê¡¢¿²¤Æ¤¤¤ëÁ÷¿®¥â¥¸¥å¡¼¥ë¤ò
·ã¤·¤¯Íɤµ¤Ö¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
¤Ç¤¹¤¬¡¢Á÷¿®¥â¥¸¥å¡¼¥ë¤Ï¿²µ¯¤¤¬°¤¯¡¢¤Á¤ã¤ó¤È¤Ï¤¸¤á¤Î¥¹¥¿¡¼¥È¥Ó¥Ã¥È¤«¤é¤Ï
Á÷¿®¤·¤Æ¤Ï¤¯¤ì¤º¡¢¥Ç¡¼¥¿¥Ó¥Ã¥È¤ÎÅÓÃæ¤«¤éÁ÷¿®¤·»Ï¤á¤ë¤³¤È¤Ë¤Ê¤ê¡¢
¼õ¿®¥â¥¸¥å¡¼¥ë¤¬0¤ò¼õ¿®¤·¤¿¤È¤¤Ë¼õ¿®Â¦78K0¤Ï¥¹¥¿¡¼¥È¥Ó¥Ã¥È¤Èǧ¼±¤·¤Æ
¤·¤Þ¤¤¤Þ¤¹¡£¤³¤Î¤Ï¤¸¤á¤ËÁ÷¿®¤¹¤ë0x55¤ÏÁ÷¿®¥â¥¸¥å¡¼¥ë¤òµ¯¤³¤¹¤¿¤á¤Î
¥À¥ß¡¼¤Î¥Ç¡¼¥¿¤Ê¤Î¤Ç¡¢¼õ¿®Â¦¤Ë¤Ï¼õ¿®¤·¤Æ¤Û¤·¤¯¤Ê¤¤¤Î¤Ç¤¹¡£
¢¤½¤³¤Ç¡¢0x55¤Î¤¢¤È¤Ë0xFF¤È¤¤¤¦¥Ç¡¼¥¿¤òÁ÷¿®¡¢Ä¾¸å¤Ë1¥Ð¥¤¥ÈÁ÷¿®»þ´Öʬ¤è¤ê
¤Á¤ç¤Ã¤ÈŤ¤¡ÊÌó1.2Çܡ˥¦¥§¥¤¥È¤òÆþ¤ì¤Þ¤¹¡£0xFF¤Ï¥¹¥¿¡¼¥È¥Ó¥Ã¥È¤È¥¹¥È¥Ã¥×
¥Ó¥Ã¥È¤¬¤Ä¤¯¤È0111111111¤Î½ç¤ÇÁ÷¿®¤µ¤ì¤ë¤³¤È¤Ë¤Ê¤ê¡¢¤½¤Î¸å¤â¥¦¥§¥¤¥È¤ò
Æþ¤ì¤Æ¤¤¤ë´Ö¤ÏH¤Î¾õÂÖ¤¬°Ý»ý¤µ¤ì¤Þ¤¹¡£¤³¤ÎÌó2¥Ð¥¤¥ÈÁ÷¿®»þ´ÖʬϢ³¤·¤ÆH¤ò
½ÐÎϤ¹¤ë¤³¤È¤Ç¼õ¿®Â¦¤¬0x55¡¦0xFF¤ÎÃæ¤Î¤É¤ÎL¤ò¥¹¥¿¡¼¥È¥Ó¥Ã¥È¤Èǧ¼±¤µ¤ì¤Æ¤â
ɬ¤º¥¹¥È¥Ã¥×¥Ó¥Ã¥È¤òÀµ¤·¤¯¸¡½Ð¤Ç¤¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£¤Þ¤¿¡¢Æ±Íͤˤ·¤Æ
0x55¤¬Á÷¿®¤µ¤ì»Ï¤á¤ëÁ°¤Î¤É¤Î¥¿¥¤¥ß¥ó¥°¤Ç¥é¥ó¥À¥à¥Ç¡¼¥¿¤ò¼õ¿®¤·¤Æ¤¤¤Æ¤â¡¢
¥¦¥§¥¤¥È¤¬½ª¤ï¤ë¤Þ¤Ç¤Ë¤Ï¤½¤Î¥é¥ó¥À¥à¥Ç¡¼¥¿¤Î¼õ¿®¤ò̵¸ú²½¤Ç¤¤Þ¤¹¡£
£¤½¤·¤Æ¡¢¼õ¿®Â¦¤¬¼õ¿®¤·¤¿¤¤¥Ç¡¼¥¿¤È¥é¥ó¥À¥à¥Ç¡¼¥¿¤ò¸«Ê¬¤±¤é¤ì¤ë¤è¤¦¤Ë¡¢
Á÷¿®»þ¤Ë¤Ï·è¤Þ¤Ã¤Æ0x55¡¦0xFF¡¦¥¦¥§¥¤¥È¤Î¤¢¤È¤Ë0x02¡¦0x0A¤òϢ³¤·¤ÆÁ÷¿®¤·¡¢
¤½¤Î¤¢¤È¤Ë¤Ï¤¸¤á¤ÆÁ÷¤ê¤¿¤¤¥Ç¡¼¥¿¤òÁ÷¿®¤·¤Þ¤¹¡£¼õ¿®Â¦¤Ç¤ÏϢ³¤·¤Æ0x02¡¦0x0A
¤¬¼õ¿®¤Ç¤¤¿¤¢¤È¤Î¥Ç¡¼¥¿°Ê³°¤Ï¼õ¿®¤·¤Æ¤â̵»ë¤¹¤ë¤è¤¦¤Ë¥×¥í¥°¥é¥à¤·¤Æ¤¤¤Þ¤¹¡£
¡ÊÊä¡§Á÷¿®¤·¤Æ¤Ê¤¤¥Ç¡¼¥¿¤ò¾¡¼ê¤Ë¼õ¿®¤¹¤ë¤Î¤òËɻߤ¹¤ë¤¿¤á¤Ë¡¢º£²ó¤Ï
0x02¡¦0x0A¤È¤¤¤¦¥Ø¥Ã¥À¤¬¤¢¤ë¤«¤É¤¦¤«¤òȽÄꤹ¤ë¤è¤¦¤Ë¤·¤Þ¤·¤¿¡£¤·¤«¤·¼Â¤Ï
¤½¤ì¤Ç¤â¤ä¤Ã¤Ñ¤ê¤½¤ì¤òÈ´¤±¤Æ¤·¤Þ¤¦¥é¥ó¥À¥à¥Ç¡¼¥¿¤¬¼Â¸³¤Ç¤Ï¿ô½½É䫤é
¿ôʬ¤Ë1²ó¤Û¤É¤¢¤ê¤Þ¤¹¡£¤³¤ì°Ê¾å¤ÎÂкö¤È¤·¤Æ¤Ï¡¢¥Ç¡¼¥¿¤ÎÁ÷¿®¤ÎºÇ¸å¤ËCRC¤ò
¤Ä¤±¤Æ¼õ¿®Â¦¤Ç¤½¤ì¤ò¥Á¥§¥Ã¥¯¤¹¤ë¡¢¥Õ¥Ã¥¿¤ò¤Ä¤±¤ëÅù¤ÎÊýË¡¤¬¹Í¤¨¤é¤ì¤Þ¤¹¡£¡Ë
¼õ¿®Â¦¤Î¥×¥í¥°¥é¥à¤ÏϢ³¤·¤Æ0x02¡¦0x0A¤ò¼õ¿®¤·¤¿¾ì¹ç¤Î¤ß¤½¤Î¼¡¤Ë¼õ¿®¤·¤¿
¥Ç¡¼¥¿¤ò¥¿¡¼¥ß¥Ê¥ë¥½¥Õ¥È¤ËÁ÷¿®¤·¡¢¤½¤Î¸å¤Ï¤Þ¤¿0x02¡¦0x0A¤Î¼õ¿®¤òÂԤġ¢
¤È¤¤¤¦¤â¤Î¤Ç¤¹¡£
¼õ¿®Â¦¥á¥¤¥ó¥×¥í¥°¥é¥à¡¡wireless_test.c
/*
¢£¥¨¥ì¥¥¸¥ã¥Ã¥¯78K0ÉÕÏ¿´ðÈÄ
¢£uPD78F0503DA
¢£wireless_test.c
¢£315MHzÈù¼å̵Àþ¥â¥¸¥å¡¼¥ë¤Î¥Æ¥¹¥È(¥¨¥ì¥¥¸¥ã¥Ã¥¯´ðÈÄ:¼õ¿®Â¦ ¥È¥éµ»´ðÈÄ:Á÷¿®Â¦)
2008.12.10ºîÀ®
*/
#pragma sfr /* ¥×¥í¥°¥é¥à¾å¤ÇľÀÜSFR̾¤ÇSFR¤òÁàºî¤Ç¤¤ë¤è¤¦¤Ë¤¹¤ë */
#include "wireless_test.h”
/*
****************************************
¥Ï¡¼¥É¥¦¥§¥¢¤Î½é´ü²½
****************************************
*/
void INIT( void )
{
/* ¥¯¥ê¥¹¥¿¥ë¤Ï 10 MHz */
/* ¥á¥â¥ê¡¦¥¯¥í¥Ã¥¯½é´ü²½ */
IMS = MEMORY_IMS_SET; /* ÆâÉôRAM,ÆâÉôROM¤Î¥á¥â¥ê¥µ¥¤¥ºÀßÄê */
AMPH = OSC_FREQ_CONT; /* ȯ¿¶¼þÇÈ¿ôÈϰϤÎÀßÄê */
OSCCTL = CLOCK_MODE; /* ¥¯¥í¥Ã¥¯Æ°ºî¥â¡¼¥ÉÀßÄê */
MOC = 0x00; /* X1ȯ¿¶²óÏ©¤Îȯ¿¶³«»Ï */
while( OSTC != 0x1f ); /* X1ÆþÎÏ¥¯¥í¥Ã¥¯È¯¿¶°ÂÄêÂÔ¤Á¡Ê6.55ms°Ê¾å¡Ë */
MCM = SYSTEM_CLOCK_SELECT; /* ¥·¥¹¥Æ¥à¥¯¥í¥Ã¥¯¶¡µëÁªÂò */
PCC = 0x00; /* CPUưºî¥¯¥í¥Ã¥¯¡§fx¡Ê10MHz¡Ë¤ËÀßÄê */
/* Æþ½ÐÎϥݡ¼¥È¤Î½é´ü²½(0:½ÐÎÏ,1:ÆþÎÏ) */
/* PORT0 */
PM0.0 = 0;
PM0.1 = 0;
/* PORT1 */
PM1.0 = 0;/* TxD0 */
PM1.1 = 1;/* RxD0 */
PM1.2 = 0;
PM1.3 = 0;/* TxD6 */
PM1.4 = 1;/* RxD6 */
PM1.5 = 0;
PM1.6 = 0;
PM1.7 = 0;
/* PORT2 A/D·óÍÑ */
PM2.0 = 0;
PM2.1 = 0;
PM2.2 = 0;
PM2.3 = 0;
/* PORT3 ³ä¤ê¹þ¤ß·óÍÑ */
PM3.0 = 0;
PM3.1 = 0;
PM3.2 = 0;
PM3.3 = 0;
/* PORT6 I2C */
PM6.0 = 0;
PM6.1 = 0;
/* PORT12.0 ³ä¤ê¹þ¤ß·óÍÑ */
PM12.0 = 0;
P1.7 = 0;
/* UART½é´ü²½¡¦Æ°ºî³«»Ï */
UART6_INIT( 0x06 , 0x41 , 0x04 ); /* UART6½é´ü²½(1200bps,8bit,none¡¡CPU¥æ¡¼¥¶¡¼¥º¥Þ¥Ë¥å¥¢¥ë»²¾È) */
UART6_MANEGE( 1 ); /* UART6ưºî³«»Ï */
UART0_INIT( 0xC8 , 0x05 ); /* UART0½é´ü²½(C8¤Ç19.2kbps,8bit,none¡¡56¤Ç115.2kbps¡¡D0¤Ç9600¡¡CPU¥æ¡¼¥¶¡¼¥º¥Þ¥Ë¥å¥¢¥ë»²¾È) */
UART0_MANEGE( 1 ); /* UART0ưºî³«»Ï */
/* ¥¿¥¤¥ÞH1½é´ü²½ */
TMHMD1 = 0b01100000; /* ¥¿¥¤¥Þ¡¼H1¥¯¥í¥Ã¥¯¤Ï470Hz (¼þ´ü2.1276mS) */
CMP01 = 0xFF; /* ¥¿¥¤¥Þ¡¼H1¥ê¥»¥Ã¥È¼þ´ü¤Ï 0xFF = Ìó0.5S */
}
/*
****************************************
main 315MHzÈù¼å̵Àþ¥â¥¸¥å¡¼¥ë¤Î¥Æ¥¹¥È
****************************************
*/
void main( void )
{
/* ÊÑ¿ô¤ÎÀë¸À */
unsigned char temp;
/* ¥Ï¡¼¥É¥¦¥§¥¢¤Î½é´ü²½ */
INIT(); /* ¥á¥â¥ê¡¦¥¯¥í¥Ã¥¯½é´ü²½¡¢Æþ½ÐÎÏÀßÄê */
/* ̵Àþ¼õ¿®¢ªUARTÁ÷¿® */
while( 1 )
{
temp = UART6_RX();
if( temp == 0x02 )
{
temp = UART6_RX();
if( temp == 0x0A ) /* Ϣ³¤Ç0x20,0x0A¤ò¼õ¿®¤·¤¿¤È¤¤Î¤ß
¤½¤Î¤¢¤È¤Î1ʸ»ú¤òÁ÷¿® */
{
temp = UART6_RX();
UART0_TX( temp );
}
}
}
}
¢£¢£¼¡²óͽ¹ð¡ª¡ª¡ª¢£¢£
¼Â¤Ïº£²ó¼Â¸³¤Î¼ê½ç¤â½ñ¤³¤¦¤È»×¤Ã¤Æ¤¤¤¿¤Î¤Ç¤¹¤¬¡¢Ä¹¤¯¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤¿¤Î¤Ç
¼¡²ó¤´¾Ò²ð¤·¤¿¤¤¤È»×¤¤¤Þ¤¹¡ª¸ð¤¦¤´´üÂÔ¡ª¡ª¡ª
¤¢¤È¡¢º£²ó·ÇºÜ¤·¤¿¥×¥í¥°¥é¥à¤À¤±¤Ç¤Ïưºî¤·¤Þ¤»¤ó¡£Â¾¤ËUART¤ÎÀ©¸æ¤ò¤¹¤ë
¥×¥í¥°¥é¥à¡¢¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¡¢¥×¥í¥°¥é¥à¤Î³«»ÏÈÖÃϤλØÄê¥Õ¥¡¥¤¥ëÅù¤â
ɬÍפǤ¹¤¬¡¢¤³¤ì¤é¤ÎɬÍפʥե¡¥¤¥ë¤â¼¡²ó¸ø³«¤·¤Þ¤¹¡ª¤½¤ì¤Ç¤Ï¤Þ¤¿¡ª¡ª¡ª
¥³¥á¥ó¥È
¤³¤ÎÅê¹Æ¤Ë¤Ï¡¢¤Þ¤À¥³¥á¥ó¥È¤¬ÉÕ¤¤¤Æ¤¤¤Þ¤»¤ó
¥³¥á¥ó¥È¤ÎÅê¹Æ
¤´¤á¤ó¤Ê¤µ¤¤¡¢¸½ºß¥³¥á¥ó¥È¤òÉÕ¤±¤ë¤³¤È¤Ï½ÐÍè¤Þ¤»¤ó