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

 
 
 
Reply to this topicStart new topic
> STM32, проект из CUBE,, не работает прямая запись типа USART3->BRR= 0x000000C0
pvman
сообщение Oct 9 2017, 08:24
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 168
Регистрация: 4-07-08
Из: Россия
Пользователь №: 38 751



Здравствуйте!

Собрал проект из CUBE для STM32.
Ввиду громоздкости работы через HAL, решил использовать в программе традиционное обращение к портам.
Но программа не работает как нужно,
отладчиком вижу что состояние регистров не меняется.
Использую команды типа
USART3->BRR= 0x000000C0; // 250000 kb/s (48 000 000 + 250 000 / 2) / 250 000
USART3->CR2 |= USART_CR2_STOP_1;
USART3->CR1 |= USART_CR1_RXNEIE | USART_CR1_RE | USART_ISR_FE | USART_CR1_UE;

Скрин с отладчиком. После выполнения команды по нулям.
Что я делаю криво? Может какой то защищенный режим в этом HAL для запрета изменения регистров?

обновлю.

разобрался. Тактирование не было включено

Сообщение отредактировал pvman - Oct 9 2017, 08:46
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Oct 9 2017, 08:47
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Забыли включить тактирование USART3?


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
pvman
сообщение Oct 9 2017, 10:14
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 168
Регистрация: 4-07-08
Из: Россия
Пользователь №: 38 751



Цитата(Сергей Борщ @ Oct 9 2017, 11:47) *
Забыли включить тактирование USART3?

да, именно так ))
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Oct 10 2017, 04:19
Сообщение #4


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Насколько понимаю, хал как раз для того, чтобы в регистры ничего не писать.
Убедился в этом, когда проект с 746 дискавери перенесся на 429 легким движением руки, а после небольшого допиливания - на кастомную плату


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
Эдди
сообщение Oct 10 2017, 06:11
Сообщение #5


Знающий
****

Группа: Участник
Сообщений: 825
Регистрация: 16-04-15
Из: КЧР, Нижний Архыз
Пользователь №: 86 250



С таким же успехом можно и ардуйню хвалить: мол, один и тот же код на разных платах работает. Правда, тормозит, да еще и почти всю флеш выжирает...
Go to the top of the page
 
+Quote Post
pvman
сообщение Oct 10 2017, 18:04
Сообщение #6


Частый гость
**

Группа: Участник
Сообщений: 168
Регистрация: 4-07-08
Из: Россия
Пользователь №: 38 751



Цитата(MrYuran @ Oct 10 2017, 07:19) *
Насколько понимаю, хал как раз для того, чтобы в регистры ничего не писать.
Убедился в этом, когда проект с 746 дискавери перенесся на 429 легким движением руки, а после небольшого допиливания - на кастомную плату

слишком наворочено в HAL, до страшноты. Контроллер вообще не чувствуется, одна абстракция.
Удобнее все таки с даташитом работать и делать только те команды, что требуются.
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Oct 10 2017, 20:06
Сообщение #7


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



st жёстко отомстила пользователям stm32 кубом
в нём кстати, low level какой-то есть, кто пробовал ?
Go to the top of the page
 
+Quote Post
Эдди
сообщение Oct 10 2017, 20:35
Сообщение #8


Знающий
****

Группа: Участник
Сообщений: 825
Регистрация: 16-04-15
Из: КЧР, Нижний Архыз
Пользователь №: 86 250



А у них и SPL был той еще гадостью. Калокуб же, похоже, они придумали в пику ардуйне: мол, с микроконтроллерами нынче столько ацефалов пытается что-то делать, что надо бы и нам запилить подобное!
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 17:25
Рейтинг@Mail.ru


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