STM32 подтяжка ноги Keil vs CooCox

Кто любит RISC в жизни, заходим, не стесняемся.
Ответить
koteika
Встал на лапы
Сообщения: 147
Зарегистрирован: Пт ноя 27, 2009 18:24:25
Откуда: Харьков
Контактная информация:

STM32 подтяжка ноги Keil vs CooCox

Сообщение koteika »

Здравствуйте товарищи :beer: не выходит включить подтяжку ноги в кейле с использованием библиотеки HAL(пробовал на дискавери и Ф103), причем в кокосе проблем нет :cry: уже варенный, помогите пожалуйста - укажите где ошибка. не ругайте сильно с СТМ знакомлюсь только

З.Ы. тут еще код для АЦП но он работает
Спойлер#include "stm32f1xx_hal.h"

/* USER CODE BEGIN Includes */

/* USER CODE END Includes */

/* Private variables ---------------------------------------------------------*/
ADC_HandleTypeDef hadc1;
DMA_HandleTypeDef hdma_adc1;

/* USER CODE BEGIN PV */
/* Private variables ---------------------------------------------------------*/
volatile uint16_t ADC_Data[4];
/* USER CODE END PV */

/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_DMA_Init(void);
static void MX_ADC1_Init(void);

/* USER CODE BEGIN PFP */
/* Private function prototypes -----------------------------------------------*/

/* USER CODE END PFP */

/* USER CODE BEGIN 0 */

/* USER CODE END 0 */

int main(void)
{

/* USER CODE BEGIN 1 */
//float u;
/* USER CODE END 1 */

/* MCU Configuration----------------------------------------------------------*/

/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();

/* Configure the system clock */
SystemClock_Config();

/* Initialize all configured peripherals */
MX_GPIO_Init();
MX_DMA_Init();
MX_ADC1_Init();

/* USER CODE BEGIN 2 */
HAL_ADC_Start_DMA(&hadc1, (uint32_t*) &ADC_Data, 4);
/* USER CODE END 2 */
HAL_GPIO_WritePin(GPIOE, GPIO_PIN_0, GPIO_PIN_SET);
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{

//u=((float)ADC_Data[0])*3/65356;

/* USER CODE END WHILE */

/* USER CODE BEGIN 3 */

}
/* USER CODE END 3 */

}

/** System Clock Configuration
*/
void SystemClock_Config(void)
{

RCC_OscInitTypeDef RCC_OscInitStruct;
RCC_ClkInitTypeDef RCC_ClkInitStruct;
RCC_PeriphCLKInitTypeDef PeriphClkInit;

RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;
RCC_OscInitStruct.HSIState = RCC_HSI_ON;
RCC_OscInitStruct.HSICalibrationValue = 16;
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE;
HAL_RCC_OscConfig(&RCC_OscInitStruct);

RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
|RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;
RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_HSI;
RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1;
RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;
HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0);

PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_ADC;
PeriphClkInit.AdcClockSelection = RCC_ADCPCLK2_DIV2;
HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit);

HAL_SYSTICK_Config(HAL_RCC_GetHCLKFreq()/1000);

HAL_SYSTICK_CLKSourceConfig(SYSTICK_CLKSOURCE_HCLK);

/* SysTick_IRQn interrupt configuration */
HAL_NVIC_SetPriority(SysTick_IRQn, 0, 0);
}

/* ADC1 init function */
void MX_ADC1_Init(void)
{

ADC_ChannelConfTypeDef sConfig;

/**Common config
*/
hadc1.Instance = ADC1;
hadc1.Init.ScanConvMode = ADC_SCAN_ENABLE;
hadc1.Init.ContinuousConvMode = ENABLE;
hadc1.Init.DiscontinuousConvMode = DISABLE;
hadc1.Init.ExternalTrigConv = ADC_SOFTWARE_START;
hadc1.Init.DataAlign = ADC_DATAALIGN_LEFT;
hadc1.Init.NbrOfConversion = 4;
HAL_ADC_Init(&hadc1);

/**Configure Regular Channel
*/
sConfig.Channel = ADC_CHANNEL_10;
sConfig.Rank = 1;
sConfig.SamplingTime = ADC_SAMPLETIME_1CYCLE_5;
HAL_ADC_ConfigChannel(&hadc1, &sConfig);

/**Configure Regular Channel
*/
sConfig.Channel = ADC_CHANNEL_11;
sConfig.Rank = 2;
HAL_ADC_ConfigChannel(&hadc1, &sConfig);

/**Configure Regular Channel
*/
sConfig.Channel = ADC_CHANNEL_12;
sConfig.Rank = 3;
HAL_ADC_ConfigChannel(&hadc1, &sConfig);

/**Configure Regular Channel
*/
sConfig.Channel = ADC_CHANNEL_13;
sConfig.Rank = 4;
HAL_ADC_ConfigChannel(&hadc1, &sConfig);

}

