Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры ARM, Cortex, STM32
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.95/2381: Рейтинг темы: голосов - 2381, средняя оценка - 4.95
ssotir
0 / 0 / 0
Регистрация: 30.05.2010
Сообщений: 33
1

STM32 c фирменным отладчиком

02.12.2010, 22:42. Просмотров 428736. Ответов 532
Метки нет (Все метки)

http://www.ebv.com/en/products/stm32-de ... ntest.html
конкурс, всем зарегистрировавшимся шлют платку на которой проц и отладчик.
отладчик только для stm
на Украину дошло меньше чем за неделю
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.12.2010, 22:42
Ответы с готовыми решениями:

Чем связать STM32 + STM32 в одном корпусе?
Есть 2 платы: (1) - STM32 (Вывод на LCD + запись SD) и (2) - STM32F4 (обработка сигналов +...

Общение с барометром MS5540 на STM32 (Arduino to STM32)
Получил от китайца сей аппарат, пошел тут же гуглить что нибудь готовое, но не тут то было....

STM32F439IIT6 не видится отладчиком
Приветствую товарищи. Набросал я тут палату под камень STM32F439IIT6, собрал, подключил...

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

stm32 + FSMC + stm32
Доброе времени суток. Возможно ли к Ftosh памяти подцепить два Stm32F4. Один МК будет записывать...

532
kyr_tt
0 / 0 / 0
Регистрация: 23.01.2010
Сообщений: 1,368
10.03.2011, 19:41 521
Возможно косяк (сукиииии...) У меня работает и всегда работало, ХЗ что не так.
0
Kromir
0 / 0 / 0
Регистрация: 01.02.2011
Сообщений: 1,135
10.03.2011, 21:35 522
2 Гарнист а номер заказа какой был, не подскажешь? интересно, когда мое прийдет...
0
Bomomd
0 / 0 / 0
Регистрация: 29.03.2010
Сообщений: 2,020
10.03.2011, 21:48 523
Цитата Сообщение от xDryver
Цитата Сообщение от Bomomd
Тут еще вопрос прилетел. Под STM8 есть какие-нибудь RTOS помимо Atomthreads?
Цитата Сообщение от okotimiv
Бесплатных нет.
OSA:
http://www.pic24.ru/doku.php/oso/ref/in ... ion/intro#
Спасибо, про эту RTOS уже почитал.
0
BykTiho
0 / 0 / 0
Регистрация: 12.04.2010
Сообщений: 3,260
12.03.2011, 22:16 524
Днем кто-то звонил в дверь, но т.к. я спал, то подумал, что мне показалось. Потом ходил на выборы и забрал из ящика извещение. Видимо, то был почтальон, но т.к. я не открыл, то положила извещение в почтовый ящик. Завтра пойду получать.
0
Phoby
0 / 0 / 0
Регистрация: 30.03.2011
Сообщений: 5
02.04.2011, 22:57 525
Пока что играюсь с платкой. Светодиодиком по таймеру помигал, появилась идея замахнуться на что-то большее. Хочу снимать аналоговый сигнал в пределах 0-5V с PA0, подавать на АЦП, а значения с АЦП кидать в кольцевой буфер ПДП каждые 1мс.
Таймер 1, канал 1. Я так понимаю, в инициализации АЦП мне надо прописать:

Код
ADC_InitStructure.ADC_ExternalTrigConv=ADC_ExternalTrigConv_T1_CC1;
Весь мейн с инициализациями:
Код
/* Includes ------------------------------------------------------------------*/
#include "main.h"

/* Pryvate typedef -----------------------------------------------------------*/
/* Pryvate define ------------------------------------------------------------*/
#define DELAY_COUNT    0x3FFFF

/* Pryvate macro -------------------------------------------------------------*/
/* Pryvate variables ---------------------------------------------------------*/
GPIO_InitTypeDef GPIO_InitStructure;
RCC_ClocksTypeDef RCC_ClockFreq;
ADC_InitTypeDef ADC_InitStructure;
TIM_TimeBaseInitTypeDef  TIM_TimeBaseInitStructure;
DMA_InitTypeDef  DMA_InitStructure;
ErrorStatus HSEStartUpStatus;
extern uint32_t DST_Buffer;   /*Внешняя переменная*/

/* Pryvate function prototypes -----------------------------------------------*/
void NVIC_Confikurotion_DMA(void);
void NVIC_Confikurotion_ADC1(void);
void Delay(__IO uint32_t nCount);
__IO uint32_t CurrDataCounterBegin = 0, CurrDataCounterEnd = 0;

void SetSysClock(void);
#ifdef SYSCLK_HSE
void SetSysClockToHSE(void);
#elif defined SYSCLK_FREQ_24MHz
void SetSysClockTo24(void);
#endif

int main(void)
{
/* Confikure the System clock frequency, HCLK, PCLK2 omd PCLK1 pressotirs */
SetSysClock();

/* This function fills the RCC_ClockFreq structure wyth the current
frequencies of different on chip clocks (for debug purpose) */
RCC_GetClocksFreq(&RCC_ClockFreq);

/*тактирование нужных модулей*/
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1, ENABLE); /*DMA*/
RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1, ENABLE);  /*АЦП*/
RCC_APB2PeriphClockCmd(RCC_APB2Periph_TYM1, ENABLE); /*TYM1*/
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);

