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

Отправить Данные На Stm32F4


Гость Дмитрий

Рекомендуемые сообщения

у stm32f407vgt6 флеш память 1 Мб мне сказали что скорость передачи поменьше ставь и контроллер сам запихает все в память и типа проблем не будет, главное чтобы переполнения буфера обмена не было...

Ссылка на комментарий
Поделиться на другие сайты

  • Ответов 53
  • Создана
  • Последний ответ

Топ авторов темы

Топ авторов темы

Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650

Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. 

Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Да это я про скорость (ваш пост 26): сначала вы пишите, то что я процитировал, потом какие-то разговоры про уменьшение скорости (я так понял, чтобы МК успевал отправлять данные на ЦАП). Если память 1Мб, то и загоняйте ВСЮ последовательность в МК на ЛЮБОЙ скорости, а уж потом пусть МК делает с полученными данными что вам надо.

Ссылка на комментарий
Поделиться на другие сайты

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

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. 

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

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Литиевые батарейки и аккумуляторы от мирового лидера  EVE в Компэл

Компания Компэл, официальный дистрибьютор EVE Energy, бренда №1 по производству химических источников тока (ХИТ) в мире, предлагает продукцию EVE как со склада, так и под заказ. Компания EVE широко известна в странах Европы, Америки и Юго-Восточной Азии уже более 20 лет. Недавно EVE была объявлена поставщиком новых аккумуляторных элементов круглого формата для электрических моделей «нового класса» компании BMW.

Продукция EVE предназначена для самого широкого спектра применений – от бытового до промышленного. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

У Вас в распоряжение целый STM32F4 там даже изобретать ни чего не надо, есть встроеный DAC. Смотрите здесь http://easystm32.ru/for-beginners/37-dac-stm32 и подробнее здесь http://chipspace.ru/stm32-dac-1/ , только переферию надо переконфигурить в соответствии с ядром.

Ссылка на комментарий
Поделиться на другие сайты

Слишком много лишнего получается, AD9762 ни к чему ставить. В самом МК на шине APB1 висят 2 12 разрядных ЦАПа, которые необходимо просто включить. Исходя из вашего тех.задания вырисовывается следующая картинка: На МК включаем UART, формируем массив на МК, куда с компа с помощью интерфейсной программы помещаем вычисленные значения. Дальше включаем DAC и DMA и зацикливаем программу. Можно на выход DAC простой ФНЧ прикрутить. Читайте вторую ссылку поста 31 там эта задача уже решена.

Ссылка на комментарий
Поделиться на другие сайты

Помогите пожалуйста, между ногой PA13 и землей у меня напряжение питания, а между ногой PA14 и землей практически ноль, плата не прошивается, когда пытаюсь прошить то в какой то момент на плате stm32f4-discovery красный светодиод COM моргает один раз зеленым и все... CooCox показывает ошибку. всю ночб сидел звонил дорожки, все на месте,вообще такое было недавно в лаборатории универа с аспирантом четыре часа с этой проблемой парились, все прозвонили, сверили с рабочей платой каждую ногу на моей... заменили МК и уже не знали что делать и вдруг плата начала читаться, естественно и шлейф прозванивали и все что только можно, плата стала стабильно читаться а теперь вот снова не хочет, я всю ночь не спал.... что делать?

Ссылка на комментарий
Поделиться на другие сайты

не помогает ... что то с платой... потому что discovery работает как положено, а когда свою подсоединяю пишет ошибку соединения.... boot0 дожен на земле сидеть? ресет на питании или на земле? cap1 и cap2 через электролиты на землю?

Ссылка на комментарий
Поделиться на другие сайты

Подскажите пожалуйста, UART4 каким образом включить, ведь для мк usart и uart это разные вещи? во всяком случае usart и uart имеют разные ноги на компе, как быть с инициализацией?

Ссылка на комментарий
Поделиться на другие сайты

везде пишут про то что они отличаются режимами и при асихронном режиме т.е. например с FT232RL там совсем не важно, но как правильно описать в программе чтобы контроллер понял что я использую uart4. мне говорят что надо как в библиотеке писать только ноги описывать и указывать те (на моем примере А0 и А1), которые висят на FT232, хотя мне на самом деле достаточно принимающей ноги А1

Ссылка на комментарий
Поделиться на другие сайты

Как вариант:

//тут смотрите на какой шине сидит Ваш ЮАРТ и ее включаете
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);

// Настраиваем ножки контроллера, тут все понятно
// ножки перенастраиваете под используемый юарт
GPIO_StructInit(&gpio);