/**
* Enable DMA controller clock
*/
void MX_DMA_Init(void)
{
/* DMA controller clock enable */
__HAL_RCC_DMA1_CLK_ENABLE();

/* DMA interrupt init */
/* DMA1_Channel1_IRQn interrupt configuration */
HAL_NVIC_SetPriority(DMA1_Channel1_IRQn, 0, 0);
HAL_NVIC_EnableIRQ(DMA1_Channel1_IRQn);

}

/** Pinout Configuration
*/
void MX_GPIO_Init(void)
{
GPIO_InitTypeDef GPIO;
/* GPIO Ports Clock Enable */
__HAL_RCC_GPIOC_CLK_ENABLE();
__HAL_RCC_GPIOE_CLK_ENABLE();


GPIO.Pin = GPIO_PIN_0;
GPIO.Mode = GPIO_MODE_OUTPUT_PP;
GPIO.Pull = GPIO_NOPULL;
HAL_GPIO_Init(GPIOE, &GPIO);





}
Реклама
Аватара пользователя
Shapa
Встал на лапы
Сообщения: 127
Зарегистрирован: Пт июн 20, 2008 09:38:05
Откуда: Харьков
Контактная информация:

Re: STM32 подтяжка ноги Keil vs CooCox

Сообщение Shapa »

Дело не в компиляторе. Дело в коде. Что-то я вообще не вижу настройки, в вашем коде, пинов на вход.

Код: Выделить всё

const GPIO_InitTypeDef adcPinCfg = {
    GPIO_Pin_5,
    GPIO_Mode_IN, // если поставить  out - получите Open Drain + PullUp
    GPIO_Speed_Level_1,
    GPIO_OType_OD,
    GPIO_PuPd_UP
};
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);
GPIO_Init(GPIOA, &adcPinCfg);
Весьма рекомендую отказаться от использования проприретарных кейлов/иаров, в пользу GNU GCC. Собственно и от винды в целом :)
Реклама
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: STM32 подтяжка ноги Keil vs CooCox

Сообщение Мурик »

Shapa писал(а):Что-то я вообще не вижу настройки, в вашем коде, пинов
Все там есть.
koteika писал(а):

Код: Выделить всё

GPIO.Pin = GPIO_PIN_0;
GPIO.Mode = GPIO_MODE_OUTPUT_PP;
GPIO.Pull = GPIO_NOPULL;
HAL_GPIO_Init(GPIOE, &GPIO);
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Re: STM32 подтяжка ноги Keil vs CooCox

Сообщение dosikus »

Мурик, вот так вырвав фразу из контекста и переделав под себя , можно многого достичь. :))) :))) :)))

Shapa писал(а): Весьма рекомендую отказаться от использования проприретарных кейлов/иаров, в пользу GNU GCC. Собственно и от винды в целом :)
Спасибо, рассмешили... :)))
Реклама
Эиком - электронные компоненты и радиодетали
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Re: STM32 подтяжка ноги Keil vs CooCox

Сообщение a5021 »

Shapa писал(а):Весьма рекомендую отказаться от использования проприретарных кейлов/иаров, в пользу GNU GCC.
Пожалуй, присоединюсь к этой рекомендации. Тем боле, что теперь есть довольно неплохая бесплатная среда разработки под данный тулчейн под названием EmBitz. Недавно релиз вышел. Рекомендую к ознакомлению.
Реклама
Аватара пользователя
scorpi_0n
Вымогатель припоя
Сообщения: 616
Зарегистрирован: Вс ноя 01, 2015 13:13:49

Re: STM32 подтяжка ноги Keil vs CooCox

Сообщение scorpi_0n »

