質問するログイン新規登録

質問編集履歴

2

プログラムの更新。

2019/08/27 07:52

投稿

raspypy
raspypy

スコア247

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,"bbbb",4) ;
34
+ i = XBee_MakePacket10(dt,adrs,"test",4) ;
35
35
  x = XBee_SendPacket10(dt,i,0) ;
36
36
  __delay_ms(5000);
37
37
  }

1

プログラムを見直しました。

2019/08/27 07:52

投稿

raspypy
raspypy

スコア247

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,"wxyyz",4) ;
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 i ;
43
+ int a ;
44
- for (i = 0 ; i < num ; i++) {
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
  ```