Например TDA7294

Форум РадиоКот • Просмотр темы - Разбираем код прошивки ARM
Форум РадиоКот
Здесь можно немножко помяукать :)



Текущее время: Ср июн 26, 2019 07:43:53

Часовой пояс: UTC + 3 часа [ Летнее время ]


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: Разбираем код прошивки ARM
СообщениеДобавлено: Сб апр 13, 2019 21:16:22 
Открыл глаза

Зарегистрирован: Пн апр 03, 2017 12:40:46
Сообщений: 69
Рейтинг сообщения: 0
Здравствуйте! Подскажите, пожалуйста, точнее разжуйте новичку вот такой код:

//Выставим бит 5 в порте А (к нему должен быть подключен светодиод)

#define LED_ON PORTA|=(1<<5)

Это пример кода с соседнего сайта http://cxem.net/mc/mc132.php.

Не очень понятна вот эта строчка: PORTA|=(1<<5).
1) Мы взяли в общем случае 8 разрядов порта А (для STM8), при помощи выражения 1<<5 образуется двоичное слово 0b10000.
2) Выражение PORTA|=(1<<5) аналогично PORTA=PORTA | (1<<5)
3) Иначе PORTA=PORTA | 0b10000
4) Таким образом в 5 разряде порта А получили 1. Верно я рассуждаю?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Разбираем код прошивки ARM
СообщениеДобавлено: Сб апр 13, 2019 21:39:51 
Друг Кота
Аватар пользователя

Карма: 65
Рейтинг сообщений: 489
Зарегистрирован: Ср дек 24, 2008 10:58:58
Сообщений: 3092
Рейтинг сообщения: 0
Медали: 3
Мявтор 1-й степени (1) Мявтор 2-й степени (1) Мявтор 3-й степени (1)
Сначала формируем константу (1<<5), содержащую 1 только в бите 5. Затем логически добавляем её к значению PORTA. Иными словами, выставляем бит 5 в регистре PORTA, как и написано в комментарии.


Вернуться наверх
 
JLCPCB, всего $2 за 10 ПП любого цвета!

Более 600 000 заказчиков по всему миру! Более 10 000 заказов в день!

Скидка до $20 на доставку для первого заказа:https://jlcpcb.com/quote

Не в сети
 Заголовок сообщения: Re: Разбираем код прошивки ARM
СообщениеДобавлено: Сб апр 13, 2019 21:54:45 
Открыл глаза

Зарегистрирован: Пн апр 03, 2017 12:40:46
Сообщений: 69
Рейтинг сообщения: 0
Вот еще непонятная строчка. Тут вообще не знаю что предположить. Отсюда взято с примера: http://cxem.net/mc/mc133.php
RCC->APB2ENR = RCC->APB2ENR | RCC_APB2ENR_IOPCEN;

1) Что это за слово: RCC_APB2ENR_IOPCEN ?
2) Что такое RCC ?

В источнике так написано, хотя очень понятно: "Для разрешения тактирования шины порта С необходимо в регистре RCC_APB2ENR установить бит IOPCEN в единицу. Чтобы при установке данного бита, мы не сбросили другие, установленные в данном регистре, нам необходимо к текущему состоянию регистра применить операцию логического сложения (логического «ИЛИ») и после этого записать полученное значение в содержимое регистра. В соответствии со структурой библиотеки ST, обращение к значению регистра для его чтения и записи производится через указатель на структуру RCC->APB2ENR".


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $88 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay
Не в сети
 Заголовок сообщения: Re: Разбираем код прошивки ARM
СообщениеДобавлено: Сб апр 13, 2019 22:00:02 
Мучитель микросхем
Аватар пользователя

Карма: 6
Рейтинг сообщений: 83
Зарегистрирован: Пн янв 10, 2011 00:05:37
Сообщений: 423
Откуда: СССР
Рейтинг сообщения: 0
(1<<5) == 0b100000 . 5 бит будет шестым по счету. Нумерация начинается с 0.

_________________
Иван Сусанин - первый полупроводник :solder:


Вернуться наверх
 
Литиевые батарейки Fanso для промышленного применения: устойчивость к высоким температурам

Надежные литиевые ХИТ производства Fanso для широкого круга применений, в том числе в промышленности, способны работать в самых жестких условиях. Основные требования, предъявляемые к автономным источникам питания – это длительность хранения и работы, высокая удельная емкость, а также защита от воздействия таких внешних факторов как, температура и влажность.
Подробнее>>
Не в сети
 Заголовок сообщения: Re: Разбираем код прошивки ARM
СообщениеДобавлено: Сб апр 13, 2019 22:12:44 
Открыл глаза

Зарегистрирован: Пн апр 03, 2017 12:40:46
Сообщений: 69
Рейтинг сообщения: 0
(1<<5) == 0b100000 . 5 бит будет шестым по счету. Нумерация начинается с 0.


1) Получается сначала имеем вот такую константу 0b1
2) На следующей операции сдвига вот это 0b10
3) Далее это 0b100
4) После 5-го сдвига имеем 0b100000


Вернуться наверх
 
Приглашаем на вебинар «Создание беспроводных устройств на системах-на-кристалле семейства SimpleLink компании TI»

Компания Компэл, совместно с Texas Instruments приглашают 26 июня принять участие в вебинаре, где инженер по применению беспроводных технологий компании TI расскажет, как на новых беспроводных системах можно реализовать несколько полезнейших в повседневной жизни функций для ваших устройств.
С развитием элементной базы TI становится возможной реализация более удобных, функциональных и безопасных систем, недоступных ранее.
Вебинар проводит инженер по применению беспроводных технологий в TI Мари Хернес(будет дублированный перевод).
Подробнее>>
Не в сети
 Заголовок сообщения: Re: Разбираем код прошивки ARM
СообщениеДобавлено: Сб апр 13, 2019 22:49:30 
Мучитель микросхем
Аватар пользователя

Карма: 6
Рейтинг сообщений: 83
Зарегистрирован: Пн янв 10, 2011 00:05:37
Сообщений: 423
Откуда: СССР
Рейтинг сообщения: 0
https://habr.com/ru/post/406889/

_________________
Иван Сусанин - первый полупроводник :solder:


Вернуться наверх
 


Не в сети
 Заголовок сообщения: Re: Разбираем код прошивки ARM
СообщениеДобавлено: Вс апр 14, 2019 02:15:31 
Друг Кота
Аватар пользователя

Карма: 65
Рейтинг сообщений: 489
Зарегистрирован: Ср дек 24, 2008 10:58:58
Сообщений: 3092
Рейтинг сообщения: 0
Медали: 3
Мявтор 1-й степени (1) Мявтор 2-й степени (1) Мявтор 3-й степени (1)
RCC->APB2ENR = RCC->APB2ENR | RCC_APB2ENR_IOPCEN;
1) Что это за слово: RCC_APB2ENR_IOPCEN ?
2) Что такое RCC ?


RCC - это Reset and Clock Control регистр в STM32. Константа RCC_APB2ENR_IOPCEN определена в хедерe rcc.h и содержит бит установки разрешения тактирования шины порта С.
Сделайте поиск в Гугле по ней и RCC и получите ответ на эти и многие подобные вопросы.


Вернуться наверх
 


Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y