ARM, Cortex, STM32 Передача данных по SPI, между АЦП и микроконтроллеромДобрый день.
Понемногу разбираясь с микроконтроллерами, решил связать МК с АЦП посредством SPI. Но, как мне кажется, возникла проблема:
длинна выходного сообщения с АЦП - 32 бита: LTC2498 (стр. 16),
а максимальная длинна входного, у МК - 16:
STM32F051C8 (стр. 721).
Получается, я не могу получить на STM32F051C8 полной информации, поступающей с LTC2498? Максимум - какой-то обрывок,...https://www.cyberforum.ru/ arm/ thread1942200.html
ARM, Cortex, STM32 Stm32 в IAR на C++ Добрый вечер! Такой у меня есть вопросик: написал программу-мигалку для stm32f303 в iar на си, все работало правильно. Потом создал проект на с++ и перенес туда этот код, и работать перестало. Кто-нибудь может сказать почему?? Ниже приведен код:
#include "stm32f30x.h"
void establish_clock();
void establish_TIM1();
void delay(int);
void establish_int();
void establish_ports();
void...
ARM, Cortex, STM32 Дистанционное обновление прошивкиhttps://www.cyberforum.ru/ arm/ thread1939675.html Допустим есть платы с STM32 контроллером, подключенные к некоторым компьютерам в разных городах. Подключение к компу осуществляется по USORT.
Нужно сделать так, чтобы с компьютера можно было обновить прошивку STM32.
Как правильно построить такую систему:
Встраивать программатор?
Пользоваться нативным загрузчиком?
Для загрузчика требуется ведь аппаратное дерганье пином BOOT0, или можно...
ARM, Cortex, STM32 STM32f3discovery+RTC+Battery (тюнингуем) Всем добрый день! При переходе от stm32f1 на stm32f3, используя отладочные платы stm32vldiscovery и stm32f3discovery, наткнулся на интересные вещи при работе с часами реального времени. Мб кому-нибудь будет полезно.
Поехали.
Уж не знаю, чем руководствовались производители отладочных плат от ST, но на F3discovery они зажали часовой кварц и обвес к нему, но надо отдать должное посадочные места...
ARM, Cortex, STM32 Собрать OpenSSL под ARMЕсть вот такой набор исходников https://www.openssl.org/source/old/0.9.x/openssl-0.9.7m.tar.gz
Я нашел инструкцию здесь https://how-to-build-for-arm.wikispaces.com/openssl
Но к сожалению у меня нет свободной ARM платформы, чтобы собрать это дело. Помогите пожалуйста.
Или поделитесь файлом libcrypto.so.0.9.7. Я ради его добычи хочу это делать.
Заранее спасибоhttps://www.cyberforum.ru/ arm/ thread1931636.html
ARM, Cortex, STM32 AT24c64+STM32F3 I2C протоколhttps://www.cyberforum.ru/ arm/ thread1931065.html Всем добрый день! С полгода назад, начинал проект на камушке stm32f103, но проект сильно разросся и его заморозили, сейчас пришло время снова встать на лыжи, концепция немного поменялась, да и подход тоже. Поменяли и камень на побольше, в частности на stm32f303. Линейки stm32 славятся тем, что портирование с камня на камень проходит достаточно безболезненно, даже в случае перехода с Cortex-M3 на...
ARM, Cortex, STM32 Specified instruction is not supported by the current instruction set Пытаюсь написать инициализацию регистров для микроконтроллера на базе Cortex-M1 с использованием ассемблера в Keil uVision 5.
Почему-то при попытке использования инструкции ORR:
ORRS r1, r1, #0x2;
выскакивает ошибка "Specified instruction is not supported by the current instruction set". В r1 содержится адрес одного регистра. Связано ли это с тем, что у меня присутствует запись THUMB? Вроде...
ARM, Cortex, STM32 Выгрузка данных из EEPROM перед запуском планировщикаhttps://www.cyberforum.ru/ arm/ thread1930205.html Предчувствую, что вопрос глупый, но на всякий случай спрошу. Хочу сделать так, чтобы при подаче питания изначально считывались параметры из EEPROM в рабочий массив. Если бы я не использовал ОСРВ то стартанул бы функцию выгрузки в мейне перед while(1). По протоколу I2C необходимо после чтения, дать покурить памяти 4-5 мс. Хотелось бы использовать функцию vTaskDelay(); Но перед запуском шедулера её...
ARM, Cortex, STM32 Stm32 adchttps://www.cyberforum.ru/ arm/ thread1929087.html Столкнулся с таким проблемой, запускаю ацп 2-х канальная, работает только один канал если меняю этот строку ADC_InitStructure.ADC_ScanConvMode = ENABLE; на это ADC_InitStructure.ADC_ScanConvMode = DISABLE; то работает 2-ой канал но 1-ый перестает работать, как с этим справиться?
//ADC1 configuration
//select continuous conversion mode
ADC_InitStructure.ADC_ContinuousConvMode =...
ARM, Cortex, STM32 Stm32f4 + CAN Здравствуйте, форумчане!
При настройке CAN интерфейса возникли проблемы с прерываниями.
Каким образом, с помощью прерываний, мне отправлять CAN-сообщения по кнопке?
void Write(void)
{
CanTxMsg TxMessage;
ARM, Cortex, STM32 Микросхема для взаимодействия с CPU A10https://www.cyberforum.ru/ arm/ thread1927043.html Добрый день.
Интересует следующая информация, имеется мобильное устройство работает на CPU A10 , когда оно выходит из строя, в сервисном центре подключают к нему специальный USB провод, на компьютере стоит
#include "main.h"#include "stm32f4xx_hal.h"/* USER CODE BEGIN Includes *//* USER CODE END Includes *//* Private variables ---------------------------------------------------------*//* USER CODE BEGIN PV *//* Private variables ---------------------------------------------------------*//* USER CODE END PV *//* Private function prototypes -----------------------------------------------*/void SystemClock_Config(void);void Error_Handler(void);staticvoid MX_GPIO_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 *//* 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();/* USER CODE BEGIN 2 *//* USER CODE END 2 *//* Infinite loop *//* USER CODE BEGIN WHILE */while(1){/* USER CODE END WHILE *//* USER CODE BEGIN 3 */
HAL_GPIO_WritePin(GPIOD, GPIO_PIN_13, GPIO_PIN_SET);}/* USER CODE END 3 */}/** System Clock Configuration*/void SystemClock_Config(void){
RCC_OscInitTypeDef RCC_OscInitStruct;
RCC_ClkInitTypeDef RCC_ClkInitStruct;/**Configure the main internal regulator output voltage */
__HAL_RCC_PWR_CLK_ENABLE();
__HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1);/**Initializes the CPU, AHB and APB busses clocks */
RCC_OscInitStruct.OscillatorType= RCC_OSCILLATORTYPE_HSI|RCC_OSCILLATORTYPE_HSE;
RCC_OscInitStruct.HSEState= RCC_HSE_ON;
RCC_OscInitStruct.PLL.PLLState= RCC_PLL_ON;
RCC_OscInitStruct.PLL.PLLSource= RCC_PLLSOURCE_HSE;
RCC_OscInitStruct.PLL.PLLM=8;
RCC_OscInitStruct.PLL.PLLN=336;
RCC_OscInitStruct.PLL.PLLP= RCC_PLLP_DIV2;
RCC_OscInitStruct.PLL.PLLQ=4;if(HAL_RCC_OscConfig(&RCC_OscInitStruct)!= HAL_OK){
Error_Handler();}/**Initializes the CPU, AHB and APB busses clocks */
RCC_ClkInitStruct.ClockType= RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
|RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;
RCC_ClkInitStruct.SYSCLKSource= RCC_SYSCLKSOURCE_PLLCLK;
RCC_ClkInitStruct.AHBCLKDivider= RCC_SYSCLK_DIV1;
RCC_ClkInitStruct.APB1CLKDivider= RCC_HCLK_DIV8;
RCC_ClkInitStruct.APB2CLKDivider= RCC_HCLK_DIV8;if(HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_5)!= HAL_OK){
Error_Handler();}/**Configure the Systick interrupt time */
HAL_SYSTICK_Config(HAL_RCC_GetHCLKFreq()/8000);/**Configure the Systick */
HAL_SYSTICK_CLKSourceConfig(SYSTICK_CLKSOURCE_HCLK_DIV8);/* SysTick_IRQn interrupt configuration */
HAL_NVIC_SetPriority(SysTick_IRQn,0,0);}/** Configure pins as * Analog * Input * Output * EVENT_OUT * EXTI*/staticvoid MX_GPIO_Init(void){
GPIO_InitTypeDef GPIO_InitStruct;/* GPIO Ports Clock Enable */
__HAL_RCC_GPIOH_CLK_ENABLE();
__HAL_RCC_GPIOD_CLK_ENABLE();/*Configure GPIO pin Output Level */
HAL_GPIO_WritePin(GPIOD, GPIO_PIN_13, GPIO_PIN_RESET);/*Configure GPIO pin : PD13 */
GPIO_InitStruct.Pin= GPIO_PIN_13;
GPIO_InitStruct.Mode= GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull= GPIO_NOPULL;
GPIO_InitStruct.Speed= GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(GPIOD,&GPIO_InitStruct);}/* USER CODE BEGIN 4 *//* USER CODE END 4 *//** * @brief This function is executed in case of error occurrence. * @param None * @retval None */void Error_Handler(void){/* USER CODE BEGIN Error_Handler *//* User can add his own implementation to report the HAL error return state */while(1){}/* USER CODE END Error_Handler */}#ifdef USE_FULL_ASSERT/** * @brief Reports the name of the source file and the source line number * where the assert_param error has occurred. * @param file: pointer to the source file name * @param line: assert_param error line source number * @retval None */void assert_failed(uint8_t* file,uint32_t line){/* USER CODE BEGIN 6 *//* User can add his own implementation to report the file name and line number, ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) *//* USER CODE END 6 */}