Поиск по сайту

Результаты поиска по тегам 'stm32f4'.

  • Поиск по тегам

    Введите теги через запятую.
  • Поиск по автору

Тип публикаций


Категории и разделы

  • Вопрос-Ответ. Для начинающих
    • Песочница (Q&A)
    • Дайте схему!
    • Школьникам и студентам
    • Начинающим
    • Паяльник TV
    • Обсуждение материалов с сайта
  • Радиоэлектроника для профессионалов
    • Световые эффекты и LED
    • Роботы и модели на ДУ-управлении
    • Автоматика
    • Самодельные устройства к компьютеру
    • Программное обеспечение
    • Автомобильная электроника
    • Системы охраны и наблюдения. Личная безопасность
    • Питание
    • Электрика
    • Промышленная электроника
    • Ремонт
    • Металлоискатели
    • Измерительная техника
    • Мастерская радиолюбителя
    • Сотовая связь
    • Спутниковое ТВ
    • КВ и УКВ радиосвязь
    • Жучки
    • Телефония и фрикинг
    • Высокое напряжение
    • Идеи и технологии будущего
    • Справочная радиоэлементов
    • Литература
    • Разное
  • Аудио
    • FAQ, Технологии и компоненты
    • Для начинающих
    • Источники звука
    • Предусилители, темброблоки, фильтры
    • Питание аудио аппаратуры
    • Усилители мощности
    • Акустические системы
    • Авто-аудио
    • Ламповая техника
    • Гитарное оборудование
    • Прочее
  • Микроконтроллеры
    • МК для начинающих
    • AVR
    • PIC
    • STM32
    • Arduino и Raspberry Pi
    • ПЛИС
    • Другие микроконтроллеры и семейства
    • Алгоритмы
    • Программаторы и отладочные модули
    • Периферия и внешние устройства
    • Разное
  • Товары и услуги
    • Коммерческие предложения
    • Продам-Отдам, Услуги
    • Куплю
    • Уголок потребителя
    • Вакансии и разовая работа
    • Наши обзоры и тесты
  • Разное
    • Конкурсы сайта с призами
    • Сайт Паяльник и форум
    • Курилка
    • Технический английский (English)
    • Наши проекты для Android и Web
    • FAQ (Архив)
    • Личные блоги
    • Корзина
    • Вопросы с VK
  • ATX->ЛБП Переделки
  • Юмор в youtube Киловольты юмора
  • Надежность и группы продавцов Радиолюбительская доска объявлений exDIY
  • разные темы Переделки

Блоги

Нет результатов для отображения.

Нет результатов для отображения.

Местоположения

  • Пользователи форума

Группа


ICQ


Skype


Интересы


Город


Сфера радиоэлектроники


Оборудование

