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

質問編集履歴

3

ソースコードの追記

2020/03/03 12:02

投稿

Kuroame112
Kuroame112

スコア4

title CHANGED
File without changes
body CHANGED
@@ -27,20 +27,37 @@
27
27
  ### 該当のソースコード
28
28
 
29
29
  ```C++
30
+ //ポートの設定
31
+ #define PORT "/dev/serial0"
30
32
 
31
33
  //変数宣言
32
34
  uint8_t data[500];
33
35
  int length;
34
36
 
35
37
  //オープン
36
- fd = open(SERIAL_PORT, O_RDWR);
38
+ fd = open(PORT, O_RDWR);
37
39
  if (fd < 0) {
38
40
  printf("open error\n");
39
41
  return -1;
40
42
  }
41
43
 
42
- //BaudRate など設定 (省略)
44
+ //BaudRate など設定 (追記)
45
+ struct termios tms;
43
46
 
47
+ tms.c_cflag += CREAD;
48
+ tms.c_cflag += CLOCAL;
49
+ tms.c_cflag += CS8;
50
+ tms.c_cflag += 0;
51
+ tms.c_cflag += 0;
52
+
53
+ cfsetispeed(&tms, 115200);
54
+ cfsetospeed(&tms, 115200);
55
+
56
+ cfmakeraw(&tms);
57
+ tcsetattr(fd, TCSANOW, &tms);
58
+ ioctl(fd, TCSETS, &tms);
59
+
60
+
44
61
  //受信処理ループ
45
62
  while(1) {
46
63
  length = read(fd, data, sizeof(data));

2

2020/03/03 12:02

投稿

Kuroame112
Kuroame112

スコア4

title CHANGED
@@ -1,1 +1,1 @@
1
- Raspberry Pi3 の UART 通信について (8bit データ受信)
1
+ Raspberry Pi3 の UART 通信について (8bit データ受信したい)
body CHANGED
File without changes

1

初心者マークの追加

2020/03/03 11:41

投稿

Kuroame112
Kuroame112

スコア4

title CHANGED
File without changes
body CHANGED
@@ -5,7 +5,7 @@
5
5
  BaudRate は 115200 であり,データビットは 8bit, ストップビットは 1bit です.
6
6
  Raspberry Pi3 の設定 (UARTの有効化など) は完了しています.
7
7
 
8
- read関数をいて該当のソースコードに示すような受信処理のループを作成したのですが,500 個のデータが表示されず,1 個や 2 個といった細切れ状態で表示されてしまいます.
8
+ read関数をもちいて該当のソースコードに示すような受信処理のループを作成したのですが,500 個のデータが表示されず,1 個や 2 個といった細切れ状態で表示されてしまいます.
9
9
  また,表示される値も正確なものでないようです.
10
10
 
11
11
  ### 発生している問題・エラーメッセージ