Разделы:
RSX4-5.x
Преобразователь USB - RS485 |  |
Чип моста CP2104
USB 2.0 full-speed (12 Mbps)
Поддержка Windows , WinCE, Macintosh, Linux, Android
Поддерживаемые форматы данных: 5-8D, 0-1P, 1-1.5-2S
Число узлов до 256
Диапазон скоростей до 1 000 000 bps
Длина линии до 1200 м
ESD Protection не менее 15 kV
Гальваническая развязка 2500 V rms
Галванический зазор 8 мм
Индикация
Подтяжка сигналов RS485 к питанию 1кОм/1кОм
Терминатор 120 Ом
Диапазон рабочих температур -40...+75 Град
Размер   52(+13) * 18 * 9(+4) мм |
| Загрузить архивный файл с исходным текстом программы
new
;!текст форматирован для шрифта Courier
;Пример работы модуля MCU32-1.2 с TFT-TouchScreen экраном TE-ULCD35/56 через SPI
;Пример написан для версии 1.15 терминальной прошивки TE-ULCD35/56
;Для правильной работы примера на microSD TE-ULCD35/56 должны быть
; в корневой директории файлы 10.bmp , 11.bmp , 12.bmp
; и не должно быть файлов обновления для TE-ULCD35/56
; файлы *.bmp расположены в одном архиве с этим примером
;Пример демонстрирует практически все основные доступные функции
;При написании делался основной акцент на простоту реализации
;Варианты подключения:
;1------------------------------------------------------------------------------
;основной, и самый простой вариант.
;подключение с использованием плат CRS10-1.21 или CRS10-1.25
;MCU32-1.2 устанавливается на любое место которое не займет TE-ULCD35/56
;TE-ULCD35/56 подключается PIN-TO-PIN кабелем IDC20 -> 2* IDC10
; соответствие проводов в кабеле:
; CRS10-1.21(.25) X80(X30) TE-ULCD35/56
; IDC20 №1...10 --> IDC10 X8 №1...10
; IDC20 №11...20 --> IDC10 X6 №1...10
; правильно изготовленный кабель получается
; без перекруток и перекрестий PIN-TO-PIN
;питание подается на CRS10-1.21(.25) X6 +8...36В , X7 GND
; типичный ток потребления при входном напряжении +12В -> 200мА
;2------------------------------------------------------------------------------
;непосредственно к разъему X1 MCU32-1.2,
;!при этом требуется подача питания на TE-ULCD35/56 от внешнего БП +5В
; питание на TE-ULCD35/56 подается на разъем X8 см. описание TE-ULCD35/56
;ПОДКЛЮЧЕНИЕ SPI:
; MCU32-1.2 TE-ULCD35/56
;CS -> контакт №2 X1 --> контакт №10 X6
;SCK -> контакт №9 X1 --> контакт №9 X6
;MISO -> контакт №8 X1 --> контакт №7 X6
;MOSI -> контакт №7 X1 --> контакт №8 X6
;GND -> контакт №10 X1 --> контакт №2 X6
;-------------------------------------------------------------------------------
;-------------------------------------------------------------------------------
new
;-------------------------------------------------------------------------------
;объявим строчную переменную для работы с часами
5 dim $(1),20
;определим ее адрес
6 adr_s0 = loc($(0))
;инициализация адресных линий интерфейса SPI MCU32-1 в нейтральное состояние
10 spi#7 = 0
;команда перевода TE-ULCD35/56 в терминальный режим
20 spi#0 = 0FDh : spi#7 = 0
;установка курсора оператора PRINT в нейтральное положение (отключение)
30 csr=127
;развернем экран на 180 градусов
40 spi#0 = 11h : spi#7 = 0
50 delay = 0.1
;очистка экрана
55 spi#0 = 3 : spi#7 = 0
60 delay = 0.1
;-------------------------------------------------------------------------------
;экран №1 -------------------------------------------
;вывод текстового сообщения
;очистка экрана
100 spi#0 = 3 : spi#7 = 0
;установим размер шрифта
110 spi#0 = 1, 6, 1 : SPI#7 = 0
;установим цвет
120 spi#0 = 4, 0, 0, 0 : SPI#7 = 0
;выведем сообщение
130 print#," "
135 print#," Работа через SPI "
140 print#," из BASIC "
145 print#,"c TFT-Touch панелью"
150 print#," TE-ULCD35/56 в "
155 print#,"ТЕРМИНАЛЬНОМ РЕЖИМЕ"
160 print#," "
165 print#,"достаточно PRINT -а"
170 print#," или оператора SPI "
;пауза
190 delay = 5
;-------------------------------------------------------------------------------
;экран №2 -------------------------------------------
;очистка экрана
200 spi#0 = 3 : spi#7 = 0
;установим размер шрифта
210 spi#0 = 1, 6, 2 : spi#7 = 0
;установим цвет
220 spi#0 = 4, 255, 0, 255 : spi#7 = 0
;выведем сообщение
230 print#," "
240 print#," простое управление цветом,"
;пауза
290 delay = 5
;-------------------------------------------------------------------------------
;экран №3 -------------------------------------------
;очистка экрана
300 spi#0 = 3 : spi#7 = 0
;установим цвет
302 spi#0 = 4, 0, 0, 255 : spi#7 = 0
;выведем сообщение
320 print#," набор шрифтов"
330 print#," разных размеров"
;пауза
390 delay = 5
;-------------------------------------------------------------------------------
;экран №4 -------------------------------------------
;вывод символов с плавно изменяющимся цветом
;очистка экрана
400 spi#0 = 3 : spi#7 = 0
;установим размер шрифта
405 spi#0 = 1, 6, 0 : spi#7 = 0
;будем плавно менять цвета, изменяя одновременно только две составляющих
; количество шагов посчитано так чтобы в экран уместилась основная палитра
410 a = 0
415 for i = 0 to 255
;установим цвет
420 spi#0 = 4, i, 255 - i, 0 : spi#7 = 0
425 spi#0 = 0FFh, a : spi#7 = 0 : a = a + 1
430 next i
435 a = 0
440 for i = 0 to 255
;установим цвет
445 spi#0 = 4, 255 - i, 0, i : spi#7 = 0
450 spi#0 = 0FFh, a : spi#7 = 0 : a = a + 1
455 next i
460 a = 0
465 for i = 0 to 255
;установим цвет
470 spi#0 = 4, 0, i, 255 - i : spi#7 = 0
475 spi#0 = 0FFh, a : spi#7 = 0 : a = a + 1
480 next i
;пауза
490 delay = 5
;-------------------------------------------------------------------------------
;экран №5 -------------------------------------------
;вывод символов со случайным цветом
;очистка экрана
500 spi#0 = 3 : spi#7 = 0
;установим размер шрифта
505 spi#0 = 1, 6, 1 : spi#7 = 0
510 for i = 33 to 232
520 spi#0 = 4, rnd * 255, rnd * 255, rnd * 255 : spi#7 = 0
530 spi#0 = 0FFh, i : spi#7 = 0
540 next i
;пауза
590 delay = 5
;-------------------------------------------------------------------------------
;экран №6 -------------------------------------------
;очистка экрана
600 spi#0 = 3 : spi#7 = 0
;установим размер шрифта
610 spi#0 = 1, 6, 2 : spi#7 = 0
;установим цвет
620 spi#0 = 4, 0, 0, 0 : spi#7 = 0
;выведем сообщение
630 print#," "
640 print#," работа с графикой"
;пауза
690 delay = 5
;-------------------------------------------------------------------------------
;экран №7 -------------------------------------------
;вывод случайных прямоугольников
;очистка экрана
700 spi#0 = 3 : spi#7 = 0
705 x = 0 : y = 0
710 for i = 0 to 500
;случайная координата
715 x1 = rnd * 255 : y1 = rnd * 239
;случайный цвет
720 spi#0 = 4, rnd * 255, rnd * 255, rnd * 255 : spi#7 = 0
;прямоугольник
730 spi#0 = 8, 0, x, 0, y, 0, x1, 0, y1 : spi#7 = 0
740 x = x1 : y = y1
750 next i
;пауза
790 delay = 5
;-------------------------------------------------------------------------------
;экран №8 -------------------------------------------
;вывод окружности
;очистка экрана
800 spi#0 = 3 : spi#7 = 0
;цвет будем менять по кругу
805 r = 255 : g = 0 : b = 0
810 for i = 0 to PI*2/3 step PI/386
;установим цвет
815 spi#0 = 4, r, g, b : spi#7 = 0 : r = r - 1 : g = g + 1 : b = 0
820 spi#0 = 7 : spiw = 125, 119, sin(i)* 119 + 125, cos(i)* 119 + 119 : spi#7=0
830 next i
840 for i = PI*2/3 to PI*4/3 step PI/386
;установим цвет
850 spi#0 = 4, r, g, b : spi#7 = 0 : r = 0 : g = g - 1 : b = b + 1
860 spi#0 = 7 : spiw = 125, 119, sin(i)* 119 + 125, cos(i)* 119 + 119 : spi#7=0
870 next i
880 for i = PI*4/3 to PI*2 step PI/386
;установим цвет
885 spi#0 = 4, r, g, b : spi#7 = 0 : b = b - 1 : r = r + 1 : g = 0
890 spi#0 = 7 : spiw = 125, 119, sin(i)* 119 + 125, cos(i)* 119 + 119 : spi#7=0
895 next i
;пауза
897 delay = 5
;-------------------------------------------------------------------------------
;экран №9 -------------------------------------------
;вывод синусоид
;очистка экрана
900 spi#0 = 3 : spi#7 = 0
;цикл для формирования синусоид с нарастающей амплитудой
910 for i = 0 to 100 step 3
;рисуем случайным цветом
915 r = rnd * 255 : g = rnd * 255 : b = rnd * 255 : a = i * 1.19
;установим цвет
917 spi#0 = 4, r, g, b : spi#7 = 0
;цикл рисования конкретной синусоиды
920 for j = 0 to 319
930 spi#0 = 6 : spiw = j, sin(j / 25)*a + 119 : spi#7 = 0
940 next j
950 next i
;-------------------------------------------------------------------------------
;экран №10
;ввод цвета при помощи TouchScreen
;очистка экрана
1000 spi#0 = 3 : spi#7 = 0
;нарисуем зону выбора цвета
1005 for i = 0 to 99
;цвет
1010 spi#0 = 4, 255 - i * 2.55, i * 2.55, 0 : spi#7 = 0
;линия
1015 spi#0 = 7 : spiw = i + 10, 0, i + 10, 80 : spi#7 = 0
;цвет
1020 spi#0 = 4, 0, 255 - i * 2.55, i * 2.55 : spi#7 = 0
;линия
1025 spi#0 = 7 : spiw = i + 110, 0, i + 110, 80 : spi#7 = 0
;цвет
1030 spi#0 = 4, i * 2.55, 0, 255 - i * 2.55 : spi#7 = 0
;линия
1035 spi#0 = 7 : spiw = i + 210, 0, i + 210, 80 : spi#7 = 0
1040 next i
;установим размер шрифта
1050 spi#0 = 1, 6, 2 : spi#7 = 0
;цвет в исходное состояние
1055 spi#0 = 4, 0, 0, 0, 255, 255, 255 : spi#7 = 0
;курсор в середину
1060 spi#0 = 2, 0, 2 : spi#7 = 0
1065 print#," OK "
;нарисуем кнопочку
1070 spi#0 = 8 : spiw = 124, 96, 198, 140 : spi#7 = 0
;курсор в начало
1100 spi#0 = 2, 0, 0 : spi#7 = 0
;выбранный цвет
1105 spi#0 = 4, 255 - r, 255 - g, 255 - b, r, g, b : spi#7 = 0
1110 print#," Выберите цвет "
;ввод точскрина, сразу пропустим грубую координату и считаем точную
1115 spi#0 = 0Ah, 0, 0 : x = spiw : y = spiw : spi#7 = 0
;проверяем, попадает ли нажатие на зону выбора цвета
1120 if y > 80 then goto 1140
;пересчитаем цвет по координате X
1125 if (x > 9).and.(x < 110) then r = 255 -(x- 10)* 2.55: g=(x- 10)*2.55: b=0
1130 if (x > 109).and.(x < 210) then g=255 -(x-110)* 2.55: b=(x-110)*2.55: r=0
1135 if (x > 209).and.(x < 311) then b=255 -(x-210)* 2.55: r=(x-210)*2.55: g=0
;проверим нажатие кнопки
1140 if (x < 124).and.(x > 198) then goto 1150
1145 if (y > 98).and.(y < 140) then goto 1160
1150 delay=0.05
1155 goto 1100
;заполним выбранным цветом экран
1160 spi#0 = 4, r, g, b : spi#7 = 0
;заполнять будем вложенными прямогугольниками
1165 for i = 0 to 159
1170 spi#0 = 8 : spiw = i, i / 1.333333, 319 - i, 239 - i / 1.333333 : spi#7 =0
1175 delay=0.01
1180 next i
;пауза
1185 delay=2
;-------------------------------------------------------------------------------
;экран №11 -------------------------------------------
;часы реального времени MCU32-1
;очистка экрана
1200 spi#0 = 3 : spi#7 = 0
;установим цвет
1205 spi#0 = 4, 0, 0, 0 : spi#7 = 0
;установим размер шрифта
1210 spi#0 = 1, 6, 1 : spi#7 = 0
;простейший способ вывода времени, обновлять не будем
1215 print#," ", rldt
;теперь выведем раздельно , большим шрифтом
;установим размер шрифта
1220 spi#0 = 1, 6, 2 : spi#7 = 0
1230 for i = 0 to 4 ;напечатаем 5 раз
;считаем время в строчную переменную
;формат RLDT -- :: , всего 17 символов
1235 $(0) = rldt
;установим курсор
1240 spi#0 = 2, 1, 1 : spi#7 = 0
;выведем дату
1242 spi#0 = 0FFh ;команда символьного вывода
;выводим символы с 0-го по 8-й
1245 for j = 0 to 8
1250 spi = mem(adr_s0 + j) ;выводим прямо из памяти
1252 next j
1253 spi#7 = 0 ;закроем пакет
;установим курсор
1255 spi#0 = 2, 1, 3 : spi#7 = 0
;выведем время
1257 spi#0 = 0FFh ;команда символьного вывода
;выводим символы с 9-го по 17-й
1260 for j = 9 to 17
1265 spi = mem(adr_s0 + j) ;выводим прямо из памяти
1267 next j
1268 spi#7 = 0 ;закроем пакет
;пауза
1270 delay = 1
1280 next i
;-------------------------------------------------------------------------------
;экран №12 -------------------------------------------
;вывод картинки из файла и поверх нее надписи
;очистка экрана
1300 spi#0 = 3 : spi#7 = 0
;цвет в исходное состояние
1305 spi#0 = 4, 0, 0, 0, 255, 255, 255 : spi#7 = 0
;вывод картинки с именем файла 12.bmp
1310 spi#0 = 9, 0, 0, 0, 0, 31h, 32h : spi#7 = 0
;установим размер шрифта
1315 spi#0 = 1, 6, 1 : spi#7 = 0
;курсор в нижнюю часть
1320 spi#0 = 2, 1, 8 : spi#7 = 0
1325 print#," Серия MCU32-1.x "
;пауза
1330 delay = 5
;-------------------------------------------------------------------------------
;экран №13 -------------------------------------------
;вывод картинки из файла и имитация нажатия кнопок выводом картинки кнопки
;очистка экрана
1400 spi#0 = 3 : spi#7 = 0
;вывод картинки с именем файла 10.bmp
;картинка расчерчена по зонам соответствующим кнопочному режиму TouchScreen
1405 spi#0 = 9, 0, 0, 0, 0, 31h, 30h : spi#7 = 0
;установим размер шрифта
1410 spi#0 = 1, 6, 0 : spi#7 = 0
;курсор в левую верхнюю кнопку
1415 spi#0 = 2, 0, 0 : spi#7 = 0
1420 print#,"ESC"
;ввод точскрина, вводим "укороченную координату" - одини байт, BUSY пропускаем
1425 spi#0 = 0Ah, 0: k = spi : spi#7 = 0
;проверим есть ли нажатие
1430 if k = 255 then goto 1450
;проверим нажатие верхней левой кнопки ESC (Y = 9, X = 0)
; при нажатии пойдем в начало
1435 if k = 90h then goto 100
;нажатие, вычислим координату
1440 x = (k.and.0Fh) *32 : y = 24 * int(k / 16)
;выведем каринку кнопки
1445 spi#0 = 9 : spiw = x, y : spi = 31h, 31h : spi#7 = 0
;для TE-ULCD35/56 требуется опрашивать TouchScreen не чаще 20 раз/сек
1450 delay = 0.06
1455 goto 1410
10000 end
| Состояние Вашей корзины: | Позиций: 0 Количество: 0 Сумма заказа: 0 Оформить заказ |
Выставки
MCU32-1 |  |
Микроконтроллер - STM32F103RET6
Разрядность - 32 бит
Быстродействие 72 MHz / 1.25 DMIPS/MHz (Dhrystone 2.1)
Flash 512 Кбайт
RAM 64 Кбайт
АЦП 3 АЦП 12 бит 1мкс
ЦАП 2 ЦАП 12бит
ПДП 12 каналов
Отладочный разъем Serial wire debug (SWD)
Интерфейсы USB, RS485, CAN, I2C, SPI, MicroLan
Часы реального времени
Питание +5В
Размер 25.4 * 76.2 * 13 мм |
MCX53-32.x DIN |  |
Микроконтроллер STM32F103RET6
Встроенный однокристальный Fractal-BASIC-Cortex
Интерфейсы без развязки - USB, RS485/CAN, I2C, SPI, MicroLan
Гальванически развязанные интерфейсы - RS485, MicroLan DS2482-100
Часы реального времени с литиевым элементом
Универсальные сигнальные входо-выходы - 12
Силовые выходы - 8
Питание +9...24В
Габариты узла в DIN конструктиве - 105x86x58 |
|