- Продолжаем рыдания с МПЛАБ-Х. Она-таки знает команду CTXTSWP - ручное переключение контекстов. Но при симуляции никаких действий на набор регистров не оказывает. - Крок(22.09.2015 21:29, PIC, полностью)
- Выяснил, что МПЛАБ 8.76 не знает о возможности переключения контекстов, да и о семействе EV ничего не знает. МПЛАБ Х она такая Х и получилась - не хочу её. Какие ещё есть варианты? - Крок(20.09.2015 20:16, PIC, полностью)
- Это напалм? Switch CPU register context to context defined by lit3 Крок(25 знак., 17.09.2015 19:15, PIC, полностью)
- PIC16(L)F1769 - Multiple Independent Closed-loop Power Conversion Channels, LED Dimming Engine, High integration of Intelligent Analog & Digital Features Shatun_(37 знак., 15.09.2015 14:26, PIC, ссылка)
- Не выходит сделать вызов ф-ии со смещением по указателю PIC18 ht9.51pl3. abivan(1214 знак., 07.09.2015 11:32, PIC, полностью)
- Компилятор XC8, Контроллер PIC18F46K22. Описываю тип-функцию, ложу ее адрес в структуру. Передаю адрес структуры в другую функцию и, собственно, пытаюсь вызвать первую. На этапе компиляции компилятор говорит. что не хочет ее вызывать. Что делать? Евгений(474 знак., 14.08.2015 17:01, , PIC, полностью)
- Функция Init() объявлена. А она есть(определена)??? - il-2(26.08.2015 13:01)
- А где код самой функции Init? Также попробовать вручную присвоить значение указателю на функцию: FDA(23 знак., 17.08.2015 13:05)
- Может компилятору можно сказать, чтобы он часть кода компилировал "как есть"? А не выдумывал факты, что указатель у меня NULL? - Евгений(17.08.2015 11:46, )
- А "как есть"? Там 3 типа указателей, какой ему, "как есть" выбрать? - aoreh(17.08.2015 14:31)
- Зачем выбирать? Четко сказано, где взять адрес для перехода. Я хочу, чтобы функция по этому адресу, который я передаю БЫЛА вызвана и мнение компилятора по этому поводу меня мало волнует. Мои ошибки, если я ошибусь в передаче адреса - это мои Евгений(8 знак., 17.08.2015 14:38, )
- Да нет же, проблема в том, что этот дибильный компиллятор сам путает, где он и какие указатели использует, отсюда и получается, шо он кладет 2 байта, а берет 3 и т.п. - aoreh(17.08.2015 14:41)
- О! А с этого места поподробнее. Откуда 3 байта в указателе для 18-х пиков? - Евгений(17.08.2015 14:43, )
- Я так понимаю, это проистекает из особенностей архитектуры пика в работе с памятью и желанием микрочипа сделать один указатель на все виды памяти, ну а менее трех байт - оптимизация - aoreh(17.08.2015 14:54)
- А, то есть, указатель может быть 2 байта, когда он его оптимизирует, а может 3, чтобы запихнуть в единое пространство Flash, RAM и EEPROM? Я смотрел, RAM начинается с адреса 0x200000, косят под ARMы. Значит, можно сделать вывод, что есть 3-4 вида Евгений(106 знак., 17.08.2015 14:58, )
- Точнее уже ниче не скажу, этот механизм был описан где-то в документации и глюки в работе с указателями связывали именно с ним - aoreh(17.08.2015 15:00)
- И, видимо, компилятору можно как-то жестко указать, что вот тут у меня используется общий указатель и он везде передается? - Евгений(17.08.2015 14:59, )
- А вот теперь, внимание, прикол... НЕЛЬЗЯ :) Во всяком случае, два года назад было нельзя, может щас шо-то изменилось - aoreh(17.08.2015 15:01)
- Это катастрофа. :-) Все же я верю в стойких парней, держащих на своих могучих плечах историю компиляторов от майкрочип. :-) Должны они были чего-то придумать. - Евгений(17.08.2015 15:04, )
- Компилятора от microchip -- не существует. XC8 -- это бывшая PRO версия фирмы Hitech. Фирма Hitech разорилась, потому, что все воровали (а не покупали за жалкие несколько сотен долларов). Ты думаешь от силы пара индусов из микрочипа заставленные fk0(373 знак., 18.08.2015 11:09)
- Как одно из решений, можно попытаться хранить не указатели, а целочисленное и приводить в нужном месте к указателю на ф-ию, коряво, уродски, но, может, поможет, я помню у нас были попытки такого использования, но вот результат не помню уже. - aoreh(17.08.2015 15:14)
- Да, почитал, механизм, конечно, описан, но все сводится к тому, что это очень сложно и компилятор сам придумывает, где и какой указатель использовать. :-) Но, все равно, дело не в указателях. Ладно, если б я просто попадал в неожиданное место при __ЕВГЕНИЙ(764 знак., 17.08.2015 16:57)
- Я вот так объявляю указатель на свою функцию: FDA(201 знак., 17.08.2015 11:23)
- Это все хорошо, пока адрес ф-ии не становится полем структуры. Т.е. пока вот так просто - глобальная переменная - еще кое-как, но полноценное использование - болт aoreh(125 знак., 17.08.2015 14:22)
- Вот и писать надо тогда конкретнее, что не работает вызов по указателю из твоей структуры, написанной через жопу, а не просто, что не работает. Другие потом будут форум этот читать и сделают вывод, что в XC8 вообще ничего не работает. - FDA(17.08.2015 14:27)
- Оооо... и что же там "через жопу"? И да, если компайлер языка Си не способен правильно работать с указателями, то можно сказать, что в нем "ничего не работает", ибо это основа языка Си - aoreh(17.08.2015 14:30 - 14:34)
- Ну ты ещё в десять структур заверни указатель и потом возмущайся, что ничего не работает. У всех компиляторов есть свои огрехи. Принимай их за особенности, пиши код попроще и всё будет работать. А если ты считаешь, что качество кода выше, чем FDA(90 знак., 17.08.2015 14:35)
- Зашибись советы... какие, нахер, десять структур? шо ты мелешь... Ну объявляй сотню глобальных переменных, удачи тебе.... - aoreh(17.08.2015 14:38)
- Я против сотни глобальный переменных. Зачем так делать? Но и накручивать одну структуру над другой глупо. Такие программы людьми потом тяжело читаются. Не стоить множить сущности без необходимости. - FDA(17.08.2015 14:41)
- Какие еще одни над другой? Ты видишь исходник? ОДНА СТРУКТУРА! ОДНА! и нихера не работает - aoreh(17.08.2015 14:44)
- Я уже писал. Не работает, потому что у тебя руки из жопы растут! Я предложил работающий вариант. Но тут началась уже дискуссия ни о чём! - FDA(17.08.2015 14:46)
- У человека сделавшего 150 проектов на XC8 (я за это время один сделал) руки не из жопы, ага. Я за это время наверное один проект сделал. Который раз 5 пытался перевести на PRO версию и XC8. Безуспешно. - fk0(18.08.2015 11:07, ссылка)
- У тебя, видимо, есть опыт по "рукам из жопы". :-) А руки из плеч видел когда-нибудь? :-) Или для тебя все, что руки, все из жопы? :-) - Евгений(17.08.2015 14:47, )
- Руки из плеч, как правило, у профессионалов, которые спокойно решают проблему, а не орут на все стороны, что компилятор говно. - FDA(17.08.2015 14:49)
- Это первый и последний компиллятор в моей жизни, про который пришлось так сказать, более того, я долго не верил своим глазам и сопротивлялся, искал говнокод у себя... но, если профессионалам нравится хождение по граблям, то флаг в руки, рукожопым, aoreh(66 знак., 17.08.2015 14:58 - 15:08)
- Я, кстати, еще ни разу не сказал, что компилятор плох. Я лишь спросил совета, что делать и какие есть лазейки, чтобы компилятор все же согласился скомпилировать код как есть, как мне хочется, а не выбрасывал косвенные вызовы функций. - Евгений(17.08.2015 14:52, )
- Кстати, если не изменяет память, аналогичная проблема возникает, если нужно использовать массив указателей на функции (могу уже ошибаться, к счастью, начал забывать это убожество, но, по-моему, таки да) - aoreh(17.08.2015 14:34)
- Может, оно режет размер указателя и ему нужно помочь - см. п. 4.8.22 (стр 107) Vit(249 знак., 17.08.2015 09:47, ссылка)
- Поставил XC8 1.35 с лицензией PRO, та же самая ерунда. Не хочет он ее вызывать, сцуко. - Евгений(17.08.2015 08:57, )
- hitech soft picc18 9.51 pl2 или pl3. - fk0(14.08.2015 23:38)
- (*(Str->Init))(NULL, NULL); - AlexBi(14.08.2015 17:25)
- Увидел новые контролеры PIC16F1823 подходят для замены PIC16F676 и памяти в два раза больше там появились новые команды для кампилятора Си Вопрос чем компилировать что бы эти команды использовать - Анатолий(21.08.2015 21:15, PIC, полностью)
- вопрос по can bus и битовой синхронизации. avcel(671 знак., 11.08.2015 12:09, , PIC)
- MPLABX! БЛиииин! ;( Какой тормознутый ..индус или прибалтиец писал код для САМОГО редактора кода??? :(( SERHIO(59 знак., 10.07.2015 01:41, PIC, полностью)MBedder
- на диаграмме пинов dsPIC33EPXXXGM3XX/6XX/7XX не могу найти куда подключаются CAN bus пины CxTX CxRX ? - jkobi(29.07.2015 07:47, , PIC, полностью)
- Думаю в проект заложить PIC32MZ. Кто что скажет насчет целесообразности в плане, не загнется ли линейка как AVR32? Смущает что демобордов под MZ в инете не очень много, не популярен? - lexxx-lexxx(09.07.2015 12:39, PIC, полностью)
- А вот кто-нибудь добился превышения скорости решения задач на дспик33Е по сравнению с дспик33Ф ? Хвалёное повышение частоты сжирается корявыми командами ветвления, прерывания и.т.д. - Крок(11.05.2015 23:59 - 12.05.2015 01:31, PIC, полностью)
- Подскажите где взять кряк или генератор лицензий для компилятора XC8. А то он поработал два месяца, а теперь у него отключилась оптимизация! Пишет, что компилятор работает в режиме Free Mode. Пробовал его переустанавливать, заново получать FDA(31 знак., 26.09.2012 11:19, PIC, полностью)
- => Ксения(26.09.2012 11:52)
- PIC32MZ - студенческое поделие? -> - Evgeny_CD(27.04.2015 23:18, PIC, ссылка)
- pic16lf1705 операционники: потреблени в статике и дипазон рабочих напряжений в low power (OPAxSP: Op Amp Speed/Power Select bit == 0) Shatun _(170 знак., 06.02.2015 10:43, , PIC, полностью)