Например TDA7294

Форум РадиоКот • Просмотр темы - stm32f051 (или другой) запись получение файла и запись
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Сб апр 20, 2024 17:24:28

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: stm32f051 (или другой) запись получение файла и запись
СообщениеДобавлено: Вт июл 05, 2016 23:08:44 
Родился

Зарегистрирован: Вт июл 05, 2016 15:02:03
Сообщений: 12
Рейтинг сообщения: 0
привет
подскажите может есть где примерчик как получать по USART файл и записывать его во Flash (получается я хочу получать файл и прошивать часть АРМа).
с USART'ом я работать умею (точнее отправляю текст и получаю его обратно), но никак не могу смекнуть как поступать в случае передачи файла (динамически надо переменную под передачу делать?).
и потом еще не могу уразуметь как записывать получаемый файл во Flash
пока вот такой набросок по записи:
void WriteToFlash(unsigned char data){
HAL_FLASH_Unlock();
HAL_FLASH_Program_IT(FLASH_TYPEERASE_PAGES TYPEERASEDATA_WORD, 0x800A000, 0xffff);
HAL_FLASH_Program_IT(TYPEPROGRAMDATA_WORD, &data, ControllerConfig.powerBias);
HAL_FLASH_Lock();
}


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: stm32f051 (или другой) запись получение файла и запись
СообщениеДобавлено: Пт авг 05, 2016 15:05:09 
Родился

Зарегистрирован: Вт июл 05, 2016 15:02:03
Сообщений: 12
Рейтинг сообщения: 0
и с UART, как оказалось, я не умею
данные получаю и потом отправляю
но на комп приходит не все
да еще и с отставанием в одну отсылку


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: stm32f051 (или другой) запись получение файла и запись
СообщениеДобавлено: Пт авг 05, 2016 15:11:22 
Родился

Зарегистрирован: Вт июл 05, 2016 15:02:03
Сообщений: 12
Рейтинг сообщения: 0
где я тут напортачил?
Спойлер
Код:
#define USART_BUFFER_SIZE                                    16
unsigned char usartBuf[USART_BUFFER_SIZE];

HAL_StatusTypeDef HAL_UART_Receive_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size);
HAL_StatusTypeDef HAL_UART_Transmit_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size);


void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart){
   uint16_t len = huart->RxXferSize;
   uint8_t *d = huart->pRxBuffPtr;
   
   if((uint32_t)huart->Instance == (uint32_t)USART1){
         HAL_GPIO_WritePin(GPIOC, GPIO_PIN_8, GPIO_PIN_RESET);
         HAL_GPIO_WritePin(GPIOC, GPIO_PIN_9, GPIO_PIN_SET);
      
      // ЕСЛИ счетчик получателя обнулился, то данные получены все и
         if(huart->RxXferCount == 0){
            // передаем данные обратно отправителю
               HAL_UART_Transmit_IT(&huart1, &usartBuf[0], USART_BUFFER_SIZE);
            
            HAL_GPIO_WritePin(GPIOC, GPIO_PIN_9, GPIO_PIN_RESET);
            HAL_GPIO_WritePin(GPIOC, GPIO_PIN_8, GPIO_PIN_SET);
         }
   }
   
   // инициализируем получатель для получения новой порции данных
   HAL_UART_Receive_IT(huart, &usartBuf[0], USART_BUFFER_SIZE);
}

void UartReceive(void){
  static uint8_t * pRxBuffPtr;
  static int UartInit=0;
  if (!UartInit) {
    pRxBuffPtr = &usartBuf[0]; // получаем указатель на данные
      // передаем в получатель указатель на данные и допустимый размер для данных
      HAL_UART_Receive_IT(&huart1, pRxBuffPtr, USART_BUFFER_SIZE);
    UartInit = 1;
  }
  // проверяем, если у нас адрес на данные изменился, то
  while (pRxBuffPtr != huart1.pRxBuffPtr) {
    // инкрементим адрес
    pRxBuffPtr++;
      // И ЕСЛИ адрес сохраненный ранее РАВЕН адресу последней ячейки массива, то
    if (pRxBuffPtr == &usartBuf[0] + USART_BUFFER_SIZE) {
         // заменяем адрес на начальную ячейку
      pRxBuffPtr = &usartBuf[0];
    }
  }
}


на картинке во вложении розовым - отправленная последовательность на АРМ
черным - принятая от АРМа

куда теряются и почему сразу все не передается?


Вложения:
Безымянный.png [22.96 KiB]
Скачиваний: 315
Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: stm32f051 (или другой) запись получение файла и запись
СообщениеДобавлено: Сб авг 06, 2016 13:07:25 
Друг Кота
Аватар пользователя

Карма: 30
Рейтинг сообщений: 155
Зарегистрирован: Пн июл 28, 2008 22:12:01
Сообщений: 3604
Рейтинг сообщения: 0
Ключевое слово -hal.


Вернуться наверх
 
Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: stm32f051 (или другой) запись получение файла и запись
СообщениеДобавлено: Чт авг 18, 2016 16:51:20 
Родился

Зарегистрирован: Вт июл 05, 2016 15:02:03
Сообщений: 12
Рейтинг сообщения: 0
но hal ведь сам производитель делает
и полагаю наиболее актуальное, чем spl


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: stm32f051 (или другой) запись получение файла и запись
СообщениеДобавлено: Чт авг 18, 2016 19:39:58 
Друг Кота
Аватар пользователя

Карма: 30
Рейтинг сообщений: 155
Зарегистрирован: Пн июл 28, 2008 22:12:01
Сообщений: 3604
Рейтинг сообщения: 0
И кал и спл в топку, скачайте сниппетсы и смотрите примеры кода в конце RM ...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: stm32f051 (или другой) запись получение файла и запись
СообщениеДобавлено: Вт авг 30, 2016 20:09:32 
Родился

Зарегистрирован: Вт июл 05, 2016 15:02:03
Сообщений: 12
Рейтинг сообщения: 0
dosikus писал(а):
, скачайте сниппетсы и смотрите примеры кода в конце RM ...

не вижу, они точно на сайте st ?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: stm32f051 (или другой) запись получение файла и запись
СообщениеДобавлено: Пн сен 19, 2016 07:30:58 
Друг Кота
Аватар пользователя

Карма: 30
Рейтинг сообщений: 155
Зарегистрирован: Пн июл 28, 2008 22:12:01
Сообщений: 3604
Рейтинг сообщения: 1
Хоть и поздно, но ...

http://www.st.com/content/st_com/en/pro ... tId=LN1898

Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: stm32f051 (или другой) запись получение файла и запись
СообщениеДобавлено: Пн июн 05, 2017 23:42:36 
Родился

Зарегистрирован: Вт июл 05, 2016 15:02:03
Сообщений: 12
Рейтинг сообщения: 0
решена задача
под виндами буфер мешал
реализовал свой протокол и все взлетело

всем спасибо


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 9 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 16


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y