Модуль конвертує текстове двійкове число у десяткове та повертає як результат

3045

Увага: оскільки Lua, у прошивці NodeMCU, має вбудовану функцію tonumber(‘1010’,2), цей продукт є навчальним та показує альтернативний спосіб перетворення заданого текстовим рядком двійкового значення числа у десяткове. Також слід зазначити, що вбудованої функції для зворотного перетворення, тобто десяткового числа у текстове двійкове, за нашими даними на даний час немає.

Цей програмний модуль дозволяє конвертувати «текстове» двійкове число типу ‘10…000101’ у десяткове. Це потрібний і зручний модуль, коли необхідно працювати регістрами пристроїв на шинах типу SPI, I2C, UART, тощо. На наш погляд, цей продукт буде зручним для початківців, які ще не розібралися досконально з двійковою системою числення, або ж для тих розробників, які мають специфічну задачу щодо перетворення саме заданого текстом двійкового значення, наприклад, отриманого з регістрів через UART чи аналогічний текстовий-символьний інтерфейс.

Наш програмний продукт стане у пригоді, якщо ви проектуєте будь-який пристрій де знадобиться робота з підпорядкованими периферійними пристроями, їх протоколами передачі даних та регістрами стану і конфігурації.

Очистити
Артикул: Невідомо Категорії: , Позначок: , , , , ,

Опис

Увага: оскільки Lua, у прошивці NodeMCU, має вбудовану функцію tonumber(‘1010’,2), цей продукт є навчальним та показує альтернативний спосіб перетворення заданого текстовим рядком двійкового значення числа у десяткове. Також слід зазначити, що вбудованої функції для зворотного перетворення, тобто десяткового числа у текстове двійкове, за нашими даними на даний час немає.

Цей програмний модуль розроблявся і тестувався для роботи з

  • Прошивкою NodeMCU custom build by frightanic.com branch: master
  • build created on 2019-01-08
  • powered by Lua 5.1.4 on SDK 2.2.1(6ab97e9)
  • жодного додаткового обладнання чи обов’язкового C-модуля не вимагається

Продукт, після запуску у середовищі Lua, може «фоново» працювати(викликатися) як глобальна (за замовчуванням) чи локальна функція. Функція може викликатися як процедура, так як і звичайна функція у стилі callback. Тобто, розробник може застосовувати будь-який зручний варіант виклику:

Наприклад, 

Розробник може за допомогою функції конвертувати двійкове значення вхідного числа поданого у форматі текстового рядка (змінна типу ‘string’). Функція повертає значення перетвореного числа у десятковому форматі, або ж, якщо параметри виклику функції вказано з помилками, на вихід буде повернуто строкове ‘error’. Валідацію вхідних параметрів вбудовано у тіло функції.

Продукт є одним з серії продуктів з перетворення двійкових, текстових та десяткових даних:

bitget4dec – читає і повертає значення певного біта у десятковому вхідному числі. Посилання на продукт .

bitset4dec – встановлює у вхідному числі певний біт у вказаний стан та повертає оновлене число. Посилання на продукт .

abin2dec – перетворює вхідне двійкове число (у форматі масив/таблиця) у десяткове число і повертає його. Посилання на продукт .

tbin2dec – перетворює вхідне двійкове число (у форматі текстового рядка) у десяткове число і повертає його. Посилання на продукт .

dec2abin – перетворює вхідне десяткове число у двійкове число і повертає його  у форматі масиву/таблиці. Посилання на продукт .

dec2tbin – перетворює вхідне десяткове число у двійкове число і повертає його у форматі текстового рядка. Посилання на продукт .

 twosc2dec – конвертує задане у доповненому до 2ки форматі десяткове число у звичайне десяткове число з урахуванням знаку та десяткової фракції після коми. Посилання на  продукт .

Для кого цей продукт

Кожен наш програмний продукт розроблено із застосуванням безмежного розмаїття можливостей простих і доступних контролерів, сенсорів та інших електронних компонентів, які можна знайти у будь-якому магазині. Головна наша мета – надати прості і недорогі інструменти швидкого вирішення задуманих проектів.