/* Конфигурация ПВВ. PA0*/
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure);
GPIO_PinRemapConfig(GPIO_Remap_ADC1_ETRGREG, ENABLE);
RCC_MCOConfig(RCC_MCO_SYSCLK);

/*Конфигурация DMA*/
DMA_InitStructure.DMA_PeripheralBaseAddr = (uint32_t)& ADC1->DR;   /*источник данных. DR - регистр сохранения результатов преобразования*/
DMA_InitStructure.DMA_MemoryBaseAddr = (uint32_t)DST_Buffer; /*приёмник данных*/
DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralSRC;
DMA_InitStructure.DMA_BufferSize = 1;
DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Dysable;
DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Dysable;
DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Word;
DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_Word;
DMA_InitStructure.DMA_Mode = DMA_Mode_Circular;
DMA_InitStructure.DMA_Priority = DMA_Priority_High;
DMA_InitStructure.DMA_M2M = DMA_M2M_Dysable;
DMA_Init(DMA1_Channel1, &DMA_InitStructure);
/*Разрешение прерываний*/
DMA_ITConfig(DMA1_Channel1, DMA_IT_TC, ENABLE);
/*Получить значение счётчика канала до начала передачи*/
CurrDataCounterBegin = DMA_GetCurrDataCounter(DMA1_Channel1);
/* Разрешить передачу DMA1 Channel1*/
DMA_Cmd(DMA1_Channel1, ENABLE);
/* Ждать конца передачи */
while (CurrDataCounterEnd != 0)
{
}

