вопрос собственно такой как провернуть а ST подобную тему uint8_t array[256]; uint16_t val; uint8_t *ptr = (uint8_t*) &val; ptr[0] = array[0]; ptr[1] = array[1]; Что то я пробовал,не вышло
вопрос собственно такой как провернуть а ST подобную тему uint8_t array[256]; uint16_t val; uint8_t *ptr = (uint8_t*) &val; ptr[0] = array[0]; ptr[1] = array[1]; Что то я пробовал,не вышло
Мастера всем успехов,здоровья.iphone 6s,утопили,почистил окиси,.Если плату чуть погреть кз появляется по линии pp_soc и если... Читать далее
так суть в другом, перекупы обычно с 1 трубки много не зарабаывают, тем более если у нее косяк в виде битого стекла, Х ща... Читать далее
Доброго времени суток. Сразу говорю с андроидами редко дело имею. Телефон Meizu M3 Note очень долго заряжается, примерно... Читать далее
да и на пайке что я делаю без бга можно вообще лти юзать смдехи и так норм сажаются на что угодно вазелин, флюс плус, говно... Читать далее
Коллеги, подскажите, пожалуйста. XS упал на стену. Включается, но не работает тач. Хочу вытащить инфу, поэтому нужно сделать... Читать далее
Всем Салам алейкум IPhone X , был битый, заменены где-то дисплей и заднее стекло, ко мне пришёл « не заряжается», толкнул... Читать далее
Комментарии: 12
Z-vladimir
Чем? В st указатель берется вроде через ADR И почему uint8? Размер указателя dword
Aleksandr
размер указателя не важен,важен тип данных,ка который он указывает) С той байдой я разобрался Могу написать,если кому интерсно,как Но у меня беда сейчас глобальнее,юзаю овновскую либу mobdus, она вроде как ос скрипом работает, но начинаю писать свои функции для чтения/записи регистров и начинает мрак) Есть тут кто поможет в этом случае разгрести?))
Z-vladimir
Как не важен? Размер адреса 4 байта а uint8 - один. Это в переменную 4 и более можно адрес запихать) Че за либа?
Aleksandr
размер указателя зависит от машины и не важен,если ты не ассемблере пишешь) ModBus.lib Овеновская
Z-vladimir
Свои функции, в смысле, чтение определенных модбас регистров?
Aleksandr
Да,именно
Z-vladimir
Это пока объем исполняемой программы маленький. Как только адресация перевалит за 255, так и полетит в негодность такая функция с uint8. А что именно не работает?
Aleksandr
а причем тут обьем программы? размер указателя от этого не зависит.Я надеюсь ты не путаешь размер указателя с размером типа данных,на который он указывает)
Z-vladimir
В плк размер указателя 4 байта. Размер типа данных до указателя не причем. Пока переменные будут лежать в памяти в диапазоне адресов 00000000-000000FF, работать uint8 будет.
Aleksandr
если обьявить ссылки на функциональные блоки либы,типа MB_RD_HOLD_REGS прямо в главном POU, и вызывать из в там же,в главном POU,то все работае,со скрипом.Но если написать функцию обертку,в которой также по ссылке вызывается тот же MB_RD_HOLD_REGS,то ничего не работает что то у нас сломанный телефон получается) ПЛК разные бывают,и указатель может быть там и 2-х байтный, и есть вообще CISK архитектурая,там с указателями вообще все хорошо.Если ты пишешь на си,паскале или плюсах,или даже в том же st,размер указателя не важен,потому что компилятор сам выставляет смещения, и еще и оптимизирует циклы,вызовы и проч. uint8_t var; //переменная 1 байт uint8_t *ptr; //указатель на 1 байт ptr = &var; //указатель на var ptr = &var + 1; //указатель на следующий байт после var
Z-vladimir
Вот как раз для st это важно. Там по сути нет указателей как таковых. Это просто число, компилятор не учитывает что переменная может использоваться для хранение указателя или просто для хранения произвольного значения.
Abstrag
Напишите, пожалуйста