Shapa писал(а):
Весьма рекомендую отказаться от использования проприретарных кейлов/иаров, в пользу GNU GCC. Собственно и от винды в целом :)
А что-то изменится от этого? Если STM32 станут от этого дешевле, тогда ладно, а так... ну никакого смысла.
Реклама
koteika
Встал на лапы
Сообщения: 147
Зарегистрирован: Пт ноя 27, 2009 18:24:25
Откуда: Харьков
Контактная информация:

Re: STM32 подтяжка ноги Keil vs CooCox

Сообщение koteika »

все, разобрался, как всегда дело было в человеческом факторе - перепутал и настроил ногу на выход и пытался включить подтяжку. в итоге целый день парил себе мозг.
вывод: нужно хоть иногда отдыхать. всем спасибо товарищи :beer: на счет линукса скажу - на вкус и цвет все фломастеры разные. можно устроить здесь целый "холивар" на эту тему или на тему "лампы VS транзисторы" но толку от этого будет немного
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Re: STM32 подтяжка ноги Keil vs CooCox

Сообщение a5021 »

scorpi_0n писал(а):А что-то изменится от этого? Если STM32 станут от этого дешевле, тогда ладно, а так... ну никакого смысла.
Вопрос, не стали бы дороже. Дороже в том смысле, что по мере приобщения к европейский ценностям, проприетарный софт придется покупать. Ну или ждать, когда копирасты проявят к тебе интерес.
koteika
Встал на лапы
Сообщения: 147
Зарегистрирован: Пт ноя 27, 2009 18:24:25
Откуда: Харьков
Контактная информация:

Re: STM32 подтяжка ноги Keil vs CooCox

Сообщение koteika »

a5021 писал(а):что по мере приобщения к европейский ценностям
имел я в рот эти европейские ценности! я на них уже насмотрелся в нашей банановой республике,
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Re: STM32 подтяжка ноги Keil vs CooCox

Сообщение a5021 »

Об том и речь. С переходом на открытое ПО, "европейские ценности" начинают представлять существенно меньшую угрозу.
Аватара пользователя
scorpi_0n
Вымогатель припоя
Сообщения: 616
Зарегистрирован: Вс ноя 01, 2015 13:13:49

Re: STM32 подтяжка ноги Keil vs CooCox

Сообщение scorpi_0n »

Открытое ПО создано не для работы, а для прсонажей "Алиса в стране чудес". Это как на свалке искать что-то съедобное. Поэтому "имел я в рот эти европейские ценности!" наилучший выход из положения. Тем более что сейчас многие предлагают бесплатные версии.
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Re: STM32 подтяжка ноги Keil vs CooCox

Сообщение a5021 »

scorpi_0n писал(а):Открытое ПО создано не для работы, а для прсонажей "Алиса в стране чудес".
Довольно странное заявление, с учетом того, что мы с вами общаемся через веб-сервер, который является тем самым открытым ПО. Да и чуть ни половина интернета это в той или иной степени открытое ПО.
Что еще можно вспомнить навскидку. Та же атмел студио использует GCC в качестве компилятора. Беспроводные роутеры, всякие приставки, боксы, телевизоры и пр. нынче в своей основе имеют линукс. Андроид, опять же. Да дохрена коммерчески-успешных проектов имеют в своей основе открытое ПО.

А чем вам GCC не угодил? Что мешает использовать его для работы?
koteika
Встал на лапы
Сообщения: 147
Зарегистрирован: Пт ноя 27, 2009 18:24:25
Откуда: Харьков
Контактная информация:

Re: STM32 подтяжка ноги Keil vs CooCox

Сообщение koteika »

да ничем в общем-то, именно он используется в качестве компилятора в среде CooCox. чем она меня не устраивает - уже года два как её не поддерживают, а баги остались. и это именно та причина по которой я перешел на кейл. да и в бесплатной версии этой среды можно накодить на 32к пока-что мне хватает
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: STM32 подтяжка ноги Keil vs CooCox

Сообщение Мурик »

Если кокос не устраивает потому что не обновляется, есть другая бесплатная среда EmBitz. Текущее обновление было 30 сентября этого года. http://www.emblocks.com/web/downloads-main
Аватара пользователя
scorpi_0n
Вымогатель припоя
Сообщения: 616
Зарегистрирован: Вс ноя 01, 2015 13:13:49

Re: STM32 подтяжка ноги Keil vs CooCox

Сообщение scorpi_0n »

Одно другого не лучше! Что шило на мыло.
Ответить

Вернуться в «ARM»