реклама на сайте
подробности

 
 
> usart stm32l, Помогите разобраться
Dele
сообщение Apr 12 2014, 20:41
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 30
Регистрация: 12-06-10
Пользователь №: 57 898



Добрый день!
Неполучается уже второй день запустить USART на STM32L-DISCOVERY Среда Coocox
Логическим анализатором смотрю нету ничего...
РА 2Tx
PA 3Rx

КОД:
CODE
#include "stm32l1xx_gpio.h"
#include "stm32l1xx_rcc.h"
#include "stm32l1xx.h"
#include "misc.h"
#include "stm32l1xx_usart.h"



void Usart1_Transmit(uint8_t); //Объявление функции передачи символа через USART
void Usart1_Transmit_str(char* str); //Объявление функции передачи строки через USART
void usart(void);

void RCC_Configuration(void)
{
SystemInit(); // Сброс по умолчанию
GPIO_DeInit(GPIOA);
GPIO_DeInit(GPIOB);
GPIO_DeInit(GPIOC);
GPIO_DeInit(GPIOD);
GPIO_DeInit(GPIOE);

RCC_AHBPeriphClockCmd( RCC_AHBPeriph_GPIOA | RCC_AHBPeriph_GPIOB |
RCC_AHBPeriph_GPIOC | RCC_AHBPeriph_GPIOD |
RCC_AHBPeriph_GPIOE, ENABLE);

RCC_AHBPeriphClockCmd(RCC_AHBENR_GPIOAEN, ENABLE);
RCC_AHBPeriphClockCmd(RCC_AHBENR_GPIODEN, ENABLE);
RCC_AHBPeriphClockCmd(RCC_AHBENR_GPIOBEN, ENABLE);
}

void init_led()
{
GPIO_InitTypeDef PORT;
PORT.GPIO_Pin = (GPIO_Pin_7 | GPIO_Pin_6);
PORT.GPIO_Mode = GPIO_Mode_OUT;
PORT.GPIO_Speed = GPIO_Speed_10MHz;
GPIO_Init( GPIOB , &PORT);
}

void init_but()
{
GPIO_InitTypeDef BUTA;
BUTA.GPIO_Pin = GPIO_Pin_0;
BUTA.GPIO_Mode = GPIO_Mode_IN;
BUTA.GPIO_Mode = GPIO_PuPd_NOPULL;
BUTA.GPIO_Speed = GPIO_Speed_10MHz;
GPIO_Init( GPIOA , &BUTA);

GPIO_InitTypeDef BUTD;
BUTD.GPIO_Pin = GPIO_Pin_2;
BUTD.GPIO_Mode = GPIO_Mode_IN;
BUTD.GPIO_Mode = GPIO_PuPd_UP;
BUTD.GPIO_Speed = GPIO_Speed_10MHz;
GPIO_Init( GPIOD , &BUTD);
}

void usart()
{

RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2, ENABLE); //Включаем тактирование USART1
GPIO_PinAFConfig(GPIOA, GPIO_PinSource3, GPIO_AF_USART2); //Rx
GPIO_PinAFConfig(GPIOA, GPIO_PinSource2, GPIO_AF_USART2); //Tx
GPIO_InitTypeDef GPIO_InitStruct;
GPIO_InitStruct.GPIO_Pin = (GPIO_Pin_2); //Настройки будут производится для вывода PA2 TX
GPIO_InitStruct.GPIO_Mode = GPIO_Mode_AF; //Режим альтернативной функции
GPIO_InitStruct.GPIO_OType = GPIO_OType_PP; //Выход Push-Pull
GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_NOPULL; //Выход без подтягивающих резисторов
GPIO_InitStruct.GPIO_Speed = GPIO_Speed_40MHz; //Скорость порта максимальная
GPIO_Init(GPIOA, &GPIO_InitStruct); //Заданные настройки сохраняем в регистрах GPIOА

GPIO_InitStruct.GPIO_Pin = (GPIO_Pin_3); //Настройки будут производится для вывода PA3 //Rx
GPIO_InitStruct.GPIO_Mode = GPIO_Mode_IN; //Режим альтернативной функции
GPIO_InitStruct.GPIO_Mode = GPIO_Mode_AF; //Режим альтернативной функции
GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_NOPULL; //Выход без подтягивающих резисторов
GPIO_InitStruct.GPIO_Speed = GPIO_Speed_40MHz; //Скорость порта максимальная
GPIO_Init(GPIOA, &GPIO_InitStruct); //Заданные настройки сохраняем в регистрах GPIOА
//Инициализация USART1