Цей програмний модуль дозволяє конвертувати «текстове» двійкове число типу ‘10…000101’ у десяткове. Це потрібний і зручний модуль, коли необхідно працювати регістрами пристроїв на шинах типу SPI, I2C, UART, тощо. Цей модуль дозволяє реалізувати задачі перетворення значущих даних з двійкових регістрів, лише вбудованими засобами плати і прошивки NodeMCU/Lua, без будь-яких додаткових технічних засобів чи доповнень. Наприклад, у прошивці NodeMCU є окремий, спеціальний C-модуль bit., що також реалізує аналогічну функціональність, але вимагає додаткової пам’яті при прошивці контролера і не завжди може бути розміщений у прошивці саме через брак пам’яті у двійковому образі. На наш погляд, цей продукт буде зручним для початківців, які ще не розібралися досконально з двійковою системою числення, або ж для тих розробників, які мають специфічну задачу щодо перетворення саме заданого текстом двійкового значення, наприклад, отриманого з регістрів через UART чи аналогічний текстовий-символьний інтерфейс. 

Наш програмний продукт стане у пригоді, якщо ви проектуєте будь-який пристрій де знадобиться робота з підпорядкованими периферійними пристроями, їх протоколами передачі даних та регістрами стану і конфігурації. Зокрема, це можуть бути різноманітні сенсори та інші цифрові пристрої, що потребують перетворення даних вимірювань та/чи встановлення певних режимів роботи шляхом зчитування та настроювання спеціальних двійкових регістрів.

Ми будемо раді, якщо нашими продуктами скористаються:

  • Діти та їх батьки;
  • Учні та їх вчителі;
  • Студенти та їх лабораторні роботи;
  • Новачки у технологіях Інтернету речей;
  • Лаборанти та їх експерименти;
  • Аматори-електронщики-не-програмісти;
  • Аматори-програмісти-не-електронщики;
  • Професійні інженери та їх поважні замовники;

Можливості сучасних обчислювальних систем настільки потужні і всеосяжні, що дані програмні компоненти однаково добре згодяться як для домашньої автоматизації і факультативного навчання, так і комерційного впровадження, або швидкого розгортання окремих сегментів комерційних систем та виконання їх пілотних випробовувань.

Необхідні навички та інструменти

Всі програмні продукти на нашому сайті розраховано на користувачів, які вже вміють самостійно підключати, прошивати та програмувати контролер ESP8266 з прошивкою NodeMCU і мовою програмування Lua.

Таким чином, застосування даного комерційного-придбаного програмного модуля Клієнтом полягає у тому, щоб:

  • завантажити (download) lua-код у середовище розробника на комп’ютер,
  • ознайомитися з кодом і супутніми матеріалами пакету постачання,
  • адаптувати код за необхідності під свої задачі,
  • вивантажити (upload) програмний код у контролер та запустити на виконання;
  • після тестування придбаного коду, користувач може інтегрувати його до своїх власних програмних розробок.

Проте, Ви можете ознайомитися з інструкцією на нашому сайті, як швидко почати програмувати на Lua з контролером NodeMCU/ESP8266 за цим посиланням  “Як швидко почати працювати з контролером”.

Додаткова інформація

Інтерфейсна шина

Debug-консоль

Рівень складності

Простий

Передача даних назовні

Немає

Тип виконання

Як окрема функція, Як процедура

Локальний Web-сервер

Немає

Журналювання

Немає

Енергоспоживання

Звичайне

Композиція скриптів

Один скрипт

Статистична обробка даних

Проста обробка

Перевірена версія прошивки

2.2.1-master_20181207

Отримання точного часу

Немає

Інтерфейс користувача

Вивід на UART консоль

Виробники апаратного забезпечення

Espressif Systems, TI

Необхідні модулі прошивки

Немає

Мінімальна сумісна версія прошивки

1.5.4.1-master_20161201