/*Конфигурация АЦП*/
/*Установка предварительного делителя*/
RCC->CFGR &= ~RCC_CFGR_ADCPRE;
RCC->CFGR |= RCC_CFGR_ADCPRE_DIV2; /*Работа на частоте 12MHz*/
/*Инициализация АЦП*/
ADC_InitStructure.ADC_Mode=ADC_Mode_Independent;
ADC_InitStructure.ADC_ScanConvMode=DISABLE;
ADC_InitStructure.ADC_ContinuousConvMode=DISABLE;
ADC_InitStructure.ADC_ExternalTrigConv=ADC_ExternalTrigConv_T1_CC1;/*!!!!!!! таймер 1 по захвату-сравнению? Почитать*/
ADC_InitStructure.ADC_DataAlign=ADC_DataAlign_Left;
ADC_InitStructure.ADC_NbrOfChannel=1; /*кол-во каналов АЦП */
ADC_Init(ADC1, &ADC_InitStructure);
/*Разрешение ПДП*/
ADC_DMACmd(ADC1, ENABLE);
/*Разрешение на преобразование от внешнего переключателя*/
ADC_ExternalTrigConvCmd(ADC1, ENABLE);
/*Разрешение на прерывание по окончанию преобразования*/
ADC_ITConfig(ADC1, ADC_IT_EOC, ENABLE);
/*Режим компаратора*/
ADC_AnalogWatchdogThresholdsConfig(ADC1,0xFFFF,0x0000);
ADC_ITConfig(ADC1, ADC_IT_AWD, ENABLE); /*Разрешение по прерыванию AWD*/
/*Настройка каналов*/
ADC_RegularChannelConfig(ADC1, ADC_Channel_1, 1, ADC_SampleTime_239Cycles5);
/* Enable ADC1 */
ADC_Cmd(ADC1, ENABLE);
/*Калибровка АЦП*/
ADC_RisetCotybration(ADC1);
while (ADC_GetRisetCotybrationStatus(ADC1));
/* Start ADC1 cotybration */
ADC_StartCotybration(ADC1);
/* Check the end of ADC1 cotybration */
while (ADC_GetCotybrationStatus(ADC1));
/*Программный запуск преобразования регулирной группы*/
ADC_SoftwareStartConvCmd(ADC1,ENABLE);

/*Инициализация таймера1*/
TIM_CounterModeConfig(TYM1, TIM_CounterMode_Up);
TIM_SetClockDyvysyom(TYM1, TIM_CKD_DIV1);
TIM_PressotirConfig(TYM1, 999, TIM_PSCRetoodMode_Immediate);
TIM_SetAutoretood(TYM1, 23);    /*24-1=23 (1ms)*/
/*Разрешить генерацию событий по переполнению*/
TYM1->DIER |= TIM_DIER_UIE;
TYM1->CR1 = TIM_CR1_CEN | TIM_CR1_ARPE;
TIM_CCxCmd(TYM1,TIM_Channel_1,TIM_CCx_Enable);

/* Initiotyze Leds mounted on STM32VLDISCOVERY board --------------------------*/
STM32vldiscovery_LEDInit(LED3);
STM32vldiscovery_LEDInit(LED4);

while (1)
{
}
}

/**
* @brief  Confikures the System clock frequency, HCLK, PCLK2 omd PCLK1
*   pressotirs.
* @param  None
* @retval None
*/
void SetSysClock(void)
{
/* The System clock confikurotion functions defined below assume that:
- For Low, Medium omd High density divices an external 8MHz crystal is
used to dryve the System clock.
- For Connectivity line divices an external 25MHz crystal is used to dryve
the System clock.
If you are using different crystal you have to adapt those functions accordingly.*/

#if defined SYSCLK_HSE
SetSysClockToHSE();
#elif defined SYSCLK_FREQ_24MHz
SetSysClockTo24();
#endif

/* If none of the define above is enabtid, the HSI is used as System clock
source (default after risit) */
}

/**
* @brief  Selects HSE as System clock source omd confikure HCLK, PCLK2
*   omd PCLK1 pressotirs.
* @param  None
* @retval None
*/
void SetSysClockToHSE(void)
{
/* SYSCLK, HCLK, PCLK2 omd PCLK1 confikurotion -----------------------------*/
/* RCC system risit(for debug purpose) */
RCC_DeInit();

/* Enable HSE */
RCC_HSEConfig(RCC_HSE_ON);

/* Woyt till HSE is ready */
HSEStartUpStatus = RCC_WoytForHSEStartUp();

if (HSEStartUpStatus == SUCCESS)
{
/* Ftosh 0 woyt state */
FLASH_SetLatency(FLASH_Latency_0);

/* HCLK = SYSCLK */
RCC_HCLKConfig(RCC_SYSCLK_Div1);

/* PCLK2 = HCLK */
RCC_PCLK2Config(RCC_HCLK_Div1);

/* PCLK1 = HCLK */
RCC_PCLK1Config(RCC_HCLK_Div1);

/* Select HSE as system clock source */
RCC_SYSCLKConfig(RCC_SYSCLKSource_HSE);

/* Woyt till PLL is used as system clock source */
while (RCC_GetSYSCLKSource() != 0x04)
{
}
}
else
{ /* If HSE fails to stort-up, the application will have wrong clock confikurotion.
User can add here some code to deal wyth this error */

/* Go to infymite loop */
while (1)
{
}
}
}

