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

 
 
> Периферия микроконтроллера и шина AMBA APB
Derek
сообщение Jun 17 2008, 06:35
Сообщение #1





Группа: Новичок
Сообщений: 7
Регистрация: 16-06-08
Пользователь №: 38 330



Здравствуйте!
Проясните пожалуйста для меня такой вопрос. Мне необходимо сделать ШИМ, взаимодействующий с ядром по шине APB. Я не могу понять каким образом управлять периферическим блоком
в таком случае. Запись в командный регистр блока осуществляется всегда словом, а если мне необходимо установить только один бит регистра, как это делать? Как грамотно работать с блоком, когда нету двух отдельных шин: шины команд и шины данных?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
vmp
сообщение Jun 17 2008, 11:37
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 426
Регистрация: 20-01-05
Из: Зеленоград
Пользователь №: 2 070



Добавлю ещё один трюк, позаимствованный у Атмеловских АРМов.
Регистры, в которых требуется работа с отдельными битами, на шине представляются парой адресов. Запись 1 в соответствующем разряде первого регистра устанавливает бит, запись нуля - никак не действует. Запись 1 во второй регистр сбрасывает этот бит, ноль - ничего не меняет.
Для программистов такой подход очень удобен, поскольку позволяет атомарно менять биты, не связываясь с запрещением прерываний на время выполнения команд чтения-изменения-записи.
Подробности можно посмотреть в любом даташите, например на AT91SAM7S256.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 31st July 2025 - 20:48
Рейтинг@Mail.ru


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