gpio.GPIO_Mode = GPIO_Mode_AF;
gpio.GPIO_Pin = GPIO_Pin_9;
gpio.GPIO_Speed = GPIO_Speed_50MHz;
gpio.GPIO_OType = GPIO_OType_PP;
gpio.GPIO_PuPd = GPIO_PuPd_UP;
GPIO_Init(GPIOA, & gpio);

gpio.GPIO_Mode = GPIO_Mode_AF;
gpio.GPIO_Pin = GPIO_Pin_10;
gpio.GPIO_Speed = GPIO_Speed_50MHz;
gpio.GPIO_OType = GPIO_OType_PP;
gpio.GPIO_PuPd = GPIO_PuPd_UP;
GPIO_Init(GPIOA, & gpio);

// Обязательно вызываем эту функцию
GPIO_PinAFConfig(GPIOA, GPIO_PinSource9, GPIO_AF_USART1);
GPIO_PinAFConfig(GPIOA, GPIO_PinSource10, GPIO_AF_USART1);

// Настраиваем модуль USART
// настройка модуля, скорости, четности и т.д.
USART_StructInit(&usart);
usart.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
usart.USART_BaudRate = 9600;
USART_Init(USART1, &usart);

// Включаем прерывания и запускаем USART
NVIC_EnableIRQ(USART1_IRQn);
USART_Cmd(USART1, ENABLE);

Ссылка на комментарий
Поделиться на другие сайты

GPIO_StructInit(&gpio); и USART_StructInit(&usart); по моему не нужны, сделал так

GPIO_InitTypeDef gpio;

USART_InitTypeDef usart;

а после GPIO_StructInit(&gpio); и USART_StructInit(&usart); стер из кода программы. ошибки пропали, буду прошивать, проверять.

Ссылка на комментарий
Поделиться на другие сайты

по uart не удалось принять данные, много перепробовал, перемучился, потом в один прекрасный момент померил напряжение питания на FT232RL а оно вместо 5 всего 3.5 вольт в общем сегодня купил детали, починю бп потом отпишусь.

Ссылка на комментарий
Поделиться на другие сайты

снова бьюсь с кодом, если я сигнал генерю программно то все хорошо, цап работает а если пытаюсь через uart4 передать то какая то борода выходит, не могу не передать ни принять, щас скину код как я пытался завести uart

#include "stm32f4xx_gpio.h"

#include "stm32f4xx.h"

#include "stm32f4xx_usart.h"

#include "stm32f4xx_rcc.h"

#include "stm32f4xx_dac.h"

//Функция предназначена для формирования небольшой задержки

void Delay(void) {

volatile uint32_t i;

for (i=0; i != 0x70000; i++);

}

//Функция отправляющая байт в UART

void send_to_uart(uint8_t data) {

while(!(UART4->SR & USART_SR_TC)); //Ждем пока бит TC в регистре SR станет 1

UART4->DR=data; //Отсылаем байт через UART

}

int main(void) {

GPIO_InitTypeDef PORTA_init_struct;

// Включаем тактирование порта А и USART1

RCC_APB1PeriphClockCmd(RCC_AHB1Periph_GPIOA | RCC_APB1Periph_UART4, ENABLE);

// Настраиваем ногу TxD (PA9) как выход push-pull c альтернативной функцией

PORTA_init_struct.GPIO_Pin = GPIO_Pin_0;

PORTA_init_struct.GPIO_Speed = GPIO_Speed_25MHz;

PORTA_init_struct.GPIO_Mode = GPIO_Mode_AF;

GPIO_Init(GPIOA, &PORTA_init_struct);

//Настраиваем UART

UART4->BRR=0x9c4; //BaudRate 9600

UART4->CR1 |= USART_CR1_UE; //Разрешаем работу USART1

UART4->CR1 |= USART_CR1_TE; //Включаем передатчик

//Все остальные параметры (стоп биты, чётность,кол-во байт данных) уже настроены

//как надо, (во все эти биты по умолчанию записаны нули), таким образом мы имеем

// скорость 9600 1 стоп бит, 8 бит данных, без проверки чётности

while(1) {

//Выдаем в UART слово Hello

send_to_uart('H');

send_to_uart('e');

send_to_uart('l');

send_to_uart('l');

send_to_uart('o');

send_to_uart(' ');

send_to_uart(':');

send_to_uart(')');

send_to_uart('\n');

Delay(); //небольшая задержка

}

}

Ссылка на комментарий
Поделиться на другие сайты

Поздравляю! :drinks:

Один вопрос: чем формируешь данные, прогу написал уже? Все-таки 212 уровней и 30 килоотсчетов поместить на экран монитора-задачка - масштабировать надо и не потерять при этом...

Изменено пользователем КЭС
Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...