Yura_4ixpaR

Как Вывести На Цап Stm32L152Rb Переменную?

5 сообщений в этой теме

Yura_4ixpaR    0

Доброго времени суток. Помогите разобраться с ЦАП на STM32.

Выглядит проект так: к МК STM32 подключен LCD экран, матричная клавиатура 4х3 и аналоговый выход под динамик. Суть - вводится с помощью клавиатуры какой-то набор из 6 цифр на клавиатуре (они же выводятся на экран для наглядности), когда цифры введены - идет генерация шума, что выводится на динамики.

Пример, необходимо вывести случайный бит на ЦАП от хеша тех цифр, что мы ввели на клавиатуре. Так я записываю эти цифры в переменную "Pass", подключаю криптографическую библиотеку, беру от переменной хеш и записываю случайный его бит во вторую переменную "retval", подключаю таймер "TIM6" и включаю ЦАП "DAC->CR |= DAC_CR_EN1", пишу такую команду "DAC->DHR12L1 = retval;" чтоб отправить эту переменную на левый канал ЦАП, но на выходе - тишина.

Ссылка на проект на dropbox - https://www.dropbox.com/sh/c6mrkjpv2lb5yns/n5hsPQgNNO (проект в Keil - Projects\Current\MDK-ARM\STM32L-Discovery.uvproj)

Подскажите, что я не досмотрел, как это исправить и как можно улучшить данный проект. Спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
swat24    9

После введения переменной и получения хеша, Вы через определенный промежуток времени берете определенный бит и записываете его в ЦАП? Если да, то если бит установлен надо записывать в регистр ЦАПа хотя бы 2048 (если цап 12 битный). Иначе у Вас будет какие то миливольты на выходе. И то не факт что вообще что то будет. Шум Вы точно не услышите....

и какого типа у Вас переменная "retval" ? битовая? как тогда отреагирует компилятор на попытку записать в регистр ЦАПа битовую переменную? Смотрели в отладчике, что записывается в регистр?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Yura_4ixpaR    0

retval - int32_t, посмотреть в дебагере не могу, он отключается когда доходит до цикла, ввода с клавиатуры. Ввод происходит не по прерываниям.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Вуйко    18

После записи данных в регистр ЦАП нужно еще дать ему команду установки этих данных.

Для F100 серии это выглядит так:

DAC_SoftwareTriggerCmd(DAC_Channel_1, ENABLE);

Либо устанвкой битов SWTRIG1/SWTRIG2 в DAC_SWTRIGR регистре.

Какой вид будет иметь данная команда для L100 посмотрите в периферийной библиотеке либо в даташите.

Изменено пользователем Вуйко

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
UTSource

Найдите миллионы труднодоступных

электронных компонентов

Yura_4ixpaR    0

Спасибо, DAC->SWTRIGR |= DAC_SWTRIGR_SWTRIG1; помогла, но выводится синус, и я не вижу в нем никакой случайности =/

Но это уже другая проблема. Спасибо.

Поделиться сообщением


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

Ваша публикация должна быть проверена модератором

Гость
Вы не авторизованы. Если у вас есть аккаунт, пожалуйста, войдите.
Ответить в тему...

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

  Разрешено не более 75 смайлов.

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

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

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

Загрузка...

  • Похожие публикации

    • Автор: neon2k
      Доброго времени!

      Делаю часы на газоразрядных индикаторах, которые питаются от 180в. Сделал плату, которая получает на вход ШИМ 30кГц и 5в, а выдает 180в.

      На Arduino сгенерировать 30кГц получалось, однако сейчас необходимо это сделать на stm32. Есть знатоки?)

      Спасибо!
    • Автор: qwer qwer
      Требуется разработать блок управления сплит-системой с функцией обучения по ИК каналу через RS-485 интерфейс на базе МК STM32. Есть ТЗ и список команд управления. Разработка в 2 этапа: 1-разработка принципиальной электрической схемы с указанием элементов на основе структурной из ТЗ (можно в карандаше), 2-написание ПО для МК STM32 в соответствии с ТЗ и списком команд. Оплата поэтапно. Кому интересно - уточняйте детали и оценивайте стоимость работы.
      Блок управления по ИК каналу Описание.docx
      Команды MODBUS.xlsx
    • Автор: Korchagin
      В наличии 2 штуки. Цена 1000 рублей за штуку. Есть одна новая плата переходника с корпуса TQPP-64 с шагом 0,5 мм на штырьковые выводы, размер 5х5 см, за дополнительную плату 120 рублей. Даташит https://ru.mouser.com/datasheet/2/609/AD1939-877013.pdf
    • Автор: Korchagin
      В наличии 2 штуки. Цена 1300 рублей за штуку. Новые в упаковке производителя.
    • Автор: getshket
      Продам ПУСТЫЕ платы для сборки цапа на AK4490. Автор плат не я, ссылка на проект. Размер ПП 100*67 мм. Цена одной платы 300 рублей. Территориально - Уфа. Отправлю почтой.