Найдено 9 результатов

  1. Питание для МК STM32F4

    Здравствуйте, подскажите, как можно получить 3.3В для питания МК STM32F4 от Li-Ion аккумулятора? Использовать какой-нибудь понижающий преобразователь? Если да, то какой?
  2. Добрый вечер. Друзья, кто из вас использует МК STM32F407xxx, поделитесь информацией по поводу внешнего кварца на вашей плате. Что за кварц, фирма, а также используемые конденсаторы и Rext? Дело в том, что облажался я с выбором кварца. Не заводится он. Drive level превосходит указанный в инструкции к кристаллу... (расчеты проводились согласно заметки AN2867 от ST). В общем чтобы не мучится с поиском нужного кристалла, хочу поинтересоваться что у вас? Заранее спасибо. Моя конфигурация: Кристалл Geyer KX-K (part no. 12.87823) 8МГц. Конденсаторы 22пФ Резистор Rext = 0 Ом Расположение кристалла идентично расположению на плате Discovery. Расстояние от края до ножек - примерно 6 мм. Также интересует напряжение RMS между выводами кварца. У меня - 1.94В У Discovery - 1.65В А у вас?
  3. Не Крутится Сервомотор

    Всем привет. У меня не работает сервомотор, контроллер stm32f407discovery. Вот код: #include #include #include #include void delay_ms(uint32_t ms) { volatile uint32_t nCount; //переменная для счета RCC_ClocksTypeDef RCC_Clocks; //переменная для считывания текущей частоты RCC_GetClocksFreq (&RCC_Clocks); //считываем текущую тактовую частоту nCount=(RCC_Clocks.HCLK_Frequency/10000)*ms; //пересчитываем мс в циклы for (; nCount!=0; nCount--); //гоняем пустые циклы } int main(void) { int x = 1023; RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOD, ENABLE); RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4,ENABLE); //включить тактирование GPIO_InitTypeDef PORT_SETUP; //структура настройки ножки PORT_SETUP.GPIO_Mode = GPIO_Mode_AF; //альтернативная функция ножки PORT_SETUP.GPIO_OType = GPIO_OType_PP; //ножка пуш-пул PORT_SETUP.GPIO_Pin = GPIO_Pin_12; //12 ножка PORT_SETUP.GPIO_Speed = GPIO_Speed_2MHz; GPIO_Init(GPIOD, &PORT_SETUP); GPIO_PinAFConfig(GPIOD,GPIO_PinSource12,GPIO_AF_TIM4); //использовать таймер4 для 12 ножки TIM_TimeBaseInitTypeDef TIM_SETUP; //структура настройки таймера TIM_SETUP.TIM_CounterMode = TIM_CounterMode_Up; //считаем вверх TIM_SETUP.TIM_Period = 4096; //период таймера 1023 отсчета TIM_SETUP.TIM_Prescaler = 334; //предделитель откл TIM_TimeBaseInit(TIM4, &TIM_SETUP); TIM_OCInitTypeDef PWM_SETUP; //структура настройки ШИМ PWM_SETUP.TIM_Pulse = 254; //начальное заполнение PWM_SETUP.TIM_OCMode = TIM_OCMode_PWM1; //режим1 center align PWM_SETUP.TIM_OutputState =TIM_OutputState_Enable; //подключаем к выходу PWM_SETUP.TIM_OCPolarity = TIM_OCPolarity_High; //положительная полярность TIM_OC1Init(TIM4, &PWM_SETUP); TIM_Cmd(TIM4, ENABLE); while(1) { TIM4->CCR1=0; delay_ms(500); TIM4->CCR1=2047; delay_ms(500); TIM4->CCR1=4095; delay_ms(500); } } Что с этим делать?
  4. Всем привет, пытаюсь заставить общаться 2 микроконтроллера через UART, программа для atmega8 очень простая: #define BAUD 9600 #define BAUDRATE ((F_CPU)/(BAUD*16UL)-1) #include <avr/io.h> #include <util/delay.h> void uart_init (void) { UBRRH = (BAUDRATE >> 8); UBRRL = BAUDRATE; UCSRB = (1 << TXEN ) | (1 << RXEN); UCSRC = (1 << URSEL) | (1 << USBS) | (1 << UCSZ0) | (1 << UCSZ1); } void uart_transmit (uint8_t data) { while (!( UCSRA & (1 << UDRE))); UDR = data; } int main() { DDRC = 0xff; PORTC = 0x00; DDRB = 0xFF; PORTB = 0x00; DDRD = 0x00; PORTD = 0x00; uart_init(); while(1) { uart_transmit('1'); _delay_ms(100); } return 0; } На STM принимаю через UART2 (порт PA.3) вывожу через USB в терминал, за основу взял вот это: https://github.com/rowol/stm32_discovery_arm_gcc/tree/master/usb_cdc_vcp Принимать данные с клавиатуры принимает (через терминал) и символы распознает хорошо, помигал светодиодом на плате, но когда пытаюсь передать с atmega8 данные на stm32 получаю вместо символов вопросительные знаки... Что с этим делать не знаю, уже что только не пробовал. Пробовал конфигурацию которая автоматически создается как в примере выше, и пробовал сам конфигурировать: RCC_APB2PeriphClockCmd(DISCOVERY_COM_CLK, ENABLE); RCC_AHB1PeriphClockCmd(DISCOVERY_COM_RX_GPIO_CLK, ENABLE); GPIO_InitTypeDef gpio; USART_InitTypeDef usart; GPIO_StructInit(&gpio); gpio.GPIO_Mode = GPIO_Mode_AF; gpio.GPIO_Pin = DISCOVERY_COM_TX_PIN; gpio.GPIO_Speed = GPIO_Speed_50MHz; gpio.GPIO_OType = GPIO_OType_PP; gpio.GPIO_PuPd = GPIO_PuPd_UP; GPIO_Init(GPIOA, &gpio); gpio.GPIO_Mode = GPIO_Mode_AF; gpio.GPIO_Pin = DISCOVERY_COM_RX_PIN; gpio.GPIO_Speed = GPIO_Speed_50MHz; gpio.GPIO_OType = GPIO_OType_PP; gpio.GPIO_PuPd = GPIO_PuPd_UP; GPIO_Init(GPIOA, &gpio); GPIO_PinAFConfig(GPIOA, GPIO_PinSource9, GPIO_AF_USART1); GPIO_PinAFConfig(GPIOA, GPIO_PinSource10, GPIO_AF_USART1); USART_StructInit(&usart); usart.USART_Mode = USART_Mode_Rx | USART_Mode_Tx; usart.USART_BaudRate = 9600; usart.USART_WordLength=USART_WordLength_8b; usart.USART_Parity=USART_Parity_No; usart.USART_StopBits = USART_StopBits_2; usart.USART_HardwareFlowControl = USART_HardwareFlowControl_None; USART_Init(DISCOVERY_COM, &usart); USART_ITConfig(DISCOVERY_COM, USART_IT_RXNE, ENABLE); USART_Cmd(DISCOVERY_COM, ENABLE); Когда сам конфигурирую вообще ничего не приходит, точнее приходит, но вопросительные знаки не рисуются, но свитодиод мигает, и говорит что данные приходят. Еще один момент, микроконтроллер atmega работает не от кварцевого резонатора, может быть из-за этого?
  5. Stm32F4 И Usb - Схема

    Добрый день. Есть несколько вопросов по созданию USB соединения ПК и STM32F4. Использоваться будет разъем microUSB. Соединение нужно только для заливки прошивки и считывания данных из памяти (внешней), следовательно плата должна определяться к периферийное устройство (режим хоста не требуется). 1. Куда нужно девать ногу ID на разъеме? Оставить не соединенной ни с чем или припаять на землю? В схеме с STM32F4DISCOVERY в STLink она припаяна к земле. В схеме с самим МК она идет в контроллер. А где-то вообще читал, что ее можно оставить висящей. 2. Нужно ли ставить внешний кварцевый резонатор? На странице 185 в параграфе "USB OTG full speed (FS) interface solutions" на рисунке он вроде как указан (выводы OSC_IN и OSC_OUT), но так и не ясно, нужно ли и на какую частоту. В Дискореви стоит на 8MГц, хотя где проскакивала цифра в 48МГц. Спасибо.
  6. Пытался настроить CAN для связи с устройством, для конфигурации CAN_BTR использовал онлайн калькулятор. После компиляции сразу было ясно что связи по CAN нет, при анализе сигнала видно что чистота пакетов из STM в пять раз ниже чем чистота из устройства. Может кто то помочь настроить инициализацию CAN через регистры. Камень STM32F407AVG Частота проца: 168 mHz; Необходимая скорость CAN: 500kBs Пины PB12, PB13. На данный момент функция инициализации выглядит так: void CAN_Init (void) { RCC->APB1ENR |= RCC_APB1ENR_CAN2EN; // enable clock for CAN2 GPIOB->MODER |= (0 << 24); //PB12 IN GPIOB->MODER |= (2 << 26); //PB13 OUT GPIOB->OTYPER |= (0 << 12); //OTYPE PUSH-PULL GPIOB->OTYPER |= (0 << 13); //OTYPE PUSH-PULL GPIOB->PUPDR |= (0 << 24); //PushUP-PushDOWN NO PP GPIOB->PUPDR |= (0 << 26); //PushUP-PushDOWN NO PP GPIOB->OSPEEDR |= (2 << 24); //PIN SPEED FAST GPIOB->OSPEEDR |= (2 << 26); //PIN SPEED FAST GPIOB->AFR[1] |= (9 << 20); //AlternateFunction AF9(CAN) GPIOB->AFR[1] |= (9 << 24); //AlternateFunction AF9(CAN) CAN2->MCR = (CAN_MCR_NART | CAN_MCR_INRQ); // init mode, disable auto. retransmission // Note: only FIFO 0, transmit mailbox 0 used CAN2->IER = (CAN_IER_FMPIE0 | CAN_IER_TMEIE); // FIFO 0 msg pending, Transmit mbx empty CAN2->BTR = 0x001c0014; } Настройки камня: /** * @brief System Clock Configuration * The system Clock is configured as follow : * System Clock source = PLL (HSE) * SYSCLK(Hz) = 168000000 * HCLK(Hz) = 168000000 * AHB Prescaler = 1 * APB1 Prescaler = 4 * APB2 Prescaler = 2 * HSE Frequency(Hz) = HSE_VALUE * PLL_M = (HSE_VALUE/1000000u) * PLL_N = 336 * PLL_P = 2 * PLL_Q = 7 * VDD(V) = 3.3 * Main regulator output voltage = Scale1 mode * Flash Latency(WS) = 5 * @param None * @retval None */
  7. Как Подключить Файлы В Makefile?

    Добрый день, подскажите, есть директория с проектом и библиотеками структура директории /--------------------- main.c lib | |-------cmsis |-------mylib | |--------led | |-------- led.h |-------- led.c |-------STM32F4xx_StdPeriph_Driver build Makefile Как подключить папку led к линковщику // led.h #include <stdio.h> #include "stm32f4xx.h" void turnOn(); void turnOff(); // led.c #include "led.h" void turnOn() { GPIO_SetBits(GPIOD, GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15); } void turnOff() { GPIO_ResetBits(GPIOD, GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15); } // main.c #include <stdio.h> #include "stm32f4xx.h" #include "led.h" ... // init gpio ... extern void turnOn(); extern void turnOff(); ... // init sys clock ... int main(void) { setSysTick(); while(1) { //check the push button turnOn(); Delay(500); turnOff(); } return 0; } описание файла Makefile для линковщика и компилятора # Makefile # STM32F4-Discovery Makefile for Mac OSX SRCS=$(wildcard *.c) # Add assembly source files here or use $(wildcard *.s) for all .s files S_SRCS = CortexM4asmOps.s # Project name PROJ_NAME = test OUTPATH = build OUTPATH := $(abspath $(OUTPATH)) BASEDIR := $(abspath ./) MKDIR_P = mkdir -p ################################################### # Check for valid float argument # NOTE that you have to run make clan after # changing these as hardfloat and softfloat are not # binary compatible ifneq ($(FLOAT_TYPE), hard) ifneq ($(FLOAT_TYPE), soft) #override FLOAT_TYPE = hard override FLOAT_TYPE = soft endif endif ################################################### AS=$(BINPATH)arm-none-eabi-as CC=$(BINPATH)arm-none-eabi-gcc LD=$(BINPATH)arm-none-eabi-gcc OBJCOPY=$(BINPATH)arm-none-eabi-objcopy OBJDUMP=$(BINPATH)arm-none-eabi-objdump SIZE=$(BINPATH)arm-none-eabi-size LINKER_SCRIPT = stm32_flash.ld CPU = -mcpu=cortex-m4 -mthumb CFLAGS = $(CPU) -c -std=gnu99 -g -O2 -Wall LDFLAGS = $(CPU) -mlittle-endian -mthumb-interwork -nostartfiles -Wl,--gc-sections,-Map=$(OUTPATH)/$(PROJ_NAME).map,--cref --specs=nano.specs ifeq ($(FLOAT_TYPE), hard) CFLAGS += -fsingle-precision-constant -Wdouble-promotion CFLAGS += -mfpu=fpv4-sp-d16 -mfloat-abi=hard else CFLAGS += -msoft-float endif # Default to STM32F40_41xxx if no device is passed ifeq ($(DEVICE_DEF), ) DEVICE_DEF = STM32F40_41xxx endif CFLAGS += -D$(DEVICE_DEF) vpath %.a lib vpath %.c lib/mylib # Includes INCLUDE_PATHS = -I$(BASEDIR)/inc -I$(BASEDIR)/lib/cmsis/stm32f4xx -I$(BASEDIR)/lib/cmsis/include -I$(BASEDIR) INCLUDE_PATHS += -I$(BASEDIR)/lib/Conf INCLUDE_PATHS += -I$(BASEDIR)/lib/STM32F4xx_StdPeriph_Driver/inc INCLUDE_PATHS += -I$(BASEDIR)/mylib/im INCLUDE_PATHS += -I$(BASEDIR)/mylib/im/led # Library paths LIBPATHS = -L$(BASEDIR)/lib/STM32F4xx_StdPeriph_Driver # Libraries to link LIBS = -lstdperiph -lc -lgcc -lnosys OBJS = $(SRCS:.c=.o) OBJS += $(S_SRCS:.s=.o) ################################################### .PHONY: lib proj all: dir lib proj $(SIZE) $(OUTPATH)/$(PROJ_NAME).elf lib: $(MAKE) -C lib FLOAT_TYPE=$(FLOAT_TYPE) BINPATH=$(BINPATH) DEVICE_DEF=$(DEVICE_DEF) BASEDIR=$(BASEDIR) proj: $(OUTPATH)/$(PROJ_NAME).elf .s.o: $(AS) $(CPU) -o $(addprefix $(OUTPATH)/, $@) $< .c.o: $(CC) $(CFLAGS) -std=gnu99 $(INCLUDE_PATHS) -o $(addprefix $(OUTPATH)/, $@) $< $(OUTPATH)/$(PROJ_NAME).elf: $(OBJS) $(LD) $(LDFLAGS) -T$(LINKER_SCRIPT) $(LIBPATHS) -o $@ $(addprefix $(OUTPATH)/, $^) $(LIBS) $(LD_SYS_LIBS) $(OBJCOPY) -O ihex $(OUTPATH)/$(PROJ_NAME).elf $(OUTPATH)/$(PROJ_NAME).hex $(OBJCOPY) -O binary $(OUTPATH)/$(PROJ_NAME).elf $(OUTPATH)/$(PROJ_NAME).bin $(OBJDUMP) -S --disassemble $(OUTPATH)/$(PROJ_NAME).elf > $(OUTPATH)/$(PROJ_NAME).dis dir: $(MKDIR_P) $(OUTPATH) clean: rm -f $(OUTPATH)/*.o rm -f $(OUTPATH)/$(PROJ_NAME).elf rm -f $(OUTPATH)/$(PROJ_NAME).hex rm -f $(OUTPATH)/$(PROJ_NAME).bin rm -f $(OUTPATH)/$(PROJ_NAME).dis rm -f $(OUTPATH)/$(PROJ_NAME).map # Remove the following line if you don't want to clean the Libraries as well $(MAKE) clean -C lib flash: st-flash write build/$(PROJ_NAME).bin 0x08000000 компилирую библиотеки make lib make[1]: `mylib' is up to date. собираю бинарник make выдает ошибку build/main.o: In function `main': main.c:37: undefined reference to `turnOn' main.c:39: undefined reference to `turnOff' collect2: error: ld returned 1 exit status make: *** [build/test.elf] Error 1 Если файлы из lib/mylib/led перенести в корень (на уровень, что и main.c), тогда все собирается хорошо Пробовал также добавить SRCS=$(wildcard lib/mylib/led/*.c) ассемблер ругается что нет .o файла Assembler messages: Fatal error: can't create /lib/mylib/led/led.o: No such file or directory make: *** [lib/mylib/led/led.o] Error 1 пытаюсь скомпилировать .o файл gcc -g -o -c led.c не может подтянуть другие хедеры In file included from led.c:1: ./led.h:2:10: fatal error: 'stm32f4xx.h' file not found #include "stm32f4xx.h"
  8. Есть необходимость подключения экрана от iphone 4 к микроконтроллеру stm32f4 Реально ли это? И где искать информацию под это?
  9. Usb Host Hid Для Stm32F4

    Задача: поднять USB Host на STM32F4Discovery и подключить к нему мышь, затем клавиатуру Большая просьба, если у кого-нибудь есть рабочие примеры по USB Host HID, поделитесь пожалуйста Опыта у меня в микроконтроллерах совсем не много, в STM еще меньше. Что было мною сделано: Запускал из Keil 4.73 Ковырялся в примере USB_Host_Examples/HID из библиотеки STM32_USB-Host-Device_Lib_V2.1.0 - ничего не вышло, моя плата виснет, а деббагер на следующей же команде после функции USBH_Init(.....); вылетает с ошибкой "Cannot access target". Возможно это из-за LCD которого в моей плате нет, но чтобы вычленить его из примера моего уровня не хватает. [было весело, когда я случайно прикоснулся к полоске выводов платки и включил питание USB хоста, туда оказывается кнопка была выведена] Затем я взял STM32CubeMX и сгенерил код для своего STM32F4Discovery. Проект оказался более понятым, логичным, а код читабельным, но при этом менее качественным, как мне показалось, но все равно ничего не заработало. Понять почему пока не смог, были проблемы с отладкой. Почему то device.is_connected всегда FALSE, а phost->gState всегда HOST_IDLE Кто знает, подскажите пожалуйста, как поднять этот хост на STM32F4Discovery?