Перейти к содержанию
    

msalov

Свой
  • Постов

    502
  • Зарегистрирован

  • Посещение

Весь контент msalov


  1. Проблема в if (Data && 16) Должно быть так: if (Data & 16) а ещё лучше, ИМХО, конечно же, так if (Data & (1 << 4)) т.к. && - логическое И, а & - побитовое И.
  2. inline функция

    Переместите inline-функцию в заголовочный файл целиком.
  3. Вообще-то упомянутые вами типы данных строго определены стандартом. Во floate 4 байта на всех платформах, а в uint16_t 16 бит (2 байта) тоже на всех платформах. Потому что эти типы вводились как раз для переносимости между платформами. Может отличаться только порядок байт. ISO/IEC 9899
  4. В скрипте линкера создать секцию по нужному адресу, а переменную объявить с аттрибутом MPLAB® C32 C Compiler User’s Guide
  5. GNU Binutils содержит утилиту objdump, которая может дизассемблировать прошивку. На сайте http://www.kpitgnutools.com/ можно скачать для семейства H8.
  6. Загрузчик может быть и в памяти программ.
  7. Только не факт, что та прошивка пригодна для прошивки программатором.
  8. Прошивка лежит во внутренней флеш памяти. Сами обновить вряд ли сможете. Лучше свяжитесь с дилером/производителем по поводу ремонта.
  9. Период можно вычислить при помощи функции автокорреляции, а сдвиг - через функцию взаимной корреляции
  10. Сейчас делаю проект на RL78/G14. Из плюсов: много разной периферии, которую можно связать в обход ядра (через ELC - Event Link Controller); SNOOZE режим - частичное пробуждение для работы периферии (например запуск АЦП по таймеру (и полное пробуждение при условии выхода за порог), приём по УАРТу на малых скоростях); встроенный генератор с неплохой точностью; простая прошивка через последовательный интерфейс (надо 2 сигнальных провода: RESET и TOOL0); хорошая документация. Из минусов: генератор для часового кварца есть не во всех корпусах (в большинстве случаев, начиная от 40 ног); очень мало периферии может тактироваться от часового кварца в STOP режиме; самопрограммирование только из ОЗУ через их библиотеку (т.е. если оно вам надо - сразу отнимайте 1к ОЗУ из доступного); маркетинг пожмотился сделать халявную отладку через TK интерфейс по COM-порту, работает только через их USB приставку (работает только в IAR-е, а полностью бесплатные e2studio с GNURL78 в пролёте).
  11. Программы на С++ надо собирать при помощи g++.
  12. Никак. С этого датчика можно снимать показания только напрямую, либо через усилитель.
  13. GNUC, msvc -> Cx51

    Вот такие макросы должны сработать #define PACKSTRUCT( decl ) decl #define ALIGNED Т.к. на 8-битной архитектуре выравнивание и упаковка структур особого смысла не имеют, т.к. они всегда упакованы и выровнены по границе в один байт. Если же у вас используются неупакованные структуры, придётся расставлять ручками байты отступов.
  14. Думаю просто так совпало: Hycon 8-bit, а вы подумали на Hitachi 8-bit :D
  15. И серия будет очень (ну о-очень) большая, чтобы трудозатраты на разработку были мизерными, т.к. для чудо ядра этих мк есть только ассемблер.
  16. Ваш МК из другой серии: R8C/36A. А конкретно R5F2136CANFP. Схема нумерации чипов есть в даташите. У этого МК есть на борту: UART, SPI, I2C, LIN. Очень большая вероятность что это RS485 (UART), если другой конец - это другой прибор, а если на той же плате - может быть и любой из перечисленных. Схема даст однозначный ответ.
  17. Есть такая схема подключения Взято из апноута на TJA1050.
  18. Последняя и предпоследняя ошибки являются следствием одного: вы не включили main.h в func.h Общее правило: если в h или c-файле используется тип, переменная, функция или макрос, эти файлы должны явно включать заголовочный файл где он (тип, переменная, функция или макрос) объявлен. Ну и конечно же вам надо в заголовочные файлы добавить include-guard-ы
  19. testdef у вас объявлето только в main.h func.c и func.h не включают main.h, по этому они и выдают ошибку. Что бы макрос был доступен во всех компилируемых объектах надо заголовочный файл с его объявлением включить во все файлы либо скормить компилятору дополнительную опцию "-Dtestdef"
  20. Посмотрите схемы каких-нибудь демоплат (например тут, тут или тут). Линия DALI - это оптоизолированный полудуплексный "однопроводной" UART с напряжением >=9.5В. Описание протокола: http://ritelites.com/yahoo_site_admin/asse...e1.23264229.pdf http://ww1.microchip.com/downloads/en/AppNotes/01465A.pdf
  21. А при чём здесь MSP430? Для отладки можно и выпаять.
  22. Пишите хоть в машинных кодах. Из моего сообщения вы могли бы почерпнуть, если бы не торопились с выводами, такие варианты: * использовать библиотеку напрямую (если только у вас не орден велосипедостроителя 3ей степени), ведь из ПИСАНИЯ НА АССЕМБЛЕРЕ не следует невозможность использования библиотек; * использовать исходный код (реализаций на Си предостаточно) что б реализовать алгоритм своими силами; * бинарник нужной функции из библиотеки пропустить через дизассемблер, ручками выправить полученное до ассемблируемого вида, ведь вам же нужен АССЕМБЛЕР.
  23. Такой наивный вопрос: а чем стандартная библиотека Си не угодила? Там есть функция работы со временем mktime, которая время в человеко-приемлемой форме переводит во время Unix (количество секунд с 01.01.1970 00:00:00). Ну а дальше разницу взять - дело тривиальное.
  24. А как же ex-Mitsubishi (r8c/m16c/m32r)? Да и новые семейства выпустили (rh850, rx, rl78). Всё они тоже для пром. и авто применений есть.
×
×
  • Создать...