USART_InitTypeDef USART_InitStruct;
USART_InitStruct.USART_BaudRate = 9600; //Скорость обмена 9600 бод
USART_InitStruct.USART_WordLength = USART_WordLength_8b; //Длина слова 8 бит
USART_InitStruct.USART_StopBits = USART_StopBits_1; //1 стоп-бит
USART_InitStruct.USART_Parity = USART_Parity_No ; //Без проверки четности
USART_InitStruct.USART_HardwareFlowControl = USART_HardwareFlowControl_None; //Без аппаратного контроля
USART_InitStruct.USART_Mode = USART_Mode_Tx ; //Включен только передатчик USART1
USART_Init(USART2, &USART_InitStruct); //Заданные настройки сохраняем в регистрах USART1
USART_Cmd(USART2, ENABLE); //Включаем USART1
}
void Usart1_Transmit(uint8_t data)
{
while(!(USART2->SR & USART_SR_TC)); //Ждем установки флага TC - завершения передачи
USART2->DR = data;
}
void Usart1_Transmit_str(char* str)
{
uint8_t i=0;
while(str[i])
{
Usart1_Transmit(str[i]);
i++;
}
Usart1_Transmit('n');
Usart1_Transmit('r');
}


int main(void)
{
RCC_Configuration();
init_led();
init_but();
usart();

int i=0;
while(1)
{
Usart1_Transmit_str('STM32L-DISCOVERY'); //Вызов функции передачи строки через USART
for(i=0; i<1000; i++); //Временная задержка
}

}


Сообщение отредактировал Dele - Apr 13 2014, 04:31
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Golikov A.
сообщение Apr 13 2014, 13:13
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



ну нормальные дела, заглушка от не назначенной функции....
бесят меня библиотеки этим, если какая ошибка, они предпочитают повиснуть, нежели работать не верно. Для библиотеки это здорово, сразу видно что какие-то ошибки, но для остального проекта? Отвал одной функции, причем может быть второстепенной рубит весь проект... абалденно придумано...
Go to the top of the page
 
+Quote Post
jcxz
сообщение Apr 13 2014, 15:05
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(Golikov A. @ Apr 13 2014, 19:13) *
бесят меня библиотеки этим, если какая ошибка, они предпочитают повиснуть, нежели работать не верно. Для библиотеки это здорово, сразу видно что какие-то ошибки, но для остального проекта? Отвал одной функции, причем может быть второстепенной рубит весь проект... абалденно придумано...

Что Вы так разоряетесь? Знаете-же рецепт? Не использовать чужой код... даже под пытками wink.gif
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Dele   usart stm32l   Apr 12 2014, 20:41
- - garlands   http://we.easyelectronics.ru/STM32/uart-us...m32l-...   Apr 12 2014, 21:16
- - Timma   while(!(USART2->SR & USART_SR_TC)); //Ж...   Apr 13 2014, 02:29
|- - Dele   Цитата(Timma @ Apr 13 2014, 06:29) while(...   Apr 13 2014, 04:29
- - alexdos   не вижу включение тактирования альтернативных функ...   Apr 13 2014, 04:55
|- - Dele   Цитата(alexdos @ Apr 13 2014, 08:55) не в...   Apr 13 2014, 04:57
|- - kolobok0   Цитата(Dele @ Apr 13 2014, 08:57) В самом...   Apr 13 2014, 07:56
- - Timma   Если USART настроен только на вывод, зачем подключ...   Apr 13 2014, 05:13
- - Dele   Пробовал уже без пина на ввод РА3 так же. USART1 т...   Apr 13 2014, 10:32
- - adnega   Может, в HardFault улетает?   Apr 13 2014, 13:20
- - Golikov A.   Знаю, но чем дальше тем труднее противостоять эксп...   Apr 13 2014, 15:15
|- - jcxz   А я вот как раз сейчас в одном из проектов его и п...   Apr 13 2014, 15:18
- - Dele   Планирую дальше организовать радиосвязь между двум...   Apr 14 2014, 07:47


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 29th July 2025 - 06:11
Рейтинг@Mail.ru


Страница сгенерированна за 0.01307 секунд с 7
ELECTRONIX ©2004-2016