Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры ARM, Cortex, STM32
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.81/26: Рейтинг темы: голосов - 26, средняя оценка - 4.81
rid-30
0 / 0 / 0
Регистрация: 25.01.2016
Сообщений: 34
1

STM32F4+ADC+SDcard

20.06.2016, 15:07. Просмотров 4672. Ответов 1
Метки нет (Все метки)

Всем доброго времени суток! Помогите пожалуйста разобраться в чем ошибка. Если пишу так всё работает на карте оказывается 2000000 оцифровок как и задумано:
Код
   uint16_t UserData;
uint8_t UserData1,UserData2;
while (1)
{
if(t<2000000) //
{
t++;
ADC1->SR=0;
ADC1->CR2|=ADC_CR2_SWSTART;
UserData=ADC1->DR;
UserData1=UserData >> 8;
UserData2=UserData;
res = f_write(&testFile, &UserData1, 1, &testBytes);
res = f_write(&testFile, &UserData2, 1, &testBytes);
}
}
Но если я пишу так записывается только часть значений:
Код
uint8_t array[2];
int pdb=0;
while (1)
{
if(t<2000000) //
{
t++;
ADC1->SR=0;
ADC1->CR2|=ADC_CR2_SWSTART;
UserData=ADC1->DR;
array[pdb]=UserData >> 8;
pdb++;
array[pdb]=UserData;
pdb=0;
res = f_write(&testFile,array, 2, &testBytes);
}
}
Пробывал забивать буфер по 512 значений и записывать, так же не работает как и во втором случае:
Код
   if(t<2000384) //
{
t++;
ADC1->SR=0;
ADC1->CR2|=ADC_CR2_SWSTART;
UserData=ADC1->DR;
array[pdb]=UserData >> 8;
pdb++;
array[pdb]=UserData;
pdb++;
if (pdb==512)
{
pdb=0;
res = f_write(&testFile, array, 512, &testBytes);
}
}
Может я вообще не так что делаю? Задача состоит в том чтобы по прерыванию, каждые 6мкс снимать значения с АЦП, и потом эти 2000000 значений писать на флешку. Пока пытался просто писать 2000000 значений на флешку, не получается(
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.06.2016, 15:07
Ответы с готовыми решениями:

stm32f4 + ADC + DMA
Доброго времени суток. Вопрос такой... Сделал АЦП на плате ф4дискавери, и получается что когда...

STM32F4 ADC USB
Всем доброго времени суток! Вообщем столкнулся с такой проблемой. Задача состоит в том чтобы на...

STM32F4 i2S ADC\DAC
Доброго времени суток. Есть внешний кодек : ацп + цап. Отдает и принимает данные по i2s (WS,...

STM32F4 Dual ADC mode
Не могу найти как работать dual ADC mode, что бы одновременно стартовать 2 АЦП и снимать с них...

STM32F4 + ADC + TIMER + DMA
void TIM8_Config() { TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; ...

1
rid-30
0 / 0 / 0
Регистрация: 25.01.2016
Сообщений: 34
21.06.2016, 14:45 2
Может у кого-нибудь есть пример передачи данных на SD-катру посылкой в 512 байт?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.06.2016, 14:45

Таймер, ADC и DMA на STM32F4 (Discovery)
Привет всем. Надо запускать ADC1 по таймеру. По мотивам доки и форумов написал следующее -...

Инжектрированные каналы АЦП (ADC) в STM32F4 Discovery
Здравствуйте формучане, возникла задача настроить инжектированные каналы АЦП в STM32F4 Dyscovery....

STM32F4 ADC режимы работы. Помогите разобраться
Здравствуйте! Я начал разбираться с АЦП на STM32F4Dyscovery. Вычитал, что у АЦП существуют два...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru