STM32F0 и USART

Кто любит RISC в жизни, заходим, не стесняемся.
Аватара пользователя
Kvasshtain
Нашел транзистор. Понюхал.
Сообщения: 170
Зарегистрирован: Ср фев 09, 2011 13:29:01
Откуда: г.Саратов

Re: STM32F0 и USART

Сообщение Kvasshtain »

STM32F0 Discovery + своя плата с FT232BL подключенная к Discovery.
Вложения
STM32 USART.rar
(304.19 КБ) 558 скачиваний
Говорят, что у него нет носа и рта, и что он общается телепатией. Говорят, что у него зеленая кожа, и он питается как растение, закопав ноги в землю и подставив спину солнцу. Все что знаем мы: его зовут Вовэн.
Реклама
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Re: STM32F0 и USART

Сообщение dosikus »

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

 // Включить тактирование порта А
  RCC->AHBENR |= RCC_AHBENR_GPIOBEN;
Предоставляю возможность найти самому (очепятку?) или невнимательность . :)))
Реклама
Аватара пользователя
Kvasshtain
Нашел транзистор. Понюхал.
Сообщения: 170
Зарегистрирован: Ср фев 09, 2011 13:29:01
Откуда: г.Саратов

Re: STM32F0 и USART

Сообщение Kvasshtain »

Было
RCC->AHBENR |= RCC_AHBENR_GPIOBEN;
, а надо
RCC->AHBENR |= RCC_AHBENR_GPIOAEN;
Балбес — я, балбес. :? А я мучаюсь. :))) Ладно дома попробую исправить. Завтра отпишусь.
Dosikus, спасибо Вам за помощь. :beer:
Говорят, что у него нет носа и рта, и что он общается телепатией. Говорят, что у него зеленая кожа, и он питается как растение, закопав ноги в землю и подставив спину солнцу. Все что знаем мы: его зовут Вовэн.
Аватара пользователя
Kvasshtain
Нашел транзистор. Понюхал.
Сообщения: 170
Зарегистрирован: Ср фев 09, 2011 13:29:01
Откуда: г.Саратов

Re: STM32F0 и USART

Сообщение Kvasshtain »

УРА!!! :)) Все заработало. Спасибо Вам Dosikus за помощь. Желаю Вам на STM-ке Терминатора собрать для работы на огороде, ну или хотя бы Бигдога. :beer: :music:
Говорят, что у него нет носа и рта, и что он общается телепатией. Говорят, что у него зеленая кожа, и он питается как растение, закопав ноги в землю и подставив спину солнцу. Все что знаем мы: его зовут Вовэн.
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
Kvasshtain
Нашел транзистор. Понюхал.
Сообщения: 170
Зарегистрирован: Ср фев 09, 2011 13:29:01
Откуда: г.Саратов

Re: STM32F0 и USART

Сообщение Kvasshtain »

Вот и пришло время осваивать прием. Решил через прерывание. Но вот блин, ... опять не хочет орбайтн. Прерывание срабатывает и виснит намертво. Что я опять делаю не так не пойму :dont_know: . Вот код:

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

#include "stm32f0xx.h"

#define APBCLK   8000000UL
#define BAUDRATE 9600UL

int flag = 0;

void Init_usart(void)
{
  // Включить тактирование порта А
  RCC->AHBENR |= RCC_AHBENR_GPIOAEN;
  // Включаем тактирование USART1
  RCC->APB2ENR |= RCC_APB2ENR_USART1EN;  //Включаем тактирование USART1
  
  GPIOA->MODER   |= GPIO_MODER_MODER10_1;         // PA10 (RX) - Alternate function mode
  GPIOA->OSPEEDR |= GPIO_OSPEEDER_OSPEEDR10;      // PA10 (RX) - High speed
  GPIOA->AFR[1]    |= 0x0110;  //
  
  RCC->CFGR3     &= ~RCC_CFGR3_USART1SW;
  RCC->CFGR3     |=  RCC_CFGR3_USART1SW_0;  //System clock (SYSCLK) selected as USART1 clock
 
  
  USART1->CR1 |= USART_CR1_UE; //Включаем USART1
  USART1->CR1 &= ~USART_CR1_M; //Данные - 8 бит
  USART1->CR2 &= ~USART_CR2_STOP; //1 стоп-бит
  USART1->BRR =(APBCLK+BAUDRATE/2)/BAUDRATE; //скорость usart
  USART1->CR1 |= USART_CR1_TE; //Включаем передатчик USART1
  USART1->CR1 |= USART_CR1_RE; //Включаем приемник USART1
  USART1->CR1 |= USART_CR1_RXNEIE; //Разрешаем прерывание по приему USART1 в самом модуле USART1
  //NVIC_SetPriority(USART1_IRQn, 15); // Как я понял, это функция, которая позволяет изменить приоритет прерывания 
  //(вот только, что происходит с тем прерыванием, которое имело этот приоритет по умолчанию я не знаю)
  NVIC_EnableIRQ(USART1_IRQn); // А эта функция, как я понял, разрешает прерывание от USART1
}

...

void USART1_DAC_IRQHandler(void) // Обработчик прерывания по приему символа USART
{
  USART1->ISR &= ~USART_ISR_RXNE; // Сбрасываем флаг (RDR не пуст, принят символ)
  flag = 1;
}

// Главный цикл
int main(void)
{
  
  Init_GPIO();
  Init_usart();
  while(1)
    {
      // Моргание ножкой pc9!
      led_On9();
      delay(1000000UL);
      led_Off9();
      if (flag)
      {
        led_On8();
        delay(1000000UL);
        led_Off8();
        flag = 0;
      }
      delay(1000000UL);
    }
}
Здесь просто проверяется светодиодиком наличие приема. То есть я не беру из RDR данных. Может дело в этом (читал в даташыте, что есть там такае фишка как ошибка перезаписи)?
Еще попутный вопрос: Что делают функции NVIC_SetPriority и NVIC_EnableIRQ. Как я понял, первая меняет приоритет прерывания (круто, такого в AVR-ках не было), но тогда, что случается с прерыванием, которое имело приоритет, который мы хотим задать для нашего прерывания. А вторая разрешает прерывание от аппаратного модуля USART (при этом USART1->CR1 |= USART_CR1_RXNEIE - Разрешаем прерывание по приему USART1 в самом модуле USART1). Хочу сказать, что вход в прерывание происходит точно, это видно и по отладчику (которым я пока плохо умею пользоваться) и, когда я размещаю функцию зажигания диода в теле обработчика прерывания, по загорающемуся синему светику.
Ну и на последок, чем отличаются обработчики USART1_DAC_IRQHandler и USART1_IRQHandler, пробовал и тот и другой :roll: .
Вложения
STM32 USART прием.rar
(308.89 КБ) 380 скачиваний
Говорят, что у него нет носа и рта, и что он общается телепатией. Говорят, что у него зеленая кожа, и он питается как растение, закопав ноги в землю и подставив спину солнцу. Все что знаем мы: его зовут Вовэн.
Реклама
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Re: STM32F0 и USART

Сообщение dosikus »

Kvasshtain писал(а): То есть я не беру из RDR данных. Может дело в этом (читал в даташыте, что есть там такае фишка как ошибка перезаписи)?
Флаг RXNE сбрасывается вычиткой RDR или записью 1 в RXFRQ, софтовый сброс его невозможен .
Kvasshtain писал(а): Еще попутный вопрос: Что делают функции NVIC_SetPriority и NVIC_EnableIRQ. Как я понял, первая меняет приоритет прерывания (круто, такого в AVR-ках не было), но тогда, что случается с прерыванием, которое имело приоритет, который мы хотим задать для нашего прерывания. А вторая разрешает прерывание от аппаратного модуля USART (при этом USART1->CR1 |= USART_CR1_RXNEIE - Разрешаем прерывание по приему USART1 в самом модуле USART1). Хочу сказать, что вход в прерывание происходит точно, это видно и по отладчику (которым я пока плохо умею пользоваться) и, когда я размещаю функцию зажигания диода в теле обработчика прерывания, по загорающемуся синему светику.
Читать о NVIC а это уже ядро .

Kvasshtain писал(а): Ну и на последок, чем отличаются обработчики USART1_DAC_IRQHandler и USART1_IRQHandler, пробовал и тот и другой :roll: .

В STM32F051 нет USART1_DAC_IRQHandler , где ты его выцепил ?
Да и обработчики как таковые ты пишешь сам. Изначально их нет, есть только вектора .


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

delay(1000000UL);
- кошмар

SYStick не проще юзать ?
Реклама
Аватара пользователя
Kvasshtain
Нашел транзистор. Понюхал.
Сообщения: 170
Зарегистрирован: Ср фев 09, 2011 13:29:01
Откуда: г.Саратов

Re: STM32F0 и USART

Сообщение Kvasshtain »

Здравствуйте уважаемый Dosikus. Благодарю за ответ :)) . По поводу USART1_DAC_IRQHandler. Будете смеяться, но когда стал перебирать варианты, почему не работает заглянул вот сюда http://kazus.ru/forums/showthread.php?t=106689&page=2, и Вы там советуете сменить void TIM6_IRQHandler(void) на void TIM6_DAC_IRQHandler (void) :))) . Я сделал по образу и подобию для USART-а. Причем работает и так и так, но и виснет и так и так. Вот только чем отличается с DAC и без него, я не понял (вообще DAC – это что такое, вроде на АЦП не похоже).

А задержку я на скорую руку сделал, мне-ж просто разобраться пока надо, хрен с ним, что это пока быдлокод и полное отсутствие оптимизации.
Говорят, что у него нет носа и рта, и что он общается телепатией. Говорят, что у него зеленая кожа, и он питается как растение, закопав ноги в землю и подставив спину солнцу. Все что знаем мы: его зовут Вовэн.
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Re: STM32F0 и USART

Сообщение dosikus »

Потому что такой вектор существует, см startup_stm32f0xx.s :
Спойлер

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

Default_Handler PROC

                EXPORT  WWDG_IRQHandler                [WEAK]
                EXPORT  PVD_IRQHandler                 [WEAK]
                EXPORT  RTC_IRQHandler                 [WEAK]
                EXPORT  FLASH_IRQHandler               [WEAK]
                EXPORT  RCC_IRQHandler                 [WEAK]
                EXPORT  EXTI0_1_IRQHandler             [WEAK]
                EXPORT  EXTI2_3_IRQHandler             [WEAK]
                EXPORT  EXTI4_15_IRQHandler            [WEAK]
                EXPORT  TS_IRQHandler                  [WEAK]
                EXPORT  DMA1_Channel1_IRQHandler       [WEAK]
                EXPORT  DMA1_Channel2_3_IRQHandler     [WEAK]
                EXPORT  DMA1_Channel4_5_IRQHandler     [WEAK]
                EXPORT  ADC1_COMP_IRQHandler           [WEAK]
                EXPORT  TIM1_BRK_UP_TRG_COM_IRQHandler [WEAK]
                EXPORT  TIM1_CC_IRQHandler             [WEAK]
                EXPORT  TIM2_IRQHandler                [WEAK]
                EXPORT  TIM3_IRQHandler                [WEAK]
                EXPORT  TIM6_DAC_IRQHandler            [WEAK]
                EXPORT  TIM14_IRQHandler               [WEAK]
                EXPORT  TIM15_IRQHandler               [WEAK]
                EXPORT  TIM16_IRQHandler               [WEAK]
                EXPORT  TIM17_IRQHandler               [WEAK]
                EXPORT  I2C1_IRQHandler                [WEAK]
                EXPORT  I2C2_IRQHandler                [WEAK]
                EXPORT  SPI1_IRQHandler                [WEAK]
                EXPORT  SPI2_IRQHandler                [WEAK]
                EXPORT  USART1_IRQHandler              [WEAK]
                EXPORT  USART2_IRQHandler              [WEAK]
                EXPORT  CEC_IRQHandler                 [WEAK]

