STM32F0 и USART
- Kvasshtain
- Нашел транзистор. Понюхал.
- Сообщения: 170
- Зарегистрирован: Ср фев 09, 2011 13:29:01
- Откуда: г.Саратов
Re: STM32F0 и USART
STM32F0 Discovery + своя плата с FT232BL подключенная к Discovery.
- Вложения
-
- STM32 USART.rar
- (304.19 КБ) 558 скачиваний
Говорят, что у него нет носа и рта, и что он общается телепатией. Говорят, что у него зеленая кожа, и он питается как растение, закопав ноги в землю и подставив спину солнцу. Все что знаем мы: его зовут Вовэн.
- Реклама
Re: STM32F0 и USART
Код: Выделить всё
// Включить тактирование порта А
RCC->AHBENR |= RCC_AHBENR_GPIOBEN;- Kvasshtain
- Нашел транзистор. Понюхал.
- Сообщения: 170
- Зарегистрирован: Ср фев 09, 2011 13:29:01
- Откуда: г.Саратов
Re: STM32F0 и USART
Было
RCC->AHBENR |= RCC_AHBENR_GPIOBEN;
, а надо
RCC->AHBENR |= RCC_AHBENR_GPIOAEN;
Балбес — я, балбес.
А я мучаюсь.
Ладно дома попробую исправить. Завтра отпишусь.
Dosikus, спасибо Вам за помощь.
RCC->AHBENR |= RCC_AHBENR_GPIOBEN;
, а надо
RCC->AHBENR |= RCC_AHBENR_GPIOAEN;
Балбес — я, балбес.
Dosikus, спасибо Вам за помощь.
Говорят, что у него нет носа и рта, и что он общается телепатией. Говорят, что у него зеленая кожа, и он питается как растение, закопав ноги в землю и подставив спину солнцу. Все что знаем мы: его зовут Вовэн.
- Kvasshtain
- Нашел транзистор. Понюхал.
- Сообщения: 170
- Зарегистрирован: Ср фев 09, 2011 13:29:01
- Откуда: г.Саратов
Re: STM32F0 и USART
УРА!!!
Все заработало. Спасибо Вам Dosikus за помощь. Желаю Вам на STM-ке Терминатора собрать для работы на огороде, ну или хотя бы Бигдога.

