Модуль конвертує задане у доповненому до 2ки форматі десяткове число у звичайне десяткове число з урахуванням знаку та десяткової фракції після коми
₴45 – ₴60
Цей програмний модуль дозволяє конвертувати число отримане, наприклад, з регістрів сенсора у звичайне десяткове значення. Це потрібний і зручний модуль, коли необхідно працювати регістрами пристроїв на шинах типу SPI, I2C, тощо. На наш погляд, цей продукт буде зручним для початківців, які ще не розібралися досконально з двійковою системою числення, або ж для тих розробників, які мають специфічну задачу щодо перетворення саме значення у формі two’s complement. Функція враховує всі можливі потреби розробника і дозволяє викликати модуль з різними наборами опціональних параметрів, відповідно до вирішуваної задачі.
Наш програмний продукт стане у пригоді, якщо ви проектуєте будь-який пристрій де знадобиться робота з підпорядкованими периферійними пристроями, їх протоколами передачі даних та регістрами стану і конфігурації апаратними, чи програмними – різниці немає. Зокрема, це можуть бути різноманітні сенсори та інші цифрові пристрої, що потребують перетворення даних вимірювань та/чи встановлення певних режимів роботи шляхом зчитування та настроювання спеціальних двійкових регістрів.
Опис
Цей програмний модуль розроблявся і тестувався для роботи з
- Прошивкою 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. Тобто, розробник може застосовувати будь-який зручний варіант виклику:
Наприклад,
1 2 3 4 |
function(param); var = function(param); print(function(param)); if var == x then … elseif … else … end; |
Розробник може за допомогою функції конвертувати значення вхідного числа поданого у форматі доповненого до двох (two’s complement чи 2’s complement). Функція повертає значення перетвореного числа у десятковому форматі з урахуванням знаку та фракції після коми, або ж, якщо параметри виклику функції вказано з помилками, на вихід буде повернуто строкове ‘error’. Валідацію вхідних параметрів вбудовано у тіло функції.
Продукт є одним з серії продуктів з перетворення двійкових, текстових та десяткових даних:
bitget4dec – читає і повертає значення певного біта у десятковому вхідному числі. Посилання на продукт .
bitset4dec – встановлює у вхідному числі певний біт у вказаний стан та повертає оновлене число. Посилання на продукт .
abin2dec – перетворює вхідне двійкове число (у форматі масив/таблиця) у десяткове число і повертає його. Посилання на продукт .
tbin2dec – перетворює вхідне двійкове число (у форматі текстового рядка) у десяткове число і повертає його. Посилання на продукт .
dec2abin – перетворює вхідне десяткове число у двійкове число і повертає його у форматі масиву/таблиці. Посилання на продукт .
dec2tbin – перетворює вхідне десяткове число у двійкове число і повертає його у форматі текстового рядка. Посилання на продукт .
twosc2dec – конвертує задане у доповненому до 2ки форматі десяткове число у звичайне десяткове число з урахуванням знаку та десяткової фракції після коми. Посилання на продукт .
Для кого цей продукт
Кожен наш програмний продукт розроблено із застосуванням безмежного розмаїття можливостей простих і доступних контролерів, сенсорів та інших електронних компонентів, які можна знайти у будь-якому магазині. Головна наша мета – надати прості і недорогі інструменти швидкого вирішення задуманих проектів.
Цей програмний модуль дозволяє конвертувати число отримане, наприклад, з регістрів сенсора у звичайне десяткове значення. Це потрібний і зручний модуль, коли необхідно працювати регістрами пристроїв на шинах типу SPI, I2C, тощо. Функція враховує всі можливі потреби розробника і дозволяє викликати модуль з різними наборами параметрів. Наприклад, дозволяє вказати, рахувати з чи без перетворення фракції після коми; задати бітність фракції після коми; вказати вагу кожного інкремента у фракції. Цей модуль дозволяє реалізувати задачі перетворення значущих даних з двійкових регістрів, лише вбудованими засобами плати і прошивки NodeMCU / Lua, без будь-яких додаткових технічних засобів чи доповнень. Наприклад, у прошивці NodeMCU є окремий, спеціальний C-модуль bit., що також реалізує аналогічну функціональність засобами bitwise-операцій, але вимагає додаткової пам’яті при прошивці контролера і не завжди може бути розміщений у прошивці саме через брак пам’яті у двійковому образі. На наш погляд, продукт, що пропонується, буде зручним для початківців, які ще не розібралися досконально з двійковою системою числення, або ж для тих розробників, які мають специфічну задачу щодо перетворення саме значення у формі two’s complement. А це більшість цифрових термометрів, ціла купа аналогових-цифрових перетворювачів та багато інших мікросхем.
Наш програмний продукт стане у пригоді, якщо ви проектуєте будь-який пристрій де знадобиться робота з підпорядкованими периферійними пристроями, їх протоколами передачі даних та регістрами стану і конфігурації апаратними, чи програмними – різниці немає. Зокрема, це можуть бути різноманітні сенсори та інші цифрові пристрої, що потребують перетворення даних вимірювань та/чи встановлення певних режимів роботи шляхом зчитування та настроювання спеціальних двійкових регістрів.
Ми будемо раді, якщо нашими продуктами скористаються:
- Діти та їх батьки;
- Учні та їх вчителі;
- Студенти та їх лабораторні роботи;
- Новачки у технологіях Інтернету речей;
- Лаборанти та їх експерименти;
- Аматори-електронщики-не-програмісти;
- Аматори-програмісти-не-електронщики;
- Професійні інженери та їх поважні замовники;
Можливості сучасних обчислювальних систем настільки потужні і всеосяжні, що дані програмні компоненти однаково добре згодяться як для домашньої автоматизації і факультативного навчання, так і комерційного впровадження, або швидкого розгортання окремих сегментів комерційних систем та виконання їх пілотних випробовувань.
Необхідні навички та інструменти
Всі програмні продукти на нашому сайті розраховано на користувачів, які вже вміють самостійно підключати, прошивати та програмувати контролер 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 |