А обозвать обработчик ты можешь как угодно, вот только если он не будет совпадать с именем вектора то и не попадешь ты в него никогда..
В добавок будешь улетать в Handler fault при обработке прерывания.
Аватара пользователя
Kvasshtain
Нашел транзистор. Понюхал.
Сообщения: 170
Зарегистрирован: Ср фев 09, 2011 13:29:01
Откуда: г.Саратов

Re: STM32F0 и USART

Сообщение Kvasshtain »

Н-да... по поводу того, что с USART1_DAC_IRQHandler работает, это я погорячился. Прерывание у меня срабатывало и уходило на обработчик по умолчанию, который, как я знаю, представляет из себя пустой бесконечный цикл, который все на фиг вешает, если я конечно не наврал. :roll: А вот в USART1_IRQHandler светодиодик загорался если зажигать его из самого прерывания.
Говорят, что у него нет носа и рта, и что он общается телепатией. Говорят, что у него зеленая кожа, и он питается как растение, закопав ноги в землю и подставив спину солнцу. Все что знаем мы: его зовут Вовэн.
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Re: STM32F0 и USART

Сообщение dosikus »

Ну так что сейчас не работает ?
Вычитывай RDR и не будет виснуть...
Аватара пользователя
Kvasshtain
Нашел транзистор. Понюхал.
Сообщения: 170
Зарегистрирован: Ср фев 09, 2011 13:29:01
Откуда: г.Саратов

Re: STM32F0 и USART

Сообщение Kvasshtain »

Да я же говорил уже, что дома и-нета нет, а на работу я такие вещи не ношу. Так что сегодня вечером попробую, завтра отпишусь.
Говорят, что у него нет носа и рта, и что он общается телепатией. Говорят, что у него зеленая кожа, и он питается как растение, закопав ноги в землю и подставив спину солнцу. Все что знаем мы: его зовут Вовэн.
Аватара пользователя
GARMIN
Держит паяльник хвостом
Сообщения: 954
Зарегистрирован: Вс дек 02, 2012 16:58:33
Откуда: от туда
Контактная информация:

Re: STM32F0 и USART

Сообщение GARMIN »

Влезу со своим вопросом.
У меня такая же проблема. Плата STM32F0Discovery. Процессор STM32F051R8
Настраиваю USART1
Передача работает прекрасно.
Приём делаю по прерыванию. Пока на приёмник не подаю данные, передача работает по таймеру. Как только принимается символ в USART, взводится прерывание и не сбрасывается флаг прерывания - процессор всё время находится в прерывании. Сбрасывание флага RXFRQ в теле прерывания не помогает.
Прошу помочь более опытных котов.
FreeRTOS работает, передача в очередях тоже, прикрепляю периферию.
Проект пишу в CooCox,

Инициализация USART:

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

void init_usart (void)
{
	GPIO_InitTypeDef  GPIO_InitStruct;
    USART_InitTypeDef USART_InitStructure;

    // установка пинов USART
    GPIO_InitStruct.GPIO_Pin = GPIO_Pin_9;
	GPIO_InitStruct.GPIO_Mode  = GPIO_Mode_AF;
	GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
	GPIO_InitStruct.GPIO_OType = GPIO_OType_PP;
	GPIO_InitStruct.GPIO_PuPd  = GPIO_PuPd_NOPULL;

    GPIO_Init(GPIOA, &GPIO_InitStruct);

    GPIO_InitStruct.GPIO_PuPd  = GPIO_PuPd_UP;
    GPIO_InitStruct.GPIO_Pin = GPIO_Pin_10;
    GPIO_Init(GPIOA, &GPIO_InitStruct);

    GPIO_PinAFConfig(GPIOA, GPIO_PinSource9, GPIO_AF_1);	// USART1_TX
    GPIO_PinAFConfig(GPIOA, GPIO_PinSource10, GPIO_AF_1);	// USART1_RX

    // Разрешить тактирование USART
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);

    USART_InitStructure.USART_BaudRate = 9600;
    USART_InitStructure.USART_WordLength = USART_WordLength_8b;
    USART_InitStructure.USART_StopBits = USART_StopBits_1;
    USART_InitStructure.USART_Parity = USART_Parity_No;
    USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
    USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;

  	USART_Init(USART1, &USART_InitStructure);

	while (USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET)
	{}
  	USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);
  	
	USART_Cmd(USART1, ENABLE);

}
Обработчик прерывания USART:

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