Говорят, что у него нет носа и рта, и что он общается телепатией. Говорят, что у него зеленая кожа, и он питается как растение, закопав ноги в землю и подставив спину солнцу. Все что знаем мы: его зовут Вовэн.
- Kvasshtain
- Нашел транзистор. Понюхал.
- Сообщения: 170
- Зарегистрирован: Ср фев 09, 2011 13:29:01
- Откуда: г.Саратов
Re: STM32F0 и USART
Вот и пришло время осваивать прием. Решил через прерывание. Но вот блин, ... опять не хочет орбайтн. Прерывание срабатывает и виснит намертво. Что я опять делаю не так не пойму
. Вот код:
Здесь просто проверяется светодиодиком наличие приема. То есть я не беру из RDR данных. Может дело в этом (читал в даташыте, что есть там такае фишка как ошибка перезаписи)?
Еще попутный вопрос: Что делают функции NVIC_SetPriority и NVIC_EnableIRQ. Как я понял, первая меняет приоритет прерывания (круто, такого в AVR-ках не было), но тогда, что случается с прерыванием, которое имело приоритет, который мы хотим задать для нашего прерывания. А вторая разрешает прерывание от аппаратного модуля USART (при этом USART1->CR1 |= USART_CR1_RXNEIE - Разрешаем прерывание по приему USART1 в самом модуле USART1). Хочу сказать, что вход в прерывание происходит точно, это видно и по отладчику (которым я пока плохо умею пользоваться) и, когда я размещаю функцию зажигания диода в теле обработчика прерывания, по загорающемуся синему светику.
Ну и на последок, чем отличаются обработчики USART1_DAC_IRQHandler и USART1_IRQHandler, пробовал и тот и другой
.
Код: Выделить всё
#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);
}
}
Еще попутный вопрос: Что делают функции NVIC_SetPriority и NVIC_EnableIRQ. Как я понял, первая меняет приоритет прерывания (круто, такого в AVR-ках не было), но тогда, что случается с прерыванием, которое имело приоритет, который мы хотим задать для нашего прерывания. А вторая разрешает прерывание от аппаратного модуля USART (при этом USART1->CR1 |= USART_CR1_RXNEIE - Разрешаем прерывание по приему USART1 в самом модуле USART1). Хочу сказать, что вход в прерывание происходит точно, это видно и по отладчику (которым я пока плохо умею пользоваться) и, когда я размещаю функцию зажигания диода в теле обработчика прерывания, по загорающемуся синему светику.
Ну и на последок, чем отличаются обработчики USART1_DAC_IRQHandler и USART1_IRQHandler, пробовал и тот и другой
- Вложения
-
- STM32 USART прием.rar
- (308.89 КБ) 380 скачиваний
Говорят, что у него нет носа и рта, и что он общается телепатией. Говорят, что у него зеленая кожа, и он питается как растение, закопав ноги в землю и подставив спину солнцу. Все что знаем мы: его зовут Вовэн.
- Реклама
Re: STM32F0 и USART
Флаг RXNE сбрасывается вычиткой RDR или записью 1 в RXFRQ, софтовый сброс его невозможен .Kvasshtain писал(а): То есть я не беру из RDR данных. Может дело в этом (читал в даташыте, что есть там такае фишка как ошибка перезаписи)?
Читать о NVIC а это уже ядро .Kvasshtain писал(а): Еще попутный вопрос: Что делают функции NVIC_SetPriority и NVIC_EnableIRQ. Как я понял, первая меняет приоритет прерывания (круто, такого в AVR-ках не было), но тогда, что случается с прерыванием, которое имело приоритет, который мы хотим задать для нашего прерывания. А вторая разрешает прерывание от аппаратного модуля USART (при этом USART1->CR1 |= USART_CR1_RXNEIE - Разрешаем прерывание по приему USART1 в самом модуле USART1). Хочу сказать, что вход в прерывание происходит точно, это видно и по отладчику (которым я пока плохо умею пользоваться) и, когда я размещаю функцию зажигания диода в теле обработчика прерывания, по загорающемуся синему светику.
Kvasshtain писал(а): Ну и на последок, чем отличаются обработчики USART1_DAC_IRQHandler и USART1_IRQHandler, пробовал и тот и другой.
В STM32F051 нет USART1_DAC_IRQHandler , где ты его выцепил ?
Да и обработчики как таковые ты пишешь сам. Изначально их нет, есть только вектора .
Код: Выделить всё
delay(1000000UL);SYStick не проще юзать ?
- Kvasshtain
- Нашел транзистор. Понюхал.
- Сообщения: 170
- Зарегистрирован: Ср фев 09, 2011 13:29:01
- Откуда: г.Саратов
Re: STM32F0 и USART
Здравствуйте уважаемый 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 – это что такое, вроде на АЦП не похоже).
А задержку я на скорую руку сделал, мне-ж просто разобраться пока надо, хрен с ним, что это пока быдлокод и полное отсутствие оптимизации.
А задержку я на скорую руку сделал, мне-ж просто разобраться пока надо, хрен с ним, что это пока быдлокод и полное отсутствие оптимизации.
Говорят, что у него нет носа и рта, и что он общается телепатией. Говорят, что у него зеленая кожа, и он питается как растение, закопав ноги в землю и подставив спину солнцу. Все что знаем мы: его зовут Вовэн.
Re: STM32F0 и USART
Потому что такой вектор существует, см startup_stm32f0xx.s :
А обозвать обработчик ты можешь как угодно, вот только если он не будет совпадать с именем вектора то и не попадешь ты в него никогда..
В добавок будешь улетать в Handler fault при обработке прерывания.
Спойлер
Код: Выделить всё
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
Н-да... по поводу того, что с USART1_DAC_IRQHandler работает, это я погорячился. Прерывание у меня срабатывало и уходило на обработчик по умолчанию, который, как я знаю, представляет из себя пустой бесконечный цикл, который все на фиг вешает, если я конечно не наврал.
А вот в USART1_IRQHandler светодиодик загорался если зажигать его из самого прерывания.
Говорят, что у него нет носа и рта, и что он общается телепатией. Говорят, что у него зеленая кожа, и он питается как растение, закопав ноги в землю и подставив спину солнцу. Все что знаем мы: его зовут Вовэн.
Re: STM32F0 и USART
Ну так что сейчас не работает ?
Вычитывай RDR и не будет виснуть...
Вычитывай RDR и не будет виснуть...
- Kvasshtain
- Нашел транзистор. Понюхал.
- Сообщения: 170
- Зарегистрирован: Ср фев 09, 2011 13:29:01
- Откуда: г.Саратов
Re: STM32F0 и USART
Да я же говорил уже, что дома и-нета нет, а на работу я такие вещи не ношу. Так что сегодня вечером попробую, завтра отпишусь.
Говорят, что у него нет носа и рта, и что он общается телепатией. Говорят, что у него зеленая кожа, и он питается как растение, закопав ноги в землю и подставив спину солнцу. Все что знаем мы: его зовут Вовэн.
- GARMIN
- Держит паяльник хвостом
- Сообщения: 954
- Зарегистрирован: Вс дек 02, 2012 16:58:33
- Откуда: от туда
- Контактная информация:
Re: STM32F0 и USART
Влезу со своим вопросом.
У меня такая же проблема. Плата STM32F0Discovery. Процессор STM32F051R8
Настраиваю USART1
Передача работает прекрасно.
Приём делаю по прерыванию. Пока на приёмник не подаю данные, передача работает по таймеру. Как только принимается символ в USART, взводится прерывание и не сбрасывается флаг прерывания - процессор всё время находится в прерывании. Сбрасывание флага RXFRQ в теле прерывания не помогает.
Прошу помочь более опытных котов.
FreeRTOS работает, передача в очередях тоже, прикрепляю периферию.
Проект пишу в CooCox,
Инициализация USART:
Обработчик прерывания USART:
У меня такая же проблема. Плата 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);
}Код: Выделить всё
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;
}
}Re: STM32F0 и USART
Где установка приоритета прерывания и разрешение самого прерывания ?
С чего сделаны выводы что прерывание обрабатывается ?
В самом прерывании не лишней будет проверка флагов .
Доведет вас кактус и SPL до ручки...
С чего сделаны выводы что прерывание обрабатывается ?
В самом прерывании не лишней будет проверка флагов .
Доведет вас кактус и SPL до ручки...
- GARMIN
- Держит паяльник хвостом
- Сообщения: 954
- Зарегистрирован: Вс дек 02, 2012 16:58:33
- Откуда: от туда
- Контактная информация:
Re: STM32F0 и USART
Я знаю, что недоглядел какую-то ерунду, но не могу сам найти причину.
Вот в прерываниях у STM я пока не разобрался.
Векторы прерывания устанавливаются в стартапе ассемблером:
Установка прерываний:
В прервание я отладчиком попадаю, но впрерывании значение регистра USART_CR1 0000002d, то есть
флаг RXNEIE установлен и не сбрасывается при выходе из прерывания.
Где копать?
Вот в прерываниях у 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);
}флаг RXNEIE установлен и не сбрасывается при выходе из прерывания.
Где копать?
Re: STM32F0 и USART
Пока не поздно бросайте SPL вместе с кактусом, послушайте доброго совета.GARMIN писал(а): В прервание я отладчиком попадаю, но впрерывании значение регистра USART_CR1 0000002d, то есть
флаг RXNEIE установлен и не сбрасывается при выходе из прерывания.
Где копать?
Вот при чем здесь CR1 и RXNEIE ?
RXNEIE - это бит разрешения прерывания .
А флаг прерывания от приема USART - это RXNE и находится он в ISR .
ЗЫ. Сейчас последует реплика -" в AVR было проще" ...
- GARMIN
- Держит паяльник хвостом
- Сообщения: 954
- Зарегистрирован: Вс дек 02, 2012 16:58:33
- Откуда: от туда
- Контактная информация:
Re: STM32F0 и USART
Я, наверное, не тот даташит смотрел. У меня есть RM0091 STM32F05 reference manual,
а мне нужен STM32F0x1
На сайте STM я его быстро не нашёл. Гугл не подсказывает. Кто знает ссылку?
В кокосе отображаются не те регистры, которые я вижу в даташите.
а мне нужен STM32F0x1
На сайте STM я его быстро не нашёл. Гугл не подсказывает. Кто знает ссылку?
В кокосе отображаются не те регистры, которые я вижу в даташите.
- Вложения
-
- 06.12.gif
- (15.17 КБ) 527 скачиваний
Re: STM32F0 и USART
Не надумывай , даташит именно тот .GARMIN писал(а):Я, наверное, не тот даташит смотрел. У меня есть RM0091 STM32F05 reference manual,
А все беды от кактуса с SPL .
- GARMIN
- Держит паяльник хвостом
- Сообщения: 954
- Зарегистрирован: Вс дек 02, 2012 16:58:33
- Откуда: от туда
- Контактная информация:
Re: STM32F0 и USART
Спасибо, хоть успокаиваешь.
Я так понял, что прерывание зацикливается.
После выполнения прерывания процессор тупо переходит на его начало
Это происходит во время приёма второго символа.
То есть в буфере приёмника после передачи строки "45" оказываются символы "455555555555"
И я не совсем понимаю, при чём тут IDE. Компилятор то GCC, я смотрю выполнение программы компилятора.
Я так понял, что прерывание зацикливается.
После выполнения прерывания процессор тупо переходит на его начало
Код: Выделить всё
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, я смотрю выполнение программы компилятора.
Re: STM32F0 и USART
Значится флаг все таки сбрасывается ?GARMIN писал(а):Спасибо, хоть успокаиваешь.
Я так понял, что прерывание зацикливается.
После выполнения прерывания процессор тупо переходит на его начало
Предполагаю, что обработчик прерывания чрезмерно затянут и нагружен .
Выкинуть все оставив вычитку .
Это не IDE это ж..па .
- GARMIN
- Держит паяльник хвостом
- Сообщения: 954
- Зарегистрирован: Вс дек 02, 2012 16:58:33
- Откуда: от туда
- Контактная информация:
Re: STM32F0 и USART
По поводу прерывания проверю.
Чем предлагаешь пользоваться?
До этого я работал с IAR, хочу лучшего.
Чем предлагаешь пользоваться?
До этого я работал с IAR, хочу лучшего.


