質問編集履歴
2
プログラムの更新。
title
CHANGED
File without changes
|
body
CHANGED
@@ -31,7 +31,7 @@
|
|
31
31
|
SPBRGL = 0x33; //下位8bit
|
32
32
|
|
33
33
|
while(1){
|
34
|
-
i = XBee_MakePacket10(dt,adrs,"
|
34
|
+
i = XBee_MakePacket10(dt,adrs,"test",4) ;
|
35
35
|
x = XBee_SendPacket10(dt,i,0) ;
|
36
36
|
__delay_ms(5000);
|
37
37
|
}
|
1
プログラムを見直しました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -14,7 +14,6 @@
|
|
14
14
|
char dt[36] ;
|
15
15
|
char adrs[] = {0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF} ; // 相手XBeeのアドレス
|
16
16
|
|
17
|
-
|
18
17
|
void main(void) {
|
19
18
|
OSCCON=0x72; //PLL Disable/8MHz
|
20
19
|
ANSELA=0x04; //RA2 Analog Setting
|
@@ -22,7 +21,7 @@
|
|
22
21
|
TRISA=0x04; //RA2 Input
|
23
22
|
TRISC=0x28; //RC5, RC3 Input
|
24
23
|
LATC=0x00;
|
25
|
-
|
24
|
+
|
26
25
|
RXDTSEL = 0;
|
27
26
|
TXCKSEL = 0;
|
28
27
|
TXSTA = 0x24; //非同期/8ビット/パリティなし
|
@@ -30,18 +29,19 @@
|
|
30
29
|
BAUDCON = 0x00; // 8bit mode
|
31
30
|
SPBRGH = 0x00; //上位8bit
|
32
31
|
SPBRGL = 0x33; //下位8bit
|
33
|
-
|
32
|
+
|
34
33
|
while(1){
|
35
|
-
i = XBee_MakePacket10(dt,adrs,"
|
34
|
+
i = XBee_MakePacket10(dt,adrs,"bbbb",4) ;
|
36
35
|
x = XBee_SendPacket10(dt,i,0) ;
|
36
|
+
__delay_ms(5000);
|
37
37
|
}
|
38
38
|
}
|
39
39
|
|
40
40
|
|
41
41
|
void UART_Send(const char *dt,int num)
|
42
42
|
{
|
43
|
-
int
|
43
|
+
int a ;
|
44
|
-
for (
|
44
|
+
for (a = 0 ; a < num ; a++) {
|
45
45
|
while(TXIF == 0) ; // 送信可能になるまで待つ
|
46
46
|
TXREG = *dt++ ; // 送信する
|
47
47
|
}
|
@@ -60,7 +60,7 @@
|
|
60
60
|
packet_dt++ ;
|
61
61
|
}
|
62
62
|
x = 0xff - (x & 0xff) ;
|
63
|
-
return x ; // 計算したチェックサム値を返す
|
63
|
+
return (unsigned int) x ; // 計算したチェックサム値を返す
|
64
64
|
}
|
65
65
|
|
66
66
|
|
@@ -70,8 +70,8 @@
|
|
70
70
|
|
71
71
|
packet_dt[0] = 0x7E ; // 開始コード
|
72
72
|
x = num + 14 ;
|
73
|
-
packet_dt[1] = x / 256 ; // フレームデータの長さ
|
73
|
+
packet_dt[1] = (unsigned int)(x / 256) ; // フレームデータの長さ
|
74
|
-
packet_dt[2] = x % 256 ;
|
74
|
+
packet_dt[2] = (unsigned int)(x % 256) ;
|
75
75
|
packet_dt[3] = 0x10 ; // フレームタイプ
|
76
76
|
packet_dt[4] = 0x00 ; // フレームID
|
77
77
|
for (i = 5 ; i < 13 ; i++) {
|
@@ -96,13 +96,8 @@
|
|
96
96
|
|
97
97
|
int XBee_SendPacket10(char *packet_dt,int len,int sw)
|
98
98
|
{
|
99
|
-
char dt[36] ;
|
100
|
-
int x , ans , c ;
|
101
|
-
|
102
|
-
ans = 0 ;
|
103
99
|
if (sw == 0) {
|
104
100
|
UART_Send(packet_dt,len) ;
|
105
101
|
}
|
106
|
-
return ans ;
|
107
102
|
}
|
108
103
|
```
|