char string[20];

unsigned char counter = 0;
void USART1_IRQHandler (void)
{
	char litera = USART_ReceiveData(USART1);        // здесь читаю байт из USART
	portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
	USART_RequestCmd(USART1, USART_Request_RXFRQ, ENABLE);	// здесь запись флага не помогает сбросить

	if ( (litera == '\r') || (counter >= 19) )
	{
		counter = 0;
		xQueueSendToBackFromISR (g.xOUT_USART1_Queue, &string, &xHigherPriorityTaskWoken);
		//memcpy(out_str, string, 20);
		if (xHigherPriorityTaskWoken == pdTRUE)
			taskYIELD();
	}
	else
	{
		string[counter++] = litera;
		string[counter] = 0;
	}
}
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Re: STM32F0 и USART

Сообщение dosikus »

Где установка приоритета прерывания и разрешение самого прерывания ?
С чего сделаны выводы что прерывание обрабатывается ? :)))
В самом прерывании не лишней будет проверка флагов .
Доведет вас кактус и SPL до ручки... :)))
Аватара пользователя
GARMIN
Держит паяльник хвостом
Сообщения: 954
Зарегистрирован: Вс дек 02, 2012 16:58:33
Откуда: от туда
Контактная информация:

Re: STM32F0 и USART

Сообщение GARMIN »

Я знаю, что недоглядел какую-то ерунду, но не могу сам найти причину.

Вот в прерываниях у STM я пока не разобрался.
Векторы прерывания устанавливаются в стартапе ассемблером:

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

 
g_pfnVectors:
  .word _eram
  .word Reset_Handler
  .word NMI_Handler
  .word HardFault_Handler
  .word 0
  .word 0
  .word 0
  .word 0
  .word 0
  .word 0
  .word 0
  .word SVC_Handler			/*SVC_Handler*/
  .word 0
  .word 0
  .word PendSV_Handler		/*PendSV_Handler*/
  .word SysTick_Handler		/*SysTick_Handler*/
  .word WWDG_IRQHandler
  .word PVD_IRQHandler
  .word RTC_IRQHandler
  .word FLASH_IRQHandler
  .word RCC_IRQHandler
  .word EXTI0_1_IRQHandler
  .word EXTI2_3_IRQHandler
  .word EXTI4_15_IRQHandler
  .word TS_IRQHandler
  .word DMA1_Channel1_IRQHandler
  .word DMA1_Channel2_3_IRQHandler
  .word DMA1_Channel4_5_IRQHandler
  .word ADC1_COMP_IRQHandler
  .word TIM1_BRK_UP_TRG_COM_IRQHandler
  .word TIM1_CC_IRQHandler
  .word TIM2_IRQHandler
  .word TIM3_IRQHandler
  .word TIM6_DAC_IRQHandler
  .word 0
  .word TIM14_IRQHandler
  .word TIM15_IRQHandler
  .word TIM16_IRQHandler
  .word TIM17_IRQHandler
  .word I2C1_IRQHandler
  .word I2C2_IRQHandler
  .word SPI1_IRQHandler
  .word SPI2_IRQHandler
  .word USART1_IRQHandler
  .word USART2_IRQHandler
  .word 0
  .word CEC_IRQHandler
  .word 0
  .word BootRAM 
Установка прерываний:

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