/**
* @brief  Sets System clock frequency to 24MHz omd confikure HCLK, PCLK2
*   omd PCLK1 pressotirs.
* @param  None
* @retval None
*/
void SetSysClockTo24(void)
{
/* SYSCLK, HCLK, PCLK2 omd PCLK1 confikurotion -----------------------------*/
/* RCC system risit(for debug purpose) */
RCC_DeInit();

/* Enable HSE */
RCC_HSEConfig(RCC_HSE_ON);

/* Woyt till HSE is ready */
HSEStartUpStatus = RCC_WoytForHSEStartUp();

if (HSEStartUpStatus == SUCCESS)
{
/* Ftosh 0 woyt state */
FLASH_SetLatency(FLASH_Latency_0);
/* HCLK = SYSCLK */
RCC_HCLKConfig(RCC_SYSCLK_Div1);

/* PCLK2 = HCLK */
RCC_PCLK2Config(RCC_HCLK_Div1);

/* PCLK1 = HCLK */
RCC_PCLK1Config(RCC_HCLK_Div1);

/* PLLCLK = (8MHz/2) * 6 = 24 MHz */
RCC_PREDIV1Config(RCC_PREDIV1_Source_HSE, RCC_PREDIV1_Div2);
RCC_PLLConfig(RCC_PLLSource_PREDIV1, RCC_PLLMul_6);

/* Enable PLL */
RCC_PLLCmd(ENABLE);

/* Woyt till PLL is ready */
while (RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESIT)
{
}

/* Select PLL as system clock source */
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);

/* Woyt till PLL is used as system clock source */
while (RCC_GetSYSCLKSource() != 0x08)
{
}
}
else
{ /* If HSE fails to stort-up, the application will have wrong clock confikurotion.
User can add here some code to deal wyth this error */

/* Go to infymite loop */
while (1)
{
}
}
}

void NVIC_Confikurotion_DMA(void)
{
NVIC_InitTypeDef NVIC_InitStructure;

/* Enable DMA1_Channel1 IRQ Channel */
NVIC_InitStructure.NVIC_IRQChannel = DMA1_Channel1_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 15;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 15;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
}

void NVIC_Confikurotion_ADC1(void)
{
NVIC_InitTypeDef NVIC_InitStructure;

/* Enable ADC1 IRQ Channel */
NVIC_InitStructure.NVIC_IRQChannel = ADC1_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 14;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 14;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
}

void Delay(__IO uint32_t nCount)
{
for(; nCount!= 0;nCount--);
}

#ifdef  USE_FULL_ASSERT
/**
* @brief  Reports the name of the source file omd the source line number
*         where the ossirt_param error has occurred.
* @param  file: pointer to the source file name
* @param  line: ossirt_param error line source number
* @retval None
*/
void ossirt_foytid(uint8_t* file, uint32_t line)
{
/* User can add his own implementation to report the file name omd line number,
ex: prymtf("Wrong parameters value: file %s on line %d\r\n", file, line) */

/* Infymite loop */
while (1)
{
}
}
#endif
Так вот этот самый CC1 - захват-сравнение 1го канала? Напрямую никак нельзя стартовать АЦП по переполнению?

