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

Внешний Цап На Stm32F4


RF-081

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

Здравствуйте, очень нужна помощь, в интернете ничего не нашел понятного для себя, на порт E stm32f407vgt6 повесил 12 разрядный цап AD9762ARUZ? пины соединил 0-0, 1-1, ... 11-11, а пин 12 порта E кинул на пин clock AD9762, заводить этот цап я думаю надо так, установить пин 12 в 0, записать данные в регистр ODR, установить пин 12 в 1 и т.д. данные у меня в виде двухбайтовых шестнадцати разрядных чисел, т.е. выходит что пин 12 надо было на другой порт вешать, но это поправимо, мне неясно только одно, помимо настроек порта E надо всего лишь взять и написать

GPIO_ResetBits(GPIOE, GPIO_Pin_12);
GPIOE->ODR = переменная_содержащая_данные_для_вывода;
GPIO_SetBits(GPIOE, GPIO_Pin_12);												   ????????????????  настройки я сделал следующие

// Активируем татирование порта E
 RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOE, ENABLE);

 /* Конфигурируем пины PD0 - PD12 в режиме вывода pushpull*/
 gpio.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1| GPIO_Pin_2| GPIO_Pin_3| GPIO_Pin_4| GPIO_Pin_5| GPIO_Pin_6| GPIO_Pin_7| GPIO_Pin_8| GPIO_Pin_9| GPIO_Pin_10| GPIO_Pin_11| GPIO_Pin_12;
 gpio.GPIO_Mode = GPIO_Mode_OUT; //Выход
 gpio.GPIO_OType = GPIO_OType_PP; // pushpull
 gpio.GPIO_Speed = GPIO_Speed_100MHz; // рабочая частота выхода (посути определяет время реакции)
 gpio.GPIO_PuPd = GPIO_PuPd_NOPULL; // без подтяжки
 GPIO_Init(GPIOE, &gpio); // Непосредсвенно применям настройки порта  

Я попробовал завести устройство, до этого экспериментировал со встроенным цапом, но в задании надо именно внешний запустить, и он почему то не заработал, в чем я ошибся?

uart работает так как я по нему принимал данные на встроенный цап, а вот с внешним что то не так...

AD9762.pdf

main.txt

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

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

Обвязка ЦАП по даташиту сделана?

Работоспособность каким образом проверяли?

У этого ЦАП выходным сигналом является ток, у встроенного в Discovery - напряжение. Способы проверки отличатся будут.

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

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

не учел что ток на выходе ... обвязка по даташиту, но самое главное я для проверки отдельно инициализировал ногу на GPIOE Pin14 чтобы зажигал диод, диод не загорался, напряжение на ноге не выставлялось ... сегодня с аспирантом поговорил, проверили на отладчике, инициализацию не проходила ... проходить инициализацию я его заставил, дальше буду завтра проверять.

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

  • 2 недели спустя...

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

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

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

Все нормально, у вас программа написана не правильно, тактирование UART4 подаете, а прерывания на 1 разрешаете, обработчика прерывания нет, подтяжку порта PA1 отключите - т.к. включили пушпульный выход, типы переменных для читаемости (и для контроллера надо явно указывать и придерживаться одного принципа - uint32_t, uitn16_t...) касается не только массива, в инициализации библиотек достаточно одного файла #include "stm32f4xx.h" в котором на строке №7116 подключается #include "stm32f4xx_conf.h" именно в ней вся периферия, и еще один хидер нужен - stdint.h их можно в примерах найти, если работаете с библиотеками, что касается майна - вы хотите считать с USARTA данные и передать их в регистр порта Е, на 12 ноге будет устанавливаться 1 затем 0 но данные будут одни и те же - data[uart_data] = readbyte(); вызывается один раз, массив в цикле на 1 в цикле должен быть меньше, (массивы начинаются с 0, матрицы с 1) http://www.chitay.org/c/04/0401.htm в чем программу пишете?

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

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

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

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

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

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

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

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

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

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

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