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

Проверка работоспособности stm32

Прошивка на плате-1 работает нормально(DAC/ADC), шьем аналогом st-link.

Лог результата закачки прошивки будет завтра.

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


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

если лог одинаковый, то все незадача все равно в прошиве. походу на плате 2 есть некая причина, которая вызывает клин STM32. это скорей всего не связано с DAC/ADC и просто совпадает по времени - нужно последовательно исключать блоки программы, оставляя только DAC/ADC часть. Весьма частая причина клина STM32 - непрочитанная errata на камень ;)

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


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

Странно очень, а DAC на других пинах интересно работает?

 

Проверял DAC 1/2, ацп 1/2 (второй канал ацп не проходит калибровку - в дебаггере не идет дальше)

Везде пусто.

ps порт С как вход при этом работает нормально.

сори, походу не работает на других пинах

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


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

я бы написал/взял простой пример для DAC и прошил в обе платы, а так можно гадать долго

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


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

Доброго времени!

 

Заливаем на плату 1 и 2 след прошивку. Прошу прощение за закорючки, это CoIDE, CooCox последней версии отображает кириллицу. пока чет это не пофиксили. Тем не менее обе через SWD. Первая выдает белый шум с PA4 вторая с того же порта "молчит".

 

#include "stm32f10x.h"
#include "stm32f10x_rcc.h"
#include "stm32f10x_gpio.h"

int main(void) {
    GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);
  /* Включаем РїРѕСЂС‚ Рђ */
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
  /* Включаем ЦАП */
  RCC_APB1PeriphClockCmd(RCC_APB1Periph_DAC, ENABLE);
  /* Включаем таймер 6 */
  RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM6,ENABLE);

  /* Настраиваем РЅРѕРіСѓ ЦАПа */
  GPIO_InitTypeDef GPIO_InitStructure;
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;
  GPIO_Init(GPIOA, &GPIO_InitStructure);

  /* Настраиваем таймер так чтоб РѕРЅ тикал почаще */
  TIM6->PSC = 0;
  TIM6->ARR = 500;
  TIM6->CR2=TIM_CR2_MMS_1; /* Таймер будет источником событий для ЦАПа */
  TIM6->CR1 |= TIM_CR1_CEN; // Начать отсчёт!

  /* Включить DAC1 */
  DAC->CR |= DAC_CR_TEN1; /* Преобразование РїРѕ возникновению события ... */
  DAC->CR &= ~DAC_CR_TSEL1; /* ... РѕС‚ таймера 6*/
  DAC->CR |= DAC_CR_WAVE1_0; /* Генерация шума */
// DAC->CR |= DAC_CR_WAVE1_1; /* Генерация сигнала треугольной формы */
  DAC->CR |= DAC_CR_MAMP1; /* Максимальная амплитуда */
  DAC->CR |= DAC_CR_EN1; /* Включить ЦАП1 */

  /* Бесконечный цикл */
  while (1)
  {
  }
}

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


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

навскидку :

 

- не проинициализирован полностью GPIO_InitStructure - нужно или вызывать GPIO_StructInit() или заполнять все поля

- не включен клок RCC_APB2Periph_AFIO для DAC

 

VREF на второй плате думаю проверяли.

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


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

Спасибо большое! Harbour и другие

 

проблема была в "висящих" ножках + подача Vref от внешнего источника

 

 

Помогите разобраться с ЦАП и АЦП, возможно ли их сделать биполярными?

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


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

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

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

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

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

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

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

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