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

yanichar

Участник
  • Постов

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

  • Посещение

Репутация

0 Обычный

Информация о yanichar

  • Звание
    Участник
    Участник
  • День рождения 22.06.1985

Информация

  • Город
    Array

Посетители профиля

1 111 просмотр профиля
  1. Опыт разработки более 8-ми лет Территориально нахожусь в Харькове. Можно удалённо, можно постоянно, если в Харькове. Моё резюме на google docs, контакты внутри.
  2. Я создал тему http://electronix.ru/forum/index.php?showtopic=123992, в первом сообщении допустил ошибку в адресе, прошу отредактировать первый пост.
  3. Ищу работу удаленно. Имею опыт в Avr, STM32, STM8, опыт работы более 7 лет. подробнее о навыках тут https://docs.google.com/document/d/119d3xaG...6D_JWvZsqs/edit Я с Украины, но с оплатой услуг проблем не будет, имею карту Сбербанка России.
  4. Требуется камера, подключенная к ПК, требования: -Частота кадров от 30 герц и выше(лучше 90) -Интерфейс любой, я так понимаю что USB2.0 точно не вариант с такой скоростью. -Хорошое фиксирование падающих объектов, без смазывания. -Бюджет не критичен, но варианты до 400$ будут кстати.
  5. Добрый день, требуется скорректировать скорость хода часов на STM8L152CT6, но функция RTC_SmoothCalibConfig с SPL не работает, а именно флаг RECALPF в регистре RTC_ISR1 не устанавливается в 0. Кто знает где посмотреть примеры использования этой функции или где есть рабочий вариант? UPD: Решение найдено: функция доступна в low, medium+ and high density devices only, что я не сразу заметил
  6. Платформа не имеет значения, но вообще голый STM32, с 4 или 8кб RAM. keil не люблю и полной лицензии не имею.
  7. Спасибо всем отписавшимся. На 4кб оперативной памяти портировать, наверно, нельзя. Да и написать своё действительно будет быстрее, чем разбираться с этим монстром. Разницы под что GUI в оригинале для меня нет, но портировать хотел под STM32. Юзабилити на втором плане, устройство промышленное, редко настраиваемое, но если повторить старую мобилку(тем более что и дисплей то от Nokia 1202), то будет на достойном уровне. отдельное спасибо, хотя и платная, но мне понравилась.
  8. Я тоже так думаю, и сноровка есть, вот только про пару дней до отлаженного и качественного продукта-это вы погорячились, ИМХО. Перед написанием своего хочется убедиться, что альтернатив готовых нет.
  9. GUI для маленького экрана

    Посоветуйте GUI для экрана 96*68px, с утилитой конфигурирования. От ST утилита удобная, но размер контролов на пол экрана. Или может кто знает, как контролы свои запихнуть?
  10. Есть опыт решения сложных задач, пишите на мыло. [email protected] или в скайп.
  11. Вы можете использовать ReadyDriverPlus. Эта софтина будет включать режим с отключенной проверкой подписи при каждом старте винды.
  12. От идеи до реализации в железе. Можно удалённо, можно постоянно, если в Харькове. Моё резюме на гугл докс мой skype: boz-ten
  13. Все равно получается что запись идет по одному блоку, это замедляет работу до неприемлемого уровня. Нужна обязательно мультиблоковая запись. Ещё идеи есть?
  14. Но при этом карта получает куски информации не как запись нескольких блоков, а как одиночные блоки, что сильно замедляет её работу. Вот функция, которая осуществляет запись по DMA SD_Error SD_WriteMultiBlocks(uint8_t *writebuff, uint32_t WriteAddr, uint16_t BlockSize, uint32_t NumberOfBlocks) { SD_Error errorstatus = SD_OK; TransferError = SD_OK; TransferEnd = 0; StopCondition = 1; SDIO->DCTRL = 0x0; if (CardType == SDIO_HIGH_CAPACITY_SD_CARD) { BlockSize = 512; WriteAddr /= 512; } /*!< To improve performance */ SDIO_CmdInitStructure.SDIO_Argument = (uint32_t) (RCA << 16); SDIO_CmdInitStructure.SDIO_CmdIndex = SD_CMD_APP_CMD; SDIO_CmdInitStructure.SDIO_Response = SDIO_Response_Short; SDIO_CmdInitStructure.SDIO_Wait = SDIO_Wait_No; SDIO_CmdInitStructure.SDIO_CPSM = SDIO_CPSM_Enable; SDIO_SendCommand(&SDIO_CmdInitStructure); errorstatus = CmdResp1Error(SD_CMD_APP_CMD); if (errorstatus != SD_OK) { return(errorstatus); } /*!< To improve performance */ SDIO_CmdInitStructure.SDIO_Argument = (uint32_t)NumberOfBlocks; SDIO_CmdInitStructure.SDIO_CmdIndex = SD_CMD_SET_BLOCK_COUNT; SDIO_CmdInitStructure.SDIO_Response = SDIO_Response_Short; SDIO_CmdInitStructure.SDIO_Wait = SDIO_Wait_No; SDIO_CmdInitStructure.SDIO_CPSM = SDIO_CPSM_Enable; SDIO_SendCommand(&SDIO_CmdInitStructure); errorstatus = CmdResp1Error(SD_CMD_SET_BLOCK_COUNT); if (errorstatus != SD_OK) { return(errorstatus); } /*!< Send CMD25 WRITE_MULT_BLOCK with argument data address */ SDIO_CmdInitStructure.SDIO_Argument = (uint32_t)WriteAddr; SDIO_CmdInitStructure.SDIO_CmdIndex = SD_CMD_WRITE_MULT_BLOCK; SDIO_CmdInitStructure.SDIO_Response = SDIO_Response_Short; SDIO_CmdInitStructure.SDIO_Wait = SDIO_Wait_No; SDIO_CmdInitStructure.SDIO_CPSM = SDIO_CPSM_Enable; SDIO_SendCommand(&SDIO_CmdInitStructure); errorstatus = CmdResp1Error(SD_CMD_WRITE_MULT_BLOCK); if (SD_OK != errorstatus) { return(errorstatus); } SDIO_DataInitStructure.SDIO_DataTimeOut = SD_DATATIMEOUT; SDIO_DataInitStructure.SDIO_DataLength = NumberOfBlocks * BlockSize; SDIO_DataInitStructure.SDIO_DataBlockSize = (uint32_t) 9 << 4; SDIO_DataInitStructure.SDIO_TransferDir = SDIO_TransferDir_ToCard; SDIO_DataInitStructure.SDIO_TransferMode = SDIO_TransferMode_Block; SDIO_DataInitStructure.SDIO_DPSM = SDIO_DPSM_Enable; SDIO_DataConfig(&SDIO_DataInitStructure); SDIO_ITConfig(SDIO_IT_DATAEND, ENABLE); SDIO_DMACmd(ENABLE); SD_LowLevel_DMA_TxConfig((uint32_t *)writebuff, (NumberOfBlocks * BlockSize)); return(errorstatus); } Идея в том, чтобы выкинуть предпоследнюю строку(SD_LowLevel_DMA_TxConfig....) и вручную кидатся словами(или байтами) по мере их проглатывания интерфейсом
×
×
  • Создать...