void init_nvic (void)
{
    NVIC_InitTypeDef NVIC_InitStructure;

	NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn;
	NVIC_InitStructure.NVIC_IRQChannelPriority = 0;
	NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;

	NVIC_Init(&NVIC_InitStructure);

}
В прервание я отладчиком попадаю, но впрерывании значение регистра USART_CR1 0000002d, то есть
флаг RXNEIE установлен и не сбрасывается при выходе из прерывания.
Где копать?
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Re: STM32F0 и USART

Сообщение dosikus »

GARMIN писал(а): В прервание я отладчиком попадаю, но впрерывании значение регистра USART_CR1 0000002d, то есть
флаг RXNEIE установлен и не сбрасывается при выходе из прерывания.
Где копать?
Пока не поздно бросайте SPL вместе с кактусом, послушайте доброго совета.

Вот при чем здесь CR1 и RXNEIE ?
RXNEIE - это бит разрешения прерывания .
А флаг прерывания от приема USART - это RXNE и находится он в ISR .

ЗЫ. Сейчас последует реплика -" в AVR было проще" ... :)))
Аватара пользователя
GARMIN
Держит паяльник хвостом
Сообщения: 954
Зарегистрирован: Вс дек 02, 2012 16:58:33
Откуда: от туда
Контактная информация:

Re: STM32F0 и USART

Сообщение GARMIN »

Я, наверное, не тот даташит смотрел. У меня есть RM0091 STM32F05 reference manual,
а мне нужен STM32F0x1
На сайте STM я его быстро не нашёл. Гугл не подсказывает. Кто знает ссылку?
В кокосе отображаются не те регистры, которые я вижу в даташите.
Вложения
06.12.gif
(15.17 КБ) 527 скачиваний
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Re: STM32F0 и USART

Сообщение dosikus »

GARMIN писал(а):Я, наверное, не тот даташит смотрел. У меня есть RM0091 STM32F05 reference manual,
Не надумывай , даташит именно тот .
А все беды от кактуса с SPL . :)))
Аватара пользователя
GARMIN
Держит паяльник хвостом
Сообщения: 954
Зарегистрирован: Вс дек 02, 2012 16:58:33
Откуда: от туда
Контактная информация:

Re: STM32F0 и USART

Сообщение GARMIN »

Спасибо, хоть успокаиваешь.
Я так понял, что прерывание зацикливается.
После выполнения прерывания процессор тупо переходит на его начало

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

 97       		string[counter] = 0;
08002ada:   ldr r3, [pc, #20]       ; (0x8002af0 <USART1_IRQHandler+136>)
08002adc:   ldrb r3, [r3, #0]
08002ade:   ldr r2, [pc, #24]       ; (0x8002af8 <USART1_IRQHandler+144>)
08002ae0:   movs r1, #0
08002ae2:   strb r1, [r2, r3]
 99       }
08002ae4:   mov sp, r7
08002ae6:   add sp, #8
08002ae8:   pop {r7, pc}      // вот отсюда шагаю прямо в начало прерывания
 nop ; (mov r8, r8)
Это происходит во время приёма второго символа.
То есть в буфере приёмника после передачи строки "45" оказываются символы "455555555555"
И я не совсем понимаю, при чём тут IDE. Компилятор то GCC, я смотрю выполнение программы компилятора.
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Re: STM32F0 и USART

Сообщение dosikus »

GARMIN писал(а):Спасибо, хоть успокаиваешь.
Я так понял, что прерывание зацикливается.
После выполнения прерывания процессор тупо переходит на его начало
Значится флаг все таки сбрасывается ? :))) Ты просто не можешь проверить ибо кактус тебе его не покажет.
Предполагаю, что обработчик прерывания чрезмерно затянут и нагружен .
Выкинуть все оставив вычитку .
Это не IDE это ж..па . :)))
Аватара пользователя
GARMIN
Держит паяльник хвостом
Сообщения: 954
Зарегистрирован: Вс дек 02, 2012 16:58:33
Откуда: от туда
Контактная информация:

Re: STM32F0 и USART

Сообщение GARMIN »

По поводу прерывания проверю.
Чем предлагаешь пользоваться?
До этого я работал с IAR, хочу лучшего.
Ответить

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