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

質問編集履歴

1

誤字修正

2018/03/14 20:04

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
  一度にたくさんの鍵盤を押して,MIDIデータを読み込むと,取りこぼしてしまいます.ノイズということも考えて,フォトカプラと,抵抗を入れましたが,変わりません.Mbedでリングバッファを自作して確認したため,バッファ漏れということはないと思われます.
8
8
 
9
- 念のため,下記にプログラムを全て載せておきます.プログラムが汚くてすみません,試作中なので,コメントアウト等が多くあります.リング付きバッファのクラスをインクルードしてすが,使ってません.(使用ても,取りこぼは起きます.
9
+ 下記に自作リンバッファのプログラムを載せておきます.プログラムが汚くてすみません,試作中なので,コメントアウト等が多くあります.間違い等ありましたら指摘お願いします.
10
10
 
11
11
  色々調べた結果,MIDIの割り込みすら起きていないと思います.
12
12
 
@@ -18,7 +18,7 @@
18
18
 
19
19
  //省略
20
20
 
21
- volatile char getData__[BUFFER] = {0};
21
+ volatile char getData__[256] = {0};
22
22
  volatile int writePos__ = 0;
23
23
  volatile int readPos__ = 0;
24
24
  volatile int available__ = 0;
@@ -34,7 +34,7 @@
34
34
  {
35
35
  //省略
36
36
  midi.attach(Midi_RX_, RawSerial::RxIrq);
37
- //省略
37
+   //省略
38
38
  }
39
39
 
40
40
  char read_()
@@ -82,51 +82,8 @@
82
82
  if (available__ > 100) printf("Over 100");
83
83
  }
84
84
 
85
- /*int getData()
86
- {
87
- while (!midi.readable()) {}
88
- return midi.getc();
89
- }*/
85
+ //省略
90
86
 
91
- void LEDwrite()
92
- {
93
- if (flag_uk == true) {
94
- for (int i = 0; i < 12; i++) {
95
- if (LEDlight_uk[i] == true) for (int j = i * 5; j < (i + 1) * 5; j++) uk_px.Set(j,0x0000ff);
96
- else for (int j = i * 5; j < (i + 1) * 5; j++) uk_px.Set(j,0x000000);
97
- }
98
- uk.write(uk_px.getBuf());
99
- flag_uk = false;
100
- }
101
- if (flag_lk == true) {
102
- for (int i = 0; i < 12; i++) {
103
- if (LEDlight_lk[i] == true) for (int j = i * 5; j < (i + 1) * 5; j++)lk_px.Set(j,0x00ff00);
104
- else for (int j = i * 5; j < (i + 1) * 5; j++) lk_px.Set(j,0x000000);
105
- }
106
- lk.write(lk_px.getBuf());
107
- flag_lk = false;
108
- }
109
- if (flag_pk == true) {
110
- for (int i = 0; i < 12; i++) {
111
- if (LEDlight_pk[i] == true) for (int j = i * 2; j < (i + 1) * 2; j++) pk_px.Set(j,0xff0000);
112
- else for (int j = i * 2; j < (i + 1) * 2; j++) pk_px.Set(j,0x000000);
113
- }
114
- pk.write(pk_px.getBuf());
115
- flag_pk = false;
116
- }
117
- }
118
-
119
- void Model_request()
120
- {
121
- char send_data[6] = {0xF0,0x43,0x70,0x70,0x30,0xF7};
122
- write_(send_data,6);
123
- }
124
-
125
- int map(int x, int in_min, int in_max, int out_min, int out_max)
126
- {
127
- return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
128
- }
129
-
130
87
  ```
131
88
 
132
89
  ### 補足情報(FW/ツールのバージョンなど)