├── 美的空调编码.xlsx
├── IRsendMeidi
├── keywords.txt
├── IRsendMeidi.h
├── IRsendMeidiDemo
│ └── IRsendMeidiDemo.ino
└── IRsendMeidi.cpp
└── README.md
/美的空调编码.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Aqamoe/IRsendMeidi_ESP8266-RN02S-Midea/HEAD/美的空调编码.xlsx
--------------------------------------------------------------------------------
/IRsendMeidi/keywords.txt:
--------------------------------------------------------------------------------
1 | begin_2 KEYWORD2
2 | IRsendMeidi KEYWORD1
3 | setCodeTime KEYWORD2
4 | setTemps KEYWORD2
5 | setModes KEYWORD2
6 | setFanSpeeds KEYWORD2
7 | setEco KEYWORD2
8 | setPowers KEYWORD2
9 | setZBPL KEYWORD2
10 | setSwingUD KEYWORD2
11 | setSwingLR KEYWORD2
12 | setFZC KEYWORD2
13 | setTimers KEYWORD2
14 | Send_Code KEYWORD2
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # IRsendMeidi_ESP8266-RN02S-Midea
2 | 对Arduino中IRremoteESP8266库美的空调控制的补充,主要依赖于IRremoteESP8266库的sendData()函数来实现数据的发送。
3 | 需配合Arduino中的IRremoteESP8266库使用。
4 | 主要控制采取的实际数据来源于美的空调RN02S13遥控器,空调型号为美的冷静星。
5 | 可以控制的参数:温度(精确到0.5),模式,风速,开关机,定时,扫风,ECO,防直吹。
6 | 文件为库文件,直接将文件夹IRsendMeidi放入ArduinoIDE的库文件夹中即可。
7 |
8 | 参数设置
9 | ------
10 | * 温度设置,17-30,分辨率0.5
11 | * 设置模式,0自动,1制冷,2制热,3抽湿,4送风
12 | * 设置风速,0自动,1为20%,2为40%,3为60%,4为80%,5为100%
13 | * ECO,扫风,防直吹,参数1为打开,参数0为关闭。
14 |
15 | 其他说明
16 | -----
17 | 因编程水平不高,代码有写的不好的地方,不喜勿喷。
18 | 所有数据都是我使用逻辑分析仪从遥控器上面采集的,并且手动把二进制转换成十六进制,难免会有出现错误的情况,若遇到问题,请反馈给我。
19 | 对美的编码形式的问题可以参考这篇文章https://blog.csdn.net/weixin_42204837/article/details/109263771
20 |
--------------------------------------------------------------------------------
/IRsendMeidi/IRsendMeidi.h:
--------------------------------------------------------------------------------
1 | #include
2 | #ifndef IRSENDMEIDI_H_
3 | #define IRSENDMEIDI_H_
4 |
5 | class IRsendMeidi{
6 | public:
7 | void begin_2(); //初始化,放入void setup()中
8 | explicit IRsendMeidi(uint8_t ir_led);
9 | void setCodeTime(int marks,int one_spaces,int zero_spaces, int l_marks, int l_spaces, int s_spaces);
10 | //设置发送码的高低电平时间
11 | void setTemps(float Temps1); //设置温度
12 | void setModes(int Modes1); //设置模式
13 | void setFanSpeeds(int FanSpeeds1); //设置风速
14 | void setEco(bool Eco); //开关ECO
15 | void setPowers(bool Powers); //开关空调
16 | void setZBPL(int khz); //设置载波频率
17 | void setSwingUD(bool SwingUD); //开关上下扫风
18 | void setSwingLR(bool SwingLR); //开关左右扫风
19 | void setFZC(bool FZC); //开关防直吹
20 | void setTimers(float Timers); //设置定时
21 | void Send_Code(uint8_t A, uint8_t B,uint8_t C); //ABC码发送
22 | };
23 | #endif
24 |
--------------------------------------------------------------------------------
/IRsendMeidi/IRsendMeidiDemo/IRsendMeidiDemo.ino:
--------------------------------------------------------------------------------
1 | /*
2 | * 美的空调遥控器RN02S13红外发射控制库,需配合IRremoteESP8266库使用。
3 | * 可以控制的参数:温度(精确到0.5),模式,风速,开关机,定时,扫风,ECO,防直吹。
4 | * 温度设置,17-30,分辨率0.5
5 | * 设置模式,0自动,1制冷,2制热,3抽湿,4送风
6 | * 设置风速,0自动,1为20%,2为40%,3为60%,4为80%,5为100%
7 | * ECO,扫风,防直吹,参数1为打开,参数0为关闭。
8 | * 作者:光阴似水1204
9 | * 了解更多请访问www.songzx.top
10 | * 时间:2021年9月17日
11 | */
12 | #include
13 | #include "IRsendMeidi.h"
14 | #include
15 | const uint8_t IR_LED = 4; //设置发送信号的GPIO引脚号,官方推荐4
16 | IRsendMeidi irsendmeidi(IR_LED); //声明类对象
17 |
18 |
19 | void setup() {
20 |
21 | irsendmeidi.begin_2(); //初始化
22 | irsendmeidi.setZBPL(40); //设置红外载波频率,单位kHz,不调用此函数则默认38,由于未知原因,我设置为40,示波器测得频率为38左右,当发送信号后没反应时,尝试更改此值。
23 | irsendmeidi.setCodeTime(500,1600,550,4400,4400,5220); //设置信号的高低电平占比,分别为标记位,1位,0位,前导码低电平,前导码高电平,间隔码高电平
24 | //不调用此函数默认为(500,1600,550,4400,4400,5220)
25 |
26 | }
27 |
28 | void loop() {
29 | irsendmeidi.setPowers(1); //打开空调
30 | delay(5000);
31 | irsendmeidi.setModes(1); //设置为制冷模式
32 | delay(5000);
33 | irsendmeidi.setTemps(26); //设置温度为26度
34 | delay(5000);
35 | irsendmeidi.setTimers(2); //定时2小时
36 | delay(5000);
37 | irsendmeidi.setTimers(9.5); //定时9.5小时
38 | delay(5000);
39 | irsendmeidi.setFanSpeeds(5); //设置风速为100%
40 | delay(5000);
41 | irsendmeidi.setFanSpeeds(1); //设置风速为20%
42 | delay(5000);
43 | irsendmeidi.setEco(1); //打开ECO
44 | delay(5000);
45 | irsendmeidi.setEco(0); //关闭ECO
46 | delay(5000);
47 | irsendmeidi.setTemps(26.5); //设置温度为26.5度
48 | delay(5000);
49 | irsendmeidi.setSwingUD(1); //打开上下扫风
50 | delay(5000);
51 | irsendmeidi.setFZC(1); //打开防直吹模式
52 | delay(5000);
53 | irsendmeidi.setPowers(0); //关闭空调
54 | delay(10000);
55 |
56 | }
57 |
--------------------------------------------------------------------------------
/IRsendMeidi/IRsendMeidi.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | * 美的空调遥控器RN02S13红外发射控制库,需配合IRremoteESP8266库使用。
3 | * 可以控制的参数:温度(精确到0.5),模式,风速,开关机,定时,扫风,ECO,防直吹。
4 | * 作者:光阴似水1204
5 | * 了解更多请访问www.songzx.top
6 | * 时间:2021年9月17日
7 | */
8 | #include
9 | #include "IRsendMeidi.h"
10 | #include
11 | #include
12 | int ZBPL = 38; //设置红外发射载波频率默认值,单位kHz
13 | float Temps = 26; //设置温度默认值,17-30,分辨率0.5
14 | int Modes = 0; //设置模式默认值,0自动,1制冷,2制热,3抽湿,4送风
15 | int FanSpeeds = 0; //设置风速默认值,0自动,1为20%,2为40%,3为60%,4为80%,5为100%
16 | bool Temp01 = 0; //设置默认发射温度小数位,1为0.5,0为0
17 | int Marks = 500; //标记位时间单位us
18 | int One_Space = 1600; //1位高电平时间
19 | int Zero_Space = 550; //0位高电平时间
20 | int L_Mark = 4400; //引导位低电平时间
21 | int L_Space = 4400; //引导位高电平时间
22 | int S_Space = 5220; //间隔位高电平时间
23 | uint8_t D_1 = 0xAB, D_2 = 0x66, D_3 = 0x00, D_4 = 0x00, D_5 = 0x00, D_6 = 0xDC;
24 | uint8_t A,B,C,B_1 = 0xF, B_2, C_1 = 0x1, C_2 = 0xB;
25 | uint8_t kIrLed = 4; // ESP8266 GPIO pin to use. Recommended: 4 (D2).
26 |
27 | IRsend irsend(kIrLed); // Set the GPIO to be used to sending the message.
28 |
29 | void Lead_Code(); //定义引导码发送函数
30 | void Stop_Code(); //定义分隔码发送函数
31 | void Send_Byte(uint8_t data1, int nbit1, bool msb); //定义发送原始数据的函数,data1(数据),nbit1(数据二进制位数),msb(数据发送顺序,1为低位先发,0为高位先发)
32 |
33 | void Send_Code_S(uint8_t A, uint8_t B, uint8_t C, uint8_t D_1, uint8_t D_2, uint8_t D_3, uint8_t D_4, uint8_t D_5, uint8_t D_6);
34 | //定时用的数据发送函数,因为定时发送的数据C码的反码位置为固定的11111111,所以引入该函数,C的反码位置为固定的0xFF
35 |
36 | void Send_Code_L(uint8_t A, uint8_t B, uint8_t C, uint8_t D_1, uint8_t D_2, uint8_t D_3, uint8_t D_4, uint8_t D_5, uint8_t D_6);
37 | //正常的发送数据的函数,用来发送长码
38 |
39 | void if_D6(int fs); //计算风速数据的函数,因为风速数据的D_6和温度是否有0.5位相关联。
40 |
41 | void Send_Meidi(bool Code_State); //发送长码数据的函数,1为正常发送,0为C反码固定为0xFF的发送。
42 |
43 | void IRsendMeidi::begin_2(){ //初始化IRsend.begin的函数,需写入到主程序的void setup()中。
44 | irsend.begin();
45 | }
46 |
47 | void IRsendMeidi::setCodeTime(int marks,int one_spaces,int zero_spaces, int l_marks, int l_spaces, int s_spaces){
48 | Marks = marks;
49 | One_Space = one_spaces;
50 | Zero_Space = zero_spaces;
51 | L_Mark = l_marks;
52 | L_Space = l_spaces;
53 | S_Space = s_spaces;
54 | }
55 |
56 |
57 | IRsendMeidi::IRsendMeidi(uint8_t ir_led){ //返回发射信号的引脚
58 |
59 | kIrLed = ir_led;
60 | }
61 |
62 | void IRsendMeidi::setZBPL(int khz){ //定义红外发射的载波频率
63 |
64 | ZBPL = khz;
65 | }
66 |
67 | void IRsendMeidi::setTemps(float Temps1){ //设置空调温度
68 |
69 | Temps = Temps1;
70 | int temp2 = floor(Temps);
71 | float temp_f = Temps - temp2;
72 | if(temp_f == 0.5){
73 |
74 | Temp01 = 1;
75 | D_3 = 0x04;
76 |
77 | }
78 | else {
79 |
80 | Temp01 = 0;
81 | D_3 = 0x00;
82 | }
83 | if_D6(FanSpeeds);
84 | switch(temp2){
85 | case 17: C_2 = 0x0; break;
86 | case 18: C_2 = 0x8; break;
87 | case 19: C_2 = 0xC; break;
88 | case 20: C_2 = 0x4; break;
89 | case 21: C_2 = 0x6; break;
90 | case 22: C_2 = 0xE; break;
91 | case 23: C_2 = 0xA; break;
92 | case 24: C_2 = 0x2; break;
93 | case 25: C_2 = 0x3; break;
94 | case 26: C_2 = 0xB; break;
95 | case 27: C_2 = 0x9; break;
96 | case 28: C_2 = 0x1; break;
97 | case 29: C_2 = 0x5; break;
98 | case 30: C_2 = 0xD; break;
99 | }
100 | Send_Meidi(1);
101 | }
102 |
103 |
104 |
105 | void IRsendMeidi::setModes(int Modes1){ //设置空调模式。
106 | Modes = Modes1;
107 | B_1 = 0xF;
108 | switch(Modes){
109 | case 0: C_1 = 0x1; B_2 = 0x8; break; //auto
110 | case 1: C_1 = 0x0; B_2 = 0xB; break; //cool
111 | case 2: C_1 = 0x3; B_2 = 0xB; break; //hot
112 | case 3: C_1 = 0x2; B_2 = 0x8; break; //choushi
113 | case 4: C_1 = 0x2; B_2 = 0xB; C_2 = 0x7; break; //songfeng
114 | }
115 | Send_Meidi(1);
116 | }
117 |
118 | void IRsendMeidi::setFanSpeeds(int FanSpeeds1){ //设置空调风速。
119 |
120 | FanSpeeds = FanSpeeds1;
121 | B_1 = 0xF;
122 | if_D6(FanSpeeds);
123 | Send_Meidi(1);
124 | }
125 |
126 |
127 | void IRsendMeidi::setEco(bool Eco){ //开关ECO模式
128 | if(Eco == 1){
129 | Send_Code(0xB9, 0xAF ,0x24);
130 | }
131 | if(Eco == 0){
132 | Send_Code(0xB9, 0xAF ,0xA4);
133 | }
134 | }
135 |
136 | void IRsendMeidi::setPowers(bool Powers){ //开关空调
137 |
138 | if(Powers == 1){
139 | B_1 = 0xF;
140 | setTemps(Temps);
141 | }
142 | else{
143 | Send_Code(0XB2, 0xDE, 0x07);
144 | }
145 | }
146 |
147 | void IRsendMeidi::setSwingUD(bool SwingUD){ //开关上下扫风
148 |
149 | if(SwingUD == 1){
150 | Send_Code(0xB9, 0xAF ,0x20);
151 | }
152 | if(SwingUD == 0){
153 | Send_Code(0xB9, 0xAF ,0xA0);
154 | }
155 | }
156 |
157 | void IRsendMeidi::setSwingLR(bool SwingLR){ //开关左右扫风
158 |
159 | if(SwingLR == 1){
160 | Send_Code(0xB9, 0xAF ,0xE0);
161 | }
162 | if(SwingLR == 0){
163 | Send_Code(0xB9, 0xAF ,0x10);
164 | }
165 | }
166 |
167 |
168 |
169 | void IRsendMeidi::setFZC(bool FZC){ //开关防直吹
170 |
171 | if(FZC == 1){
172 | Send_Code(0xB9, 0xAF ,0xDA);
173 | }
174 | if(FZC == 0){
175 | Send_Code(0xB9, 0xAF ,0x3A);
176 | }
177 | }
178 |
179 |
180 | void IRsendMeidi::setTimers(float Timers){ //设置定时
181 |
182 | uint8_t C_1_t = C_1;
183 | int Timers1 = floor(Timers);
184 | float Timers_f = Timers - Timers1;
185 | switch(Timers1){
186 | case 0: B_1 = 0x8; B_2 = 0x5; C_1 = 0x0; break;
187 | case 1: if(Timers_f == 0){
188 | B_1 = 0xC; B_2 = 0x5; C_1 = 0x0;}
189 | else {
190 | B_1 = 0xA; B_2 = 0x5; C_1 = 0x0;}
191 | break;
192 | case 2: if(Timers_f == 0){
193 | B_1 = 0xE; B_2 = 0x5; C_1 = 0x0;}
194 | else {
195 | B_1 = 0x9; B_2 = 0x5; C_1 = 0x0;}
196 | break;
197 | case 3: if(Timers_f == 0){
198 | B_1 = 0xD; B_2 = 0x5; C_1 = 0x0;}
199 | else {
200 | B_1 = 0xB; B_2 = 0x5; C_1 = 0x0;}
201 | break;
202 | case 4: if(Timers_f == 0){
203 | B_1 = 0xF; B_2 = 0x5; C_1 = 0x0;}
204 | else {
205 | B_1 = 0x8; B_2 = 0xD; C_1 = 0x0;}
206 | break;
207 | case 5: if(Timers_f == 0){
208 | B_1 = 0xC; B_2 = 0xD; C_1 = 0x0;}
209 | else {
210 | B_1 = 0xA; B_2 = 0xD; C_1 = 0x0;}
211 | break;
212 | case 6: if(Timers_f == 0){
213 | B_1 = 0xE; B_2 = 0xD; C_1 = 0x0;}
214 | else {
215 | B_1 = 0x9; B_2 = 0xD; C_1 = 0x0;}
216 | break;
217 | case 7: if(Timers_f == 0){
218 | B_1 = 0xD; B_2 = 0xD; C_1 = 0x0;}
219 | else {
220 | B_1 = 0xB; B_2 = 0xD; C_1 = 0x0;}
221 | break;
222 | case 8: if(Timers_f == 0){
223 | B_1 = 0xF; B_2 = 0xD; C_1 = 0x0;}
224 | else {
225 | B_1 = 0x8; B_2 = 0x5; C_1 = 0x8;}
226 | break;
227 | case 9: if(Timers_f == 0){
228 | B_1 = 0xC; B_2 = 0x5; C_1 = 0x8;}
229 | else {
230 | B_1 = 0xA; B_2 = 0x5; C_1 = 0x8;}
231 | break;
232 | case 10: B_1 = 0xE; B_2 = 0x5; C_1 = 0x8; break;
233 | case 11: B_1 = 0xD; B_2 = 0x5; C_1 = 0x8; break;
234 | case 12: B_1 = 0xF; B_2 = 0x5; C_1 = 0x8; break;
235 | case 13: B_1 = 0xC; B_2 = 0xD; C_1 = 0x8; break;
236 | case 14: B_1 = 0xE; B_2 = 0xD; C_1 = 0x8; break;
237 | case 15: B_1 = 0xD; B_2 = 0xD; C_1 = 0x8; break;
238 | case 16: B_1 = 0xF; B_2 = 0xD; C_1 = 0x8; break;
239 | case 17: B_1 = 0xC; B_2 = 0x5; C_1 = 0x4; break;
240 | case 18: B_1 = 0xE; B_2 = 0x5; C_1 = 0x4; break;
241 | case 19: B_1 = 0xD; B_2 = 0x5; C_1 = 0x4; break;
242 | case 20: B_1 = 0xF; B_2 = 0x5; C_1 = 0x4; break;
243 | case 21: B_1 = 0xC; B_2 = 0xD; C_1 = 0x4; break;
244 | case 22: B_1 = 0xE; B_2 = 0xD; C_1 = 0x4; break;
245 | case 23: B_1 = 0xD; B_2 = 0xD; C_1 = 0x4; break;
246 | case 24: B_1 = 0xF; B_2 = 0xD; C_1 = 0x4; break;
247 | }
248 | Send_Meidi(0);
249 | C_1 = C_1_t;
250 |
251 | }
252 |
253 | void IRsendMeidi::Send_Code(uint8_t AC, uint8_t BC,uint8_t CC){ //发送ABC码的函数
254 |
255 | Lead_Code();
256 | Send_Byte(AC,8,1);
257 | Send_Byte(~AC,8,1);
258 | Send_Byte(BC,8,0);
259 | Send_Byte(~BC,8,0);
260 | Send_Byte(CC,8,0);
261 | Send_Byte(~CC,8,0);
262 | Stop_Code();
263 | Lead_Code();
264 | Send_Byte(AC,8,1);
265 | Send_Byte(~AC,8,1);
266 | Send_Byte(BC,8,0);
267 | Send_Byte(~BC,8,0);
268 | Send_Byte(CC,8,0);
269 | Send_Byte(~CC,8,0);
270 | Stop_Code();
271 | }
272 |
273 |
274 | void Send_Code_S(uint8_t AC, uint8_t BC,uint8_t CC,uint8_t D1C,uint8_t D2C, uint8_t D3C,uint8_t D4C,uint8_t D5C,uint8_t D6C){
275 |
276 | Lead_Code();
277 | Send_Byte(AC,8,1);
278 | Send_Byte(~AC,8,1);
279 | Send_Byte(BC,8,0);
280 | Send_Byte(~BC,8,0);
281 | Send_Byte(CC,8,0);
282 | Send_Byte(0xFF,8,0);
283 | Stop_Code();
284 | Lead_Code();
285 | Send_Byte(AC,8,1);
286 | Send_Byte(~AC,8,1);
287 | Send_Byte(BC,8,0);
288 | Send_Byte(~BC,8,0);
289 | Send_Byte(CC,8,0);
290 | Send_Byte(0xFF,8,0);
291 | Stop_Code();
292 | Lead_Code();
293 | Send_Byte(D1C,8,0);
294 | Send_Byte(D2C,8,0);
295 | Send_Byte(D3C,8,0);
296 | Send_Byte(D4C,8,0);
297 | Send_Byte(D5C,8,0);
298 | Send_Byte(D6C,8,0);
299 | Stop_Code();
300 | }
301 |
302 |
303 |
304 | void Send_Code_L(uint8_t AC, uint8_t BC,uint8_t CC,uint8_t D1C,uint8_t D2C, uint8_t D3C,uint8_t D4C,uint8_t D5C,uint8_t D6C){
305 |
306 | Lead_Code();
307 | Send_Byte(AC,8,1);
308 | Send_Byte(~AC,8,1);
309 | Send_Byte(BC,8,0);
310 | Send_Byte(~BC,8,0);
311 | Send_Byte(CC,8,0);
312 | Send_Byte(~CC,8,0);
313 | Stop_Code();
314 | Lead_Code();
315 | Send_Byte(AC,8,1);
316 | Send_Byte(~AC,8,1);
317 | Send_Byte(BC,8,0);
318 | Send_Byte(~BC,8,0);
319 | Send_Byte(CC,8,0);
320 | Send_Byte(~CC,8,0);
321 | Stop_Code();
322 | Lead_Code();
323 | Send_Byte(D1C,8,0);
324 | Send_Byte(D2C,8,0);
325 | Send_Byte(D3C,8,0);
326 | Send_Byte(D4C,8,0);
327 | Send_Byte(D5C,8,0);
328 | Send_Byte(D6C,8,0);
329 | Stop_Code();
330 | }
331 |
332 | void Send_Meidi(bool Code_State){ //发送长码数据的函数,1为正常发送,0为C反码固定为0xFF的发送。
333 |
334 | A = 0xB2;
335 | B = (B_1<<4) + B_2;
336 | C = (C_1<<4) + C_2;
337 |
338 | if(Code_State == 1){
339 | Send_Code_L( A, B, C, D_1, D_2, D_3, D_4, D_5, D_6);
340 |
341 | }
342 | if(Code_State == 0){
343 | Send_Code_S(A, B, C, D_1, D_2, D_3, D_4, D_5, D_6);
344 | }
345 | }
346 | void Lead_Code(){ //引导码函数定义
347 |
348 | irsend.enableIROut(ZBPL);
349 | irsend.sendData(L_Mark,L_Space,450,450,1,1,1);
350 | }
351 |
352 | void Stop_Code(){ //间隔码函数定义
353 |
354 | irsend.enableIROut(ZBPL);
355 | irsend.sendData(450,450,Marks,S_Space,0,1,1);
356 | }
357 |
358 | void Send_Byte(uint8_t data1, int nbit1, bool msb){ //数据发送函数定义
359 |
360 | irsend.enableIROut(ZBPL);
361 | irsend.sendData(Marks,One_Space,Marks,Zero_Space,data1,nbit1,msb); //使用IRsend库里的数据发送函数,具体使用方法可以查看IRsend库里的注释
362 | }
363 |
364 | void if_D6(int fs){ //计算风速数据的函数
365 |
366 | switch(fs){
367 | case 0: B_2 = 0xD; D_2 = 0x66; if(Temp01 == 0){
368 | D_6 = 0xDC;}
369 | else D_6 = 0xDA;
370 | break; //auto
371 | case 1: B_2 = 0xF; D_2 = 0x28; if(Temp01 == 0){
372 | D_6 = 0x97;}
373 | else D_6 = 0x90;
374 | break; //20
375 | case 2: B_2 = 0x9; D_2 = 0x14; if(Temp01 == 0){
376 | D_6 = 0x97;}
377 | else D_6 = 0xB8;
378 | break; //40
379 | case 3: B_2 = 0xA; D_2 = 0x3C; if(Temp01 == 0){
380 | D_6 = 0x88;}
381 | else D_6 = 0x8C;
382 | break; //60
383 | case 4: B_2 = 0xC; D_2 = 0x0A; if(Temp01 == 0){
384 | D_6 = 0xA4;}
385 | else D_6 = 0xA2;
386 | break; //80
387 | case 5: B_2 = 0xC; D_2 = 0x26; if(Temp01 == 0){
388 | D_6 = 0xDC;}
389 | else D_6 = 0xDA;
390 | break; //100
391 | }
392 | }
393 |
--------------------------------------------------------------------------------