Salamander 2 1 мая, 2013 Опубликовано 1 мая, 2013 (изменено) · Жалоба Господа, пытаюсь подружиться с DAC в STM32F103RET6 (64 ноги). Вот код: const uint16_t sin[32] = { 2047, 2447, 2831, 3185, 3498, 3750, 3939, 4056, 4095, 4056, 3939, 3750, 3495, 3185, 2831, 2447, 2047, 1647, 1263, 909, 599, 344, 155, 38, 0, 38, 155, 344, 599, 909, 1263, 1647}; unsigned char i=0; ........ RCC_APB1PeriphClockCmd(RCC_APB1Periph_DAC, ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN; GPIO_Init(GPIOA, &GPIO_InitStructure); DAC->CR |= DAC_CR_EN1; while(1) { DAC->DHR12R1=sin[i++]; if (i==32) i=0; delay_us(10); } На выходе получаю синусоиду от 1.5 до 2.3 вольт. Пытаюсь разобраться, как же она расчитывается - в формуле фигурирует Vref. А у указанного контроллера такой ножки нет. Как быть? Мне надо полноразмерную синусоиду. Изменено 1 мая, 2013 пользователем Salamander Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Aner 4 1 мая, 2013 Опубликовано 1 мая, 2013 · Жалоба Vref внутренний, 1.2 вольта. Поищите в даташите сказано как использовать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Salamander 2 2 мая, 2013 Опубликовано 2 мая, 2013 · Жалоба прошелся поиском по Vref по всем 1000 страницам даташита - нет этого. Написано только, что в 64pin версиях Vref+ внутри соединен с Vdda Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alag57 0 2 мая, 2013 Опубликовано 2 мая, 2013 · Жалоба прошелся поиском по Vref по всем 1000 страницам даташита - нет этого Это вы по Reference manual-у смотрели. Даташит CD00191185.pdf стр.44 табл.13 - 1.2V Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 2 мая, 2013 Опубликовано 2 мая, 2013 · Жалоба В качестве опорного напряжения для АЦП и ЦАП используется Vref+. В корпусах с малым количеством выводов эта цепь подключена к питанию Vdda, которое, обычно цепляют к источнику Vdd (потом плачутся, что шумит АЦП). Vrefint - это внутренний источник напряжения, который можно использовать при относительных измерениях - сначала измерил что-то, потом - внутренний источник, сравнил. К ЦАПам отношения не имеет. Примерно, так представляю... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SeregaB 0 15 мая, 2013 Опубликовано 15 мая, 2013 · Жалоба Господа, пытаюсь подружиться с DAC в STM32F103RET6 (64 ноги). Вот код: На выходе получаю синусоиду от 1.5 до 2.3 вольт. Пытаюсь разобраться, как же она расчитывается - в формуле фигурирует Vref. А у указанного контроллера такой ножки нет. Как быть? Мне надо полноразмерную синусоиду. Выходной буфер включен? /* DAC channel1 Configuration */ DAC_InitStructure.DAC_Trigger = DAC_Trigger_None; DAC_InitStructure.DAC_WaveGeneration = DAC_WaveGeneration_None; DAC_InitStructure.DAC_OutputBuffer = DAC_OutputBuffer_Enable; DAC_Init(DAC_Channel_1, &DAC_InitStructure); DAC_Cmd(DAC_Channel_1, ENABLE); Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться