реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> stm32f АЦП, ищу Т.Мартина
SasaVitebsk
сообщение Aug 26 2010, 18:16
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Кто-нибудь видел в инете скан книги Мартина по STM32F. Что-то уж больно тяжко даётся. С АЦП до конца разобраться немогу.

Мне всего 2-3 канала читать. Хотелось бы по-простому запустить только инжекционные каналы на непрерывное измерение. и читать прямо с регистров данных. Каждый регистр - свой канал. Было бы удобно. Что-то не получается.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Aug 26 2010, 18:28
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (SasaVitebsk @ Aug 26 2010, 21:16) *
Кто-нибудь видел в инете скан книги Мартина по STM32F.

Так она отродясь спокойно раздавалась с сайта hitex после формальной регистрации. Если что, могу в почту бросить. Но Martin тонкостей никогда не давал - обзорки.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Aug 26 2010, 18:31
Сообщение #3


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Вот здесь две ссылки, на русский и англицкий варианты.


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Aug 26 2010, 18:47
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Цитата(AHTOXA @ Aug 26 2010, 21:31) *
Вот здесь две ссылки, на русский и англицкий варианты.

Обе ссылки не работают.

2 zltigo. Буду очень благодарен. sapegoal@mail.ru

Почитаю. Я уже раз 5 перечитал и несколькими способами пробовал. Но хотелось бы получше понять нюансы. А ещё с CAN разбираться. А времени в обрез.
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Aug 26 2010, 18:55
Сообщение #5


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Примерчик завтра запощу, развесистый, с DMA, запустил - и забылsmile.gif

Цитата(SasaVitebsk @ Aug 27 2010, 00:47) *
Обе ссылки не работают.

Упсsmile.gif Ну тогда вот: STM32 The insider's guide.
Русский не нагугляется что-то. Но я занычилsmile.gif Могу выслать. Надо?


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
zltigo
сообщение Aug 26 2010, 19:03
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (SasaVitebsk @ Aug 26 2010, 21:47) *
2 zltigo.

Почти 9 мег улетели. Дальше не знаю, что mail.ru скажет.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Aug 26 2010, 19:40
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Спасибо. Получил. Мне бы поближе к Reference manual-у. В общем-то я вроде как всё понимаю, но некоторые мелочи неясны. Я думал у Мартина всё разжёвано.
Go to the top of the page
 
+Quote Post
ukpyr
сообщение Aug 26 2010, 22:27
Сообщение #8


Профессионал
*****

Группа: Участник
Сообщений: 1 264
Регистрация: 17-06-08
Из: бандустан
Пользователь №: 38 347



http://www.gaw.ru/html.cgi/txt/doc/micros/...x_arh/5_1_3.htm
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Aug 27 2010, 04:05
Сообщение #9


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Обещанный пример. Настраивается сбор данных с двух каналов, внешнего, 14-го (нога C4), и внутреннего, температурного. Результаты складываются в массив adc_results[]. После настройки и запуска никаких действий не требуется, знай данные забирай:-)

CODE
#include "pin.h"

typedef Pin<'C', 4> adc_pin_14_t;

#define NUM_CHANNELS (2UL)

static uint16_t adc_results[2];

void adc_init_adc()
{
RCC->APB2ENR |= RCC_APB2ENR_ADC1EN;

adc_pin_14_t pin;
pin.Mode(ANALOGINPUT); // set pin C4 as analog input


ADC1->CR1 =
ADC_CR1_SCAN ; // turn on SCAN mode

ADC1->CR2 =
ADC_CR2_CONT | // Continuous Conversion
ADC_CR2_TSVREFE | // Temperature Sensor and VREFINT Enable
ADC_CR2_DMA | // DMA mode
ADC_CR2_EXTSEL ; // External Event Select for regular group

/**
* conversion times
*/
ADC1->SMPR2 =
(0x00 << 0*3) | // channel 0
(0x00 << 1*3) | // channel 1
(0x00 << 2*3) | // channel 2
(0x00 << 3*3) | // channel 3
(0x00 << 4*3) | // channel 4
(0x00 << 5*3) | // channel 5
(0x00 << 6*3) | // channel 6
(0x00 << 7*3) | // channel 7
(0x00 << 8*3) | // channel 8
(0x00 << 9*3) ; // channel 9

ADC1->SMPR1 =
(0x00 << (10-10)*3) | // channel 10
(0x00 << (11-10)*3) | // channel 11
(0x00 << (12-10)*3) | // channel 12
(0x00 << (13-10)*3) | // channel 13
(0x02 << (14-10)*3) | // channel 14 - 13.5 cycles
(0x00 << (15-10)*3) | // channel 15
(0x0F << (16-10)*3) | // channel 16 - 239.5 cycles
(0x00 << (17-10)*3) ; // channel 17

/**
* channels sequence:
*/

ADC1->SQR3 =
14 << (0 * 5) | // pos 1 -- ch 14
16 << (1 * 5) | // pos 2 -- ch 16
0 << (2 * 5) | // pos 3
0 << (3 * 5) | // pos 4
0 << (4 * 5) | // pos 5
0 << (5 * 5) ; // pos 6

ADC1->SQR2 =
0 << (0 * 5) | // pos 7
0 << (1 * 5) | // pos 8
0 << (2 * 5) | // pos 9
0 << (3 * 5) | // pos 10
0 << (4 * 5) | // pos 11
0 << (5 * 5) ; // pos 12

ADC1->SQR1 =
0 << (0 * 5) | // pos 13
0 << (1 * 5) | // pos 14
0 << (2 * 5) | // pos 15
0 << (3 * 5) | // pos 16
(NUM_CHANNELS-1) << 20;

// enable ADC1
ADC1->CR2 |= ADC_CR2_ADON;

// reset calibration
ADC1->CR2 |= ADC_CR2_RSTCAL;
while (ADC1->CR2 & ADC_CR2_RSTCAL) ;

// perform calibration
ADC1->CR2 |= ADC_CR2_CAL;
while (ADC1->CR2 & ADC_CR2_CAL) ;

// software start ADC conversion
ADC1->CR2 |= ADC_CR2_EXTTRIG | ADC_CR2_SWSTART;
}

void adc_setup_dma()
{
RCC->AHBENR |= RCC_AHBENR_DMA1EN;

DMA1_Channel1->CCR =
DMA_CCR1_CIRC | // Circular mode
DMA_CCR1_MINC | // Memory increment mode
DMA_CCR1_PSIZE_0 | // Peripheral size = halfword
DMA_CCR1_MSIZE_0 | // Memory size = halfword
DMA_CCR1_PL_0 ; // Channel Priority level

DMA1_Channel1->CNDTR = 2;

// Peripheral address
DMA1_Channel1->CPAR = (uint32_t)&ADC1->DR;

// Memory address
DMA1_Channel1->CMAR = (uint32_t)&adc_results;

// enable DMA channel.
DMA1_Channel1->CCR |= DMA_CCR1_EN;
}

void adc_init()
{
RCC->APB2ENR |= RCC_APB2ENR_ADC1EN;
adc_setup_dma();
adc_init_adc();
}


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
dimka76
сообщение Aug 27 2010, 05:29
Сообщение #10


developer
****

Группа: Свой
Сообщений: 902
Регистрация: 12-04-06
Из: Казань
Пользователь №: 16 032



Цитата(AHTOXA @ Aug 26 2010, 22:55) *
Русский не нагугляется что-то. Но я занычилsmile.gif Могу выслать. Надо?


а мне не могли бы выслать? (dimka76<собака>rambler.ru )


--------------------
Все может быть и быть все может, и лишь того не может быть-чего уж точно быть не может, хотя..и это может быть.
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Aug 27 2010, 05:51
Сообщение #11


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Вечерком, сейчас нет под рукой.


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
dessel
сообщение Sep 16 2010, 18:38
Сообщение #12





Группа: Новичок
Сообщений: 4
Регистрация: 16-09-10
Пользователь №: 59 528



Цитата(AHTOXA @ Aug 27 2010, 09:51) *
Вечерком, сейчас нет под рукой.


Скиньте мне тоже пожалуйста мануал на русском, буду очень признателен.
dorsk-81(собака)mail.ru
Go to the top of the page
 
+Quote Post
Maximm
сообщение Sep 16 2010, 20:06
Сообщение #13


Частый гость
**

Группа: Свой
Сообщений: 157
Регистрация: 7-10-07
Из: Санкт-Петербург
Пользователь №: 31 137



Может на FTP местный выложите русскую версию, многим думаю было бы полезно...


--------------------
Если работает через раз - значит не работает!
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Sep 16 2010, 20:35
Сообщение #14


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



dessel, отправил.
На фтп тоже выложил, в папку /upload/DOC/ARM/STM32/


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
Zandy
сообщение Sep 21 2010, 19:27
Сообщение #15


Частый гость
**

Группа: Свой
Сообщений: 153
Регистрация: 5-03-05
Из: Москва
Пользователь №: 3 098



Антоха, а можно и мне? (по старой памяти на про-радио) на zandya(собака)yandex.ru
На FTP, к сожалению, у меня доступа нет.
Go to the top of the page
 
+Quote Post
AndreyKeil
сообщение Sep 26 2010, 18:02
Сообщение #16


Частый гость
**

Группа: Свой
Сообщений: 96
Регистрация: 16-11-05
Из: г.Екатеринбург
Пользователь №: 10 930



Цитата(AHTOXA @ Aug 27 2010, 10:05) *
Обещанный пример. Настраивается сбор данных с двух каналов, внешнего, 14-го (нога C4), и внутреннего, температурного. Результаты складываются в массив adc_results[]. После настройки и запуска никаких действий не требуется, знай данные забирай:-)

А где у Вас описано что такое "ADC_CR1_SCAN", "ADC_CR2_CONT",..и другие константы? Хотелось бы знать, что это такое. smile.gif
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Sep 26 2010, 18:24
Сообщение #17


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



А это не у меня, это у ST:)
Файл stm32f10x.h, из STM32F10x Standard Peripheral Library.


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
AndreyKeil
сообщение Sep 27 2010, 17:26
Сообщение #18


Частый гость
**

Группа: Свой
Сообщений: 96
Регистрация: 16-11-05
Из: г.Екатеринбург
Пользователь №: 10 930



А что означает строка:
typedef Pin<'C', 4> adc_pin_14_t; ?
...ни разу не встречал blink.gif
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Sep 27 2010, 18:10
Сообщение #19


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



А про это написано вот тут smile.gif


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 28th June 2025 - 13:24
Рейтинг@Mail.ru


Страница сгенерированна за 0.01508 секунд с 7
ELECTRONIX ©2004-2016