Jump to content

    

Kalyan

Свой
  • Content Count

    111
  • Joined

  • Last visited

Community Reputation

0 Обычный

About Kalyan

  • Rank
    Частый гость

Recent Profile Visitors

1328 profile views
  1. STM32f401 + uIPv 1.0 + Web Server

    #define UIP_CONNS 15 Этого количества хватает на все соединения которые идут от браузера. Посмотрел загрузку самого жирного файла через Wireshark. Идут ре-трасмиты со стороны железки. Но документ оно загружает. На сколько это нормально?
  2. STM32f401 + uIPv 1.0 + Web Server

    Физика, думаю, нормально работает, так как тот же веб сервер с примера - работает. Но там очень простой сайт. uIP взял чтоб сэкономить RAM память ))
  3. Добрый день. Собрал систему из Nucleo STM32f401 и Enc28j60 шилда. Использую FreeRtos и uIP v 1.0. Система завелась, работает DHCP и одно клиентское подключение по TCP. Адаптировал пример веб сервера с uIP стека. Добавил туда свои веб странички. На страничках подключено несколько изображений и скриптов. Соответственно когда браузер это все начинает тянуть вместе - не все ресурсы страницы подгружаются. Если кто то работал с uIP и этим примером веб сервера, у вас наблюдались такие проблемы? Может ли этот веб сервер асинхронно обрабатывать запросы? Буду благодарен если поделитесь своим опытом
  4. BLE

    Да, извиняюсь, не нашел более подходящего места. Да, тут такая логика необходима: Центральное устройство периодически читает эту характеристику, там содержится статус некой операции. Если операция еще не завершилась, то эта характеристика должна быть пустая (data len = 0), то есть центральное устройство не должно получать вообще данных, а уже если операция завершилась, то в этой характеристике должен быть 2-х байтный статус. Вот исходя с этой логики хотел менять длину данных в характеристике.
  5. BLE

    Добрый день. Работаю с BLE - создаю BLE peripheral device. В GATT профайле определен один сервис в котором определена одна характеристика со свойством read. Эта характеристика описана двумя атрибутами (Declaration - uuid -0x2803 и само value c 16 байтным uuid). Вопрос относительно длины данных для атрибута value этой характеристики. Возможно ли как то указать что длина данных у этой характеристики переменная? Например инит длинна = 0 и максимальная длина = 2 байта.
  6. STM32f407 DMA2 M2M

    Очистка на уровень выше, в самом хендлере void TIMIMER_IRQ_Handler(void) { if (TIM_GetITStatus(DELAY_TIMER, TIM_IT_Update) != RESET) { timer_1ms_handler(); TIM_ClearITPendingBit(DELAY_TIMER, TIM_IT_Update); } }
  7. STM32f407 DMA2 M2M

    Добрый день. Управляю ТФТ дисплем напряую через FSMS. Заполняю буфер и через DMA2 M2M передаю его в FSMS. По окончанию передачи получаю прерывание TC, генерирую новый буфер и опять передаю через DMA. Все работает пока не вызываться обработчик прерывания от таймера. Если этот обработчик занимает определенное время то прерывание TC от дма не вызывается никогда, прерывания ошибок от дма тоже не приходят. В регистрах дма наблюдаю след состояния: LISR - флажков прерываний нету CR - EN включен и прерывание TC тоже включено. NDTR - количество байт уменьшилось на 20. то есть дма передало 20 байт FCR - FS (FIFO status) == 5 что означает что FIFO полная. Собственно не понятно почему дма перестает отправлять данные и заполняется его FIFO. Инит дма DMA_InitTypeDef DMA_InitStructure; // Deinitialize DMA Streams DMA_DeInit(DMA2_Stream0); // half_word_cntr*2 - size in byte // memory it is FSMC, DMA_MemoryDataSize = DMA_MemoryDataSize_HalfWord, 16b bus // Peripheral it is img frame buff, DMA_PeripheralDataSize_Byte - need for little endianformat on FSMC bus // Configure DMA Initialization Structure DMA_InitStructure.DMA_BufferSize = half_word_cntr*2; DMA_InitStructure.DMA_FIFOMode = DMA_FIFOMode_Disable; DMA_InitStructure.DMA_FIFOThreshold = DMA_FIFOThreshold_1QuarterFull; DMA_InitStructure.DMA_MemoryBurst = DMA_MemoryBurst_Single; DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_HalfWord; DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Disable; DMA_InitStructure.DMA_Mode = DMA_Mode_Normal; DMA_InitStructure.DMA_PeripheralBaseAddr = (uint32_t)data_p; DMA_InitStructure.DMA_PeripheralBurst = DMA_PeripheralBurst_Single; DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Byte; DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Enable; DMA_InitStructure.DMA_Priority = DMA_Priority_High; // Configure TX DMA DMA_InitStructure.DMA_Channel = DMA_Channel_0; DMA_InitStructure.DMA_DIR = DMA_DIR_MemoryToMemory; DMA_InitStructure.DMA_Memory0BaseAddr = (uint32_t)TFT_FSMC_BASE_ADDRESS; DMA_Init(DMA2_Stream0, &DMA_InitStructure); DMA_ClearFlag(DMA2_Stream0, DMA_FLAG_TCIF0); DMA_ClearITPendingBit(DMA2_Stream0, DMA_IT_TCIF0); // Transfer error DMA_ClearFlag(DMA2_Stream0, DMA_FLAG_TEIF0); DMA_ClearITPendingBit(DMA2_Stream0, DMA_FLAG_TEIF0); // Direct mode error DMA_ClearFlag(DMA2_Stream0, DMA_FLAG_DMEIF0); DMA_ClearITPendingBit(DMA2_Stream0, DMA_FLAG_DMEIF0); //FIFO overrun/underrun DMA_ClearFlag(DMA2_Stream0, DMA_FLAG_FEIF0); DMA_ClearITPendingBit(DMA2_Stream0, DMA_FLAG_FEIF0); DMA_ITConfig(DMA2_Stream0, DMA_IT_TC, ENABLE); DMA_ITConfig(DMA2_Stream0, DMA_IT_TE, ENABLE); DMA_ITConfig(DMA2_Stream0, DMA_IT_DME, ENABLE); DMA_ITConfig(DMA2_Stream0, DMA_IT_FE, ENABLE); и вот обработчик прерывания от таймера из за которого перестает работать дма (исключительно в целях отладки) static inline void timer_1ms_handler(void) { status_led_time_proc(); for (uint8_t i = 0; i < 45; i++) asm("nop"); } приоритеты прерываний #define IRQ_TIMER_PREEM_PRIO 15 #define IRQ_TIMER_SUB_PRIO 0 #define IRQ_TFT_DMA_TC_PREEM_PRIO 0 #define IRQ_TFT_DMA_TC_TIMER_SUB_PRIO 0 Буду благодарен за идеи.
  8. Актуально. Есть свободное время и желание. Предложения на мыло nikos5508@gmail.com или в личку.
  9. Добрый день. Пришлите ТЗ на nikos5508@gmail.com
  10. Актуально. Есть свободное время и желание. Предложения на мыло nikos5508@gmail.com или в личку.
  11. CAN роутер для UART

    Можно ТЗ на nikos5508@gmail.com
  12. AnatolyT, а у вас есть контакты производителей в Китае?
  13. vladec, MrYuran спасибо за ссылки.
  14. Добрый день. Интересует изготовление пленочной клавиатуры. Планируем использовать как переднюю панель прибора. Вот то, что планируем получить: 1. 4 кнопки. 2. один светодиод. 3. Семи сегментные индикаторы. 4 знакоместа с точками. (можно 14 сегментные или 16 сегментные индикаторы). 4. Декоративное оформление, можно и в двух цветах (возможность напечатать логотип и всякие дизайнерские штучки). 5. Размеры примерно 5х5 см. Интересует стоимость изготовления такой клавиатуры, какая документация нужна (только дизайн или и "разводка" тоже), сколько в итоге будет стоять один экземпляр или партия. Территориально - Украина. Спасибо.
  15. Вышлите пожалуйста тз на nikos5508@gmail.com