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

Flexz

Свой
  • Постов

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

  • Посещение

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


  1. похоже что какие-то порты в воздухе висят, например, обнаружение подключения USB кабеля. Из описание толком непонятно что и как работает
  2. Давным-давно в паскале процедурой называлась функция, которая не возвращает переменных, ключевый слова разные были..
  3. По теме C vs C++ извините, но.. даже отвечать не хочу. На эту тему сломано столько копий, мама негорюй. Cам я использую все варианты - С, С++ и С# в зависимости от того что считаю лучшим для конкретной задачи (остновным критерием часто оказывается наличие в распоряжении готового кода). И ни спорить ни убеждать вас я ни в чем не собираюсь. Но на тему комента "// !!! Error in C++, Warinig in C" все же скажу "А не надо писать так, что бы оставались ворнинги, ни в С ни в С++"- вот поспорьте лучше с этим утверждением. Хотя каюсь - сам грешу :)
  4. Это элементарно контролируется сигнатурой и/или sizeof. И вообще меня неправильно поняли - я не предлагаю тащить в С концепции С++, а лишь провожу аналогии - это все там и так есть, просто приглядитесь повнимательнее.
  5. Вобщем-то, все что вы предлагаете можно и на С реализовать, не применяя классы. Абстрактный базовый класс? прототипы функций в .h-файле private-секция? static структура. Нужно несколько экземпляров одинакового модуля в рамках одного проекта? Передавайте указатель на эту структурку, преобразовав его к void*, дабы вызывающий код не лазил куда не следует (идиома pimpl). Несколько реализаций одного базового (абстрактного) класса, в данном конктретном случае, как я понял, не нужны, но и их при желании можно реализовать с помощью структуры с набором указателей на функции. ИМХО в данном случае это лучше, т.к. перетащить большой готовый проект с С на С++ в одно действие не выйдет.
  6. По задаче - что-то непонятно, чем вам эти перепрыги мешают? Ваша программа сравнивает некое запланированное время с текущим, как только текущее время первышает запланированное - происходит событие. И при чем тут изменения времени? Конкретно по вопросу - смотрите событие WM_TIMECHANGE
  7. А как у вас секция "батареечной памяти" в скрипте линкера описана? Если не ошибаюсь - копать надо туда
  8. В юзермануале есть для этого даже раздел специальный есть "8.1.11 Peripherals’ GPIO configurations", где все настройки портов для периферии расписаны
  9. пурга тут началась с вот этого http://electronix.ru/forum/index.php?showt...st&p=656738 поста, я не ныл ни о чем, а предупредил о возможных проблемах (с этим то спорить не будете надеюсь?), ВСЕ. Вы же начали дергать цитаты из контекста и цепляться к словам... Вы модер, вот и убейте все начиная с указанного поста, тоже всем поможете.
  10. А не тяжеловат FreeRTOS для Avr? Есть AvrX, маленькая и легкая, специально под AVR-ы написанная, правда к сожалению в реальных проектах попользовать не довелось.
  11. На страничке по вашей же ссылке LPC17xx CMSIS-Compliant Standard Peripheral Firmware Driver Library, V1.0 (Sep 11, 2009) И кейловские либы там тоже есть, они кстати без глюков. И какая разница кто их пишет - кейл, залетные студенты или кто-то еще, если распространяются они как "Support Documents" (тоже со странички по ссылке)? Хватит филипс выгораживать, и так понятно что он вам нравится) Ага, давайте еще на даташиты это распространим, там тоже ляпы есть.
  12. омг и хидеры скачанные у филипса (и почти один в один совпадающие с остальными встреченными в инете) тоже по вашему ???
  13. О разных вещах говорим... сырость железа и сырость средств поддержки (доки, либы, хидеры, апп.ноуты) все-таки не одно и тоже. Да и что я хотел, так это поделиться информацией, что филипсу в данном случае "доверяй, но проверяй". А о том что проц плохой никто и не говорил, в плане производительности он даже превзошел все ожидания.
  14. Интересен именно cortex, причем lpc1768 как раз подходит под задачу. Библиотеки от ST неинтересны, разве что как пример работы с железом подходят, но в реальном проекте их использовать бессмысленно - слишком монстрообразные они, да и сам предпочитаю непостредственно с регистрами работать. В ST привлекает то, что проц не такой новый, значит проблемы известны, а документация и заголовки отлажены, т.е. в первом приближении "риски" разработки ниже. Поговорку знаете, "Встречают по одежке..."? Вот встретил и сразу грабли. А любите писать хидеры - ваше дело, но по мне это пустая трата времени (синдром "Invented not here"?), когда разработчик чипа их предоставляет. Этот форум почитаешь - так ST полное фуфло, что ж они тогда не обанкротились еще?
  15. Из указанного списка в основном цикле обычно делают только обработку данных, а прием/передачу в прерываниях/DMA, если конечно процессор и периферия это могут.
  16. Вы что, негативные отзывы о nxp как личное оскорбление принимаете? о_О
  17. Получил плату, начал ковырять.. Первое впечатление - шустрая штука. Второе впечатление - сырая штука :) В плане поддержки сырая, сейчас я нашел уже три версии заголовка lpc17xx.h и все разные: первый кейловский - все структуры имеют префикс LPC_, второй из порта FreeRTOS (по привычка начал изучение проца именно с него) - в структурах сплошь ошибки (регистры не там или вообще нету), третий свежий от NXP - вроде бы самый хороший, но нашел его только сегодня - вчера промучался с первыми двумя, но.. в последем нету дефайнов констант (или я их еще не нашел). Документация местами противоречива, например, в секции GPIO написано "1. Power: always enabled.", а в регистре PCONP питание GPIO можно выключить... upd: погорячился.. в последней версии хидера тоже не все хорошо. В структуре TIM_TypeDef поле CTCR имеет неверное смещение (поле RESERVED1 должно иметь размер 12 а не 24) Дальше копаться, проверяя смещение каждого регистра, не очень хочется, в проект пока видимо будем закладывать stm32. А LPC17 прибережем для следующих работ.
  18. А вам действительно newlib нужен? Если просто printf надо, так возмите какую-нибудь минимальную реализацию, которая инты да строки выводить умеет (гугль -> printf embedded).
  19. AT91SAM7 + USB

    А у вас много девайсов на компортах висит? я вот только с блютусом и переходниками usb-rs-XXX в последнее время встречаюсь, да еще старые программаторы. Но если хотите что б все красиво было, то прямая дорога в WMI, скачайте утилитку WMI Code Creator (она бесплатная) и в неймспейсе root\WMI ищите инфу по последовательным портам. Утилька сама поможет сгенерить код на C#
  20. AT91SAM7 + USB

    Можно перебрать все компорты, кидая туда тестовый запрос и смотреть откуда придет ответ, так часто делают. Мне же больше понравился вариант - вообще отказаться от usbser и пр. и использовать libusb.
  21. Извиняюсь что не совсем в тему, но вы уверены что вам там ARM нужен? вариант с 64-ногой мега128, например, не рассматривали? gpio у него больше чем у этого арма, если проблема только с портами.
  22. State-Viewer Eclipse plug-in

    Судя по описанию - плагин позволяет просматривать список и состояние процессов. http://www.highintegritysystems.com/index....t&Itemid=67 Скачал-поставил - не пашет. В Plug-in details не появился, а в Configuration Details в списке Configured plug-ins - есть. Кому-нибудь удалось его завести? Eclipse 3.3.2, под виндой.
  23. Вообще-то "API драйвера TV тюнера с видеовходом" открыт так, что открытее некуда, DirectShow называется. Соответственно "дорисовывать" индикацию на картинке, да и выполнять вообще любые манипуляции с ней можно с помощью DirectShow фильтра. Для винды - старый DirectX-SDK (или Platform-SDK, сейчас DirectShow вроде бы там) в зубы и вперед. В линухах тоже есть методы, но я с ними не сталкивался.
  24. AT91SAM7S деление

    А какой именно GCC используете? mck и baudrate - константы, очень странно, что компилятор это не посчитал на этапе компиляции и не вставил константу в код. Обычно всё наоборот - когда нужно что бы значение обязательно считалось в программе на этапе выполнения, приходится везде тыкать volatile. В плане диагностики - дергайте ножку порта до и после деления и смотрите осцилографом время.
  25. Cимптомы похожи на мое ковыряние с DMA и UART (проц правда 912FW). Я тогда так до конца и не разобрался в чем именно было дело, (возможно, в последовательности заполнения регистра управления) но помогл отказ от STшных функций. В итоге настройка DMA на прием выглядит так: DMA_Channel_RX->CCNF = DMA_FlowCntrl2_DMA | C328_UART_SRC_RX | DMA_ITMask_ITC; DMA_Channel_RX->SRC = (u32)(&C328_UART->DR); DMA_Channel_RX->CC = DMA_DesWidth_Byte | DMA_SrcWidth_Byte | DMA_DesBst_1Data | DMA_SrcBst_1Data | DMA_ChannelDESInc //| 0x80000000 | length ; а запуск приема так: void startDMAuartRX(DMA_Channel_TypeDef *DMA_ChannelX, char *dst, unsigned short length) { DMA_ChannelCmd (DMA_ChannelX,DISABLE); DMA_ChannelX->DES = (u32)dst; DMA_ChannelX->LLI = 0; DMA_ChannelX->CC |= 0x80000000 | length; DMA_ChannelCmd (DMA_ChannelX,ENABLE); return; } C328_UART_SRC_RX - DMA_SRC_UART1_RX C328_UART - UART1 0x80000000 - активация прерывания. По поводу SSP как флоу контроллера - в доках явно указано, что флоу котроллером периферию можно назначать только для USB. Остальные устройства не поддерживают необходимые команды.
×
×
  • Создать...