09.12.2013, 18:00. Просмотров 226. Ответов 0
условие:
по последовательному каналу передается любой числовой символ (‗0‘, ‗1‘, ‗2‘,…, ‗9‘). В ответ контроллер передает принятый символ и все остальные числовые символы, предшествующие введенному. Все остальные вводимые символы игнорируются контроллером SDK-1.1. Например, на символ ‗4‘ ответом является ‗43210‘, ‗8‘ – ‗876543210‘, ‗1‘ – ‗10‘ и т.д. Каждому обмену данными между персональным компьютером и стендом SDK-1.1 назначается отдельная строка.
C++ |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
| #include "aduc812.h"
#include "sio.h"
#include <stdio.h>
void putchar (char c) { wsio(c); }
char getchar(void) { return rsio(); }
void main (void)
{
unsigned char c;
init_sio (S9600);
printf_fast ("Test SIO\r\n");
printf_fast ("Press keys #1\r\n");
while (1)
{
c=rsio();
if(c>=0x30 && c<=0x39) //коды цифр от 0 до 9
{
wsio(c);
wsio(c-1);
wsio(c-2);
wsio(c-3);
wsio(c-4);
wsio(c-5);
wsio(c-6);
wsio(c-7);
wsio(c-8);
}
}
} |
|
надо добавить (переделать код)
чтобы он в цикле прокручивал количество знаков и выводил.
а то на данном этапе получается что он при вводе цифры 1 выводит +_/