Страница 2 из 2

Конвертация floating-point в integer

Добавлено: 18 мар 2021, 17:41
Hardwarest
Sancho писал(а): 18 мар 2021, 17:37 [ref]Hardwarest[/ref], Будет засада при добавлении нескольких блоков.
временная переменная будет несколько раз.
Чтобы сильно не заморачиваться, можно сделать отдельно блок, на первой плате, в котором она будет в loop объявляться.
Второй вариант - сделать в блоке, отдельном, функцию.
Я думаю имеет смысл сделать универсальный блок для всех, не думаю что только я один с таким геморройным алгоритмом столкнулся...
А засада еще разовьется по простой причине, счетчиков на один контроллер буду вешать 5 шт... Надо наверное более универсальный блок- конвертер.

Конвертация floating-point в integer

Добавлено: 18 мар 2021, 17:49
Sancho
Hardwarest писал(а): 18 мар 2021, 17:41 А засада еще разовьется по простой причине, счетчиков на один контроллер буду вешать 5 шт... Надо наверное более универсальный блок- конвертер.
См пост 19. уже.

Конвертация floating-point в integer

Добавлено: 18 мар 2021, 18:10
Hardwarest
Sancho писал(а): 18 мар 2021, 17:49
Hardwarest писал(а): 18 мар 2021, 17:41 А засада еще разовьется по простой причине, счетчиков на один контроллер буду вешать 5 шт... Надо наверное более универсальный блок- конвертер.
См пост 19. уже.
Таки да, все отлично.

Отправлено спустя 14 минут 9 секунд:
Теперь осталось расшифровать писюльки китайцев, по какому адресу что скрывается. Как понять что 00 08 это 8 и 9 адрес, я про "ток"
Или как знать какие два регистра Частота, мощность и итого, сколько мотанул в конце концов...

Конвертация floating-point в integer

Добавлено: 18 мар 2021, 19:25
AlexCrane
Hardwarest писал(а): 18 мар 2021, 18:10 что 00 08 это 8 и 9 адрес, я про "ток"
Ну ты же читаешь два регистра, первый тот что в инструкции, второй плюс 1 к той что в инструкции, поэтому 8 и 9. Частота 54 и 55

Конвертация floating-point в integer

Добавлено: 18 мар 2021, 21:12
Hardwarest
AlexCrane писал(а): 18 мар 2021, 19:25
Hardwarest писал(а): 18 мар 2021, 18:10 что 00 08 это 8 и 9 адрес, я про "ток"
Ну ты же читаешь два регистра, первый тот что в инструкции, второй плюс 1 к той что в инструкции, поэтому 8 и 9. Частота 54 и 55
Я понимаю что читать надо два, но в мануале 00 08. Как я должен понять что 00 это 8, а 08 это 9... А частота вообще жесть 00 36, как мне понять что в этом случае 00 это 54, а 36 это 55... Где брать этот магический калькулятор.

Отправлено спустя 39 секунд:
Вы не смейтесь, программирование для меня тёмный лес

Отправлено спустя 1 час 6 минут 51 секунду:
В HEX конверторе методом тыка доклацался, что 36 стало 54, ну понаитию 18-19 это W... Правда так и не понял что делать с High байтом,
там где почти все 00...
Так как чтобы получить общее потребление надо High 01 а Low 00 перевести в адрес.

Конвертация floating-point в integer

Добавлено: 18 мар 2021, 22:02
AlexCrane
Hardwarest писал(а): 18 мар 2021, 21:12 Так как чтобы получить общее потребление надо High 01 а Low 00 перевести в адрес.
256 и 257 :smile390: я уже писал, в калькуляторе в режиме программист в режиме HEX ввести 0100 (и не важно что первый 0 не введется, и будет 100), в DEC будет 256

Конвертация floating-point в integer

Добавлено: 18 мар 2021, 22:52
Hardwarest
Смущало что нет первого 0) Странно все это) Спасибо огромное

Отправлено спустя 43 минуты 3 секунды:
В общем считаю что работает)
Может кому пригодится, выкладываю файл регистров и пример сборки программы.