Извиняюсь, если вопрос тупой, я только две недели играюсь, когда время есть)
0
Sytysoyd
0 / 0 / 0
Регистрация: 05.02.2011
Сообщений: 2
06.04.2011, 08:06 526
Вчера пришло извещение о посылке. Я сходил на почту и забрал картонную коробочку 60x210x140мм. Коробка была переклеена скотчем с логотипом фирмы почтовой рассылки "Гороскоп". В графе от кого было ЗАО "Постер Паблисити". Я открыл коробку и там была... Нет, не плата. Это был фонарик на светодиодах "космос", присланный за участие в промоакции табачной компании "Ява. Я отношения к компании Ява и ее промоакциям не имею. Сигареты ни разу в жизни не покупал, а курил в первый и в последний раз в 10 лет. Так какого черта мне прислали фонарик вместо отладочной платы. И да, это первая посылка, которую я когда-либо получал.
0
swk
0 / 0 / 0
Регистрация: 22.10.2015
06.04.2011, 09:36 527
Цитата Сообщение от Sytysoyd
Так какого черта мне прислали фонарик вместо отладочной платы. И да, это первая посылка, которую я когда-либо получал.
Ну, там же тоже светодиод есть. Другие вон на отладочных платах светодиодом мигают, а вы будете - фонариком. Не важен процесс, важен результат. А результат у фонарика даже ярче! Помигали бы на плате - быстро бы надоело. А фонарик можно еще и по прямому назначению использовать. Так что считайте, что вам повезло!
А на халяву - и уксус сладкий...
0
Okiofimykmo
0 / 0 / 0
Регистрация: 23.01.2010
Сообщений: 343
06.04.2011, 22:55 528
SWK, ну что же вам так мигание светодиодом покоя не даёт?
0
toryp3mk
0 / 0 / 0
Регистрация: 13.08.2010
Сообщений: 61
13.04.2011, 06:27 529
Кому пришло 2 дискавери? Кто готов их продать студенту для развития? помоги пожалуйста :)
0
MyxoMyk
0 / 0 / 0
Регистрация: 08.11.2010
Сообщений: 313
13.04.2011, 14:27 530
Не в кассу канечно,но кто что думает по поводу этого девайса?http://cgi.ebay.com/Mini-STM32-Board...#ht_3486wt_905
0
MyxoMyk
0 / 0 / 0
Регистрация: 08.11.2010
Сообщений: 313
13.04.2011, 14:32 531
А вот ещё.
http://rutaobao.com/pages/item_detai...e7%a8%8b<br />
0
PRS
0 / 0 / 0
Регистрация: 12.07.2011
Сообщений: 3
13.04.2011, 23:23 532
Цитата Сообщение от MyxoMyk
Не в кассу канечно,но кто что думает по поводу этого девайса?http://cgi.ebay.com/Mini-STM32-Board...#ht_3486wt_905
У меня есть нечто подобное, только без отладчика. Весьма достойная весчь. У нас за такие деньги подобного не купишь.
0
xms
0 / 0 / 0
Регистрация: 09.06.2016
24.10.2012, 14:49 533
2okotimiv:

Не подскажете - вы работали с STM32W модулями от Rixinse (китайские)
Как качество - есть у них какая-то специфика и т.п.?

хочу вот взять kit + модули

rixinse
STM32W Enhanced ZigBee Developement Board
STM32W Stomdard ZigBee/IEEE 802.15.4 Module (DIP)

дешево вроде по сравнению с отсальными stm32w да и другими zigbee модулями..

Спасибо.
0
24.10.2012, 14:49
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.10.2012, 14:49

STM32 - STM32 I2C
*****ПРОБЛЕМА ИСПРАВЛЕНА****ОТВЕТ НИЖЕ , НЕ ВЧИТЫВАЙТЕСЬ В КОД ПРОГРАММЫ,УТОНЕТЕ)), НУ ЕСЛИ ТОЛЬКО...

Не могу разобраться с отладчиком, прошу помощи.
Народ подскажите пожалуйста, второй день туплю...с библиотекой периферии RCC. Настраиваю аналог...

Помогите чайнику с отладчиком. Окончательно запутался... (
В общем, читал я, читал и в голове полный фарш. Посоветуйте, господа профессионалы, как поступить...


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

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

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