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

Jurdens

Свой
  • Постов

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

  • Посещение

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


  1. плата на 9260

    Как на счет продажи платы (запаянной и незапаянной?)
  2. В С и С++ есть понятие указателя на неопределенный тип (*void) который можно преобразовать (типизировать) под любой тип данных. , понятие указателя на функцию. а зачем ? когда можно использовать 255 конструкций if else или 16 switch case в которые вложены еще 16 switch case Иногда при разработке пишут несколько человек и один ставит другому задачу вот моя такая написать функцию которая вызывает функцию а какую это определяется динамикой работы всего устройства в процессе его работы некий пользователь нажимает кнопочки и при этом надо выполнять одни функции изменяются показания датчиков ,которые опрашивает устройство, надо, выполнять другие у которых есть аргументы и еще и разные. Этим всем занимается другой человек. Просто лишний раз неохота его беспокоить и с другой стороны интересно сталкивались ли другие с подобными задачами. Можно конечно сказать примерно тоже что на этом форуме типа и немороч мне голову. Но это не корректно потому что такие приемы применяют и они работают , например в при написании операционок. Обещали их прислать.
  3. А задача такая запускать произвольную функцию по таймеру через время Time. У запускаемой функции неизвестен тип параметра (так надо ) в общем случае и возвращаемый параметр для этого мы должны передать ее адрес в функцию. DelayStart(unsigned Time, *Func(?)); Подумал в С++ есть механизм передачи по ссылке F(&data1,&Func1) может тут как то поэксперементировать?
  4. Какие спец эффекты можно ожидать при преобразовании типов указателей на функцию В параметрах функции. Например определим тип указатель на функцию с одним параметром типа указатель на неопределенный тип , функция ничего не возвращает typedef void (*CPU_FNCT_PTR)(void *); и тип указатель на функцию typedef void (*CPU_FNC)(char); void func2(char ParF2 ); char Data; func1( void (* Fnc_par)(void *),void * ptrPar); в параметре функции func1 передаем указатель на функцию с одним параметром типа указатель на неопределенный тип , функция ничего не возвращает. Передадим указатель на функцию func2 как параметр func1 (приведя ее к типу CPU_FNCT_PTR) и передадим указатель на переменную Data как второй параметр приведя ее к типу void * ;. Получится такой вызов func1( (CPU_FNCT_PTR) func2, ( void *)Data); ……. func1( void (* Fnc_par)(void *),void * ptrPar) { *Fnc_par( * ptrPar); // Сработает func2 ? или // надо преобразовать *((CPU_FNC ) Fnc_par) ( ( сhar*) ptrPar); }; А хотелось бы просто указатель на произвольную функцию и ее аргумент тип которого заранее неизвестен
  5. Разбор ASCII строки

    спасибо, понятно,попробую :)
  6. Разбор ASCII строки

    Скажите пожалуйста есть ли стандартная (или не стандартная) функция разбора строки на подстроки по признаку заранее известного разделителя пробела например. а результат грузит в какой ни будь массив строк А (или указателей на строки) fun("йцук фыва ячсм"," ",A); A[0] -> йцук A[1] -> фыва A[2] -> ячсм
  7. Нашел выход уарта волею седеб шел на сброс
  8. У кого ни будь есть лекарство? для этого чуда.
  9. Понятно Увидел интересный прием ,может кому пригодится, как скопом объявлять функции как внешние С в зависимости от того куда попали в С-файл или CPP-файл , в заголовочном файле #ifdef __cplusplus extern "C" { #endif void MyFunc1(void ); void MyFunc2(char); . . . . #ifdef __cplusplus } #endif __cplusplus определяет компилятор.
  10. Ну а если ,волею судеб, нужно вызвать функцию CPP или, не приведи господь, вызвать метод экземпляра класса в модуле С ? Это можно сделать? и как?
  11. Спасибо мне подойдет приведение типов. А вот еще одно при вызове функций С в модууле CPP - в файле *.cpp линкер ругается Error[e46]: Undefined external "BSP_Init()" referred in app ( C:\ARM\UCOS\UII\Micrium\Software\EvalBoards\ => нужно описывать функции С вызываемые из модулей CPP как extern "C" в моем случае extern "C" void BSP_Init(void )" что то еще надо ? есть какие нибуть ньюансы использования С-функций в CPP-файлах.грабли ?
  12. Есть рабочий проект под uCOS на С После того как я поставил в настройках проекта (среда IAR) галочку Extended Embedded C++ компилятор стал ругаться на все фрагменты содержащие строковые константы в параметрах функций типа OSTaskNameSet(APP_TASK_START_PRIO, "Startup", &err); на параметр "Startup" OS_StrCopy(s, "uC/OS-II: Vx.yy"); на параметр "uC/OS-II: Vx.yy" Error[Pe167]: argument of type "char const *" is incompatible with parameter of type "INT8U *" C:\ARM\UCOS\UII\Micrium\Software\EvalBoards\NXP\LPC2138\IAR\OS-View-LCD\app.cpp 198 несоответствие типов все понятно Но почему С компилятор не ругался ? И что делать сейчас есть может какая директива компилятору ? Можно конечно и так.. INT8U G1[]="Startup"; . . . OSTaskNameSet(APP_TASK_GRAPHOUT_PRIO, G1, &err); и получается но может можно как то еще дать знать компилятору о том что INT8U* и char const *" compatibl?
  13. uC/OS-II

    Спасибо нашел
  14. uC/OS-II

    в разделе триалов только это - Index of /downloads/trials AN-3032-V100.zip 07-Mar-2007 22:41 3.4M RAM-Calc.xls 07-Mar-2007 22:41 31K trialfs.zip 07-Mar-2007 22:41 2.0M trialgui1bpp.zip 07-Mar-2007 22:42 2.1M trialgui2bpp.zip 07-Mar-2007 22:42 2.1M trialgui4bpp.zip 07-Mar-2007 22:43 2.1M trialgui8bpp.zip 07-Mar-2007 22:43 2.1M trialgui16bpp.zip 07-Mar-2007 22:42 2.1M trialgui32bpp.zip 07-Mar-2007 22:43 2.1M uC-GUI-FontConvertDemo.zip 07-Mar-2007 22:43 190K uCOS-II-RAM-Calc.xls 07-Mar-2007 22:43 30K -------------------------------------------------------------------------------- может есть еще другой?Дай ссылку пжл
  15. uC/OS-II

    Новее невидел если найдешь выложи для общего пользования . Появилась Micrium µC/Probe Run-Time Monitoring http://www.micrium.com/products/probe/probe.html но в ихней папке downloads/ я не нашел ее.Видимо нужно через регистрацию.Может у кого есть?
  16. Скачал порт uCOS для lpc 2138 там был пример одновременно для uCOSView и uC/LCD в одном проекте. Установил конфигурацию OS_VIEW_MODULE 1 (вкл) OS_VIEW_COMM_SEL OS_VIEW_UART_0 (в проекте было OS_VIEW_UART_1) скомпилировал, запустил дебагер, через jlink, и ИАР завис не выйдя на main даже OS_VIEW_COMM_SEL меняю на OS_VIEW_UART_1 то ИАР не виснет (но и обмена нет естественно) Кто нибудь сталкивался с чем то подобным?Что делать?
  17. Не понимаю нафиг тебе переходить. Я вот обратно с SAM7 перехожу на LPC Более современные модели лишены LPC многих своих недостатков и на данный момент эта ветьвь гораздо привлекательнее. На gaw.ru есть руское описание переферии сам7.
  18. распиновка дисплея Nokia 6610

    Решил подлючить еще один дисплей от сотового(до этого был нокоя 6610 с контроллером филипс) и всегда считал что их существует 2 вида с контроллером епсон зеленый, к которому трудно подпаяться, и филипс- коричневый у которого на шлейфе широкие площадки( фото последнего сдесь http://thomaspfeifer.net/ ). Пошел в магазин купил а там еще один вид там отличие филипса в том что контактов 10 а не 11 и расположены они не подряд а вперемешку (я прозвонил) программа на филипс с ним неработает кто нибудь встречался с таким видом ? что там за контроллер?
  19. Подал на ножку erase 3,3v а затем вновь произвел запись все пошло.
  20. После команды erase chip (вернее при ее выполнении ) программой J-Flash 3.38 прекратилась связь после попытки законнектится повторно (и неоднократно) - надпись что не найдено ядро арм 7 /9 и failed to connect. Что делать перепаивать кристал ? или комбинацией ножек можно восстановить.
  21. Я обнаружил что стирается первая строка с нулевого адреса. когда загружаю то там переход на стартап ldr pc,[#pc+24] а когда включаю выключаю и запускаю J-LINK без загрузки на нулевом адресе andeq R0,R0,R0
  22. Наконец то запустил отладку из флеша устройства на SAM7 с uCOS ом ( использую J-LINC ом ) линковал в 0 адреса флеша ремап невключаю, гружу программу в 0x00100000 ( как рекомендуют в AN 1014).Все работает проверил программа с 0- х адресов и они немодифицируются записью. Затем выключаю устройство и включаю снова (программа ведь во флеше) но программа не работает. почему непойму.Кто что может подсказать,
  23. Отправил тебе письмо по электронке со своим адресом вышли если не трудно.!
  24. Вопрос такой Написал некую прогу(можно считать ее тестовой) работает под UCOS 2.80 пока работал в ОЗУ все работало, как поместил во флешь - повисло.Прошел по шагам получил следующую картину виснит при вызове OSTimeDly((INT16U)ticks); ->OS_TaskIdle;->OS_Sched;->OS_TASK_SW() - это асемблерная ппрограмма после нее выполнения выходит опять на выходит OSTimeDly((INT16U)ticks); и так по кругу.Программа дальше этого не идет. Может кто сталкивался с чем то подобным? стек задач TASK_STK_SIZE 255 файл линкера at91SAM7S128_NoRemap.xcl Стеки -D_CSTACK_SIZE=(300*4) -D_IRQ_STACK_SIZE=(3*8*4) с запасом вроде да и при работе из озу такиеже размеры.
  25. Я недавно начал заниматься АРМами и толком то не знаю через что можно через что нельзя отлаживаться Но раз есть интерфейс с внешним миром у кристалла то значит через него можно заглянуть внутрь. Когда-то очень давно сам писал отладчик для 51-х процессоров через последовательный порт типа RОМ монитор. Так вот и подумал что может это предусмотрено.Сейчас работаю через виглер. Вот такая история. Всем спасибо за участие!
×
×
  • Создать...