|
0 / 0 / 0
Регистрация: 20.06.2011
Сообщений: 269
|
|
Конфигурирование ножки порта TM32F10007.07.2011, 15:29. Показов 7907. Ответов 13
Метки нет (Все метки)
Подскажите другой вход из такой вот проблемы: настраиваю шим от таймера 3 на ножках порта PC 6, 7, 8,9, через ремап, потом в определённый момент работы мне не нужен ШИМ, а нужно прямое управление этими ножками, пока вижу только два варианта выхода из этого:
1) Переконфигугрирование ножки темже ремапом и настройка ножки по новому через структуру. 2) Установка в регистр сравнения значений 0 или 0xFFFF и вкрючая и выключая соответствующий канал сравнения (но что то мне подсказывает что работать будет криво). Вообщем оба метода относительно долгие по времени.
0
|
|
| 07.07.2011, 15:29 | |
|
Ответы с готовыми решениями:
13
Как узнать когда замкнуты ножки ком порта? Конфигурирование порта сокета для SpringApplicatiom Конфигурирование порта сокета для Spring Application |
|
0 / 0 / 0
Регистрация: 27.05.2010
Сообщений: 95
|
|
| 07.07.2011, 16:29 | |
|
Только переконфигурирование ножки
0
|
|
|
0 / 0 / 0
Регистрация: 20.06.2011
Сообщений: 269
|
||||||
| 07.07.2011, 17:00 | ||||||
|
Ну например вот так:
0
|
||||||
|
0 / 0 / 0
Регистрация: 27.05.2010
Сообщений: 95
|
|
| 07.07.2011, 17:03 | |
|
С использованием стандартных библиотек - никак. Можно объявить GPIO_InitStructure глобально, проинициализировать ее при старте и в нужном месте запускать только GPIO_Init(GPIO_PORT[Pin_number], &GPIO_InitStructure);
0
|
|
|
0 / 0 / 0
Регистрация: 20.06.2011
Сообщений: 269
|
|
| 07.07.2011, 19:46 | |
|
А если не библиотеками, а битами в регистрах как это выглядеть будет конкретно?
0
|
|
|
0 / 0 / 0
Регистрация: 21.04.2010
Сообщений: 1,890
|
||
| 08.07.2011, 11:38 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 16.02.2010
Сообщений: 44
|
||
| 08.07.2011, 14:23 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 17.01.2011
Сообщений: 39
|
||||||||||||||||
| 08.07.2011, 19:47 | ||||||||||||||||
|
Не знаю, подойдет ли вам мой вариант, но мало ли. Имеем самописный хидер с нехитрыми дефайнами:
Теоретически оптимальней так:
Не бейте ногами если чё, но так вот я с портами работаю) Мне пока подходит. А стандартная библиотека со своими подпрограммами да структурами для того чтобы ножку настроить это уж забивание гвоздей не то что микроскопом а полновесной космической станцией ИМХО. Как-то так ;)
0
|
||||||||||||||||
|
0 / 0 / 0
Регистрация: 20.06.2011
Сообщений: 269
|
|
| 11.07.2011, 23:11 | |
|
Вообщем неполенился почитал, использую стандартные дефайны, примерно как и вы, но это под эту задачу хорошо подошло, а вообще на другом форуме хорошие дефайны выложили: itistromyx.ru/forum/index.php?showtopys=92322&st=0&gopid=951 155&#entry951155.
Еще вопрос: зачем устанавливается частота выходной ножки, что это даёт, по моему разумению бесполезная функция, всёравно использую настройку 50МГц всегда?
0
|
|
|
0 / 0 / 0
Регистрация: 17.01.2011
Сообщений: 39
|
|
| 12.07.2011, 22:28 | |
|
Я бы поспорил насчёт хорошести тех дефайнов. Особенно того что там на C++ выложено. По обьекту на ножку порта? О_О Прощай память, прощай процессорное время :( Дожили.
Это же блин регистр! Обычный регистр! И записать туда значение две команды на асме. И конфигурировать его ИМХО лучше сразу весь или как можно большими кусками дабы не плодить чтения-записи ато получается что инициализация порта, где надо всего-то две записи констант по константным же адресам сделать, разворачивается в такую монструозную конструкцию на асме что страшно просто становится. Может я старомодно мыслю, но меня немного удивляет такой подход. Особенно как это сделано в StdPeriphLib: ради настройки порта - структура которая будет использована всего пару раз и подпрограмма ещё которая эту структуру должна обработать и записать всё те-же значения по тем-же адресам. Каких-то несколько тактов на один порт для 2х ldr И 2х str против времени выполнения подпрограммы? Мдя. ИМХО нужно не впихивать в МК куски HAL как это сделано в CMSIS и иже с ними а расширять препроцессор. Тоесть в идеале было бы хорошо если бы препроцессор умел такие вещи как те-же циклы, адекватную проверку условий и т.д. а не просто работал с текстом. Таким образом весь этот HAL как в данном случае расчёт значений регистров CRL и CRH на основе значений из структуры GPIO_InitStructure выполнялся бы при компиляции а в бинарник улшло бы только две записи констант по адресам. И все были бы довольны: и те кому давай HAL и чтобы даташит не читать и те кому не хочется лишний мусор в памяти МК держать.
0
|
|
|
0 / 0 / 0
Регистрация: 17.01.2011
Сообщений: 39
|
||
| 12.07.2011, 22:45 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 20.06.2011
Сообщений: 269
|
|
| 13.07.2011, 00:30 | |
|
povit2661, вы деасемблер смотрели от этих дефайнов? от 3 до 5 команд, там занимает например установка соответствующего состояния ножки или смена режима работы, на С++ не использовал, только чистый С.
0
|
|
|
0 / 0 / 0
Регистрация: 17.01.2011
Сообщений: 39
|
|
| 13.07.2011, 01:00 | |
|
Одной да, но если вам нужно выставить параметры нескольких ножек подряд то код полученный в результате разворачивания этих макросов будет выполнять чтение-модификацию-запись для КАЖДОЙ ножки порта, что не оптимально.
Про стандартную библиотеку вообще молчу. А использование макросов типа off(PB6) on(PB6) в случае нескольких ножек ещё и ведет к неодновременному изменению сигналов на порте. Может вызвать баги которые отлавливаются только осциллографом/лог.анализатором.
0
|
|
|
0 / 0 / 0
Регистрация: 20.06.2011
Сообщений: 269
|
|
| 13.07.2011, 11:32 | |
|
Ну спорить не буду, но мне кажеться для частот не более 500кГц это будет не критично
0
|
|
| 13.07.2011, 11:32 | |
|
Помогаю со студенческими работами здесь
14
Голосовой шлюз cisco spa112 можно ли перекидывать звонки с порта на порта? Чтение из COM порта, При чтении из порта зависает read() Ножки процессора ножки атмеги Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Нашел на реддите интересную статью под названием «Кто-нибудь знает, где получить бесплатный компьютер или. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|