|
General Purpose I/O Register |
|
|
|
Oct 28 2011, 11:39
|

Профессионал
    
Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339

|
Всем , привет!
Кто нибудь , когда нибудь использовал эти регистры. В DS инфы по ним 0 (нуль). Отличненькое местечко , что бы хранить SREG ( вместо SAVESREG ) + SPH+SPL для много задачных программ. Но как то стрёмно , не понимая на ... они нужны. Для тех , кто срочно начнёт искать их в своих процах , учтите , что они есть не везде. Что тоже настораживает.
--------------------
Закон Мерфи:
Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
|
|
|
|
2 страниц
1 2 >
|
 |
Ответов
(1 - 18)
|
Oct 28 2011, 12:27
|

4 синих кубика
   
Группа: Участник
Сообщений: 526
Регистрация: 19-09-08
Из: полупроводника, металла и стекла
Пользователь №: 40 326

|
Я использую один из них для хранения результатов различных тестов. В ИАРе объявляю так: Код #pragma location=0x33// (GPIOR0); __no_init char errors; Компилятор при работе с битами этого регистра использует команды sbi, cbi.
--------------------
p-n-p-p-n-p-n-n-p-n-p структура однако очень эффективна
|
|
|
|
|
Oct 28 2011, 12:33
|

Профессионал
    
Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339

|
QUOTE (МП41 @ Oct 28 2011, 16:27)  Я использую один из них для хранения результатов различных тестов. В ИАРе объявляю так: CODE #pragma location=0x33// (GPIOR0); __no_init char errors; Компилятор при работе с битами этого регистра использует команды sbi, cbi. Ну раз они в области ввода\вывода , то по идее , на них распростроняются все команды относящиеся к этому пространству памяти. OUT IN SBIS SBIC и выше перечисленные.
--------------------
Закон Мерфи:
Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
|
|
|
|
|
Oct 29 2011, 12:37
|

Профессионал
    
Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339

|
Замечательно работает , и не надо помнить последовательность загрузки регистров , главное не перепутать какой куда. Хорошо избавляют от push ,когда надо не много затолкнуть. QUOTE (МП41 @ Oct 28 2011, 16:40)  Речь о том, что компилятор "сообразил" и сделал как надо, хотя мог и через st, ld сделать обращение ради изменения одного бита. Хвала разработчикам компилятора! Аминь..
--------------------
Закон Мерфи:
Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
|
|
|
|
|
Jan 26 2012, 19:14
|

Профессионал
    
Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339

|
Цитата(zombi @ Jan 26 2012, 00:24)  Максимум 16 тактов можем выиграть. Почему на два множить!? На каждом push - один такт и на каждом pop - ещё один такт
--------------------
Закон Мерфи:
Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
|
|
|
|
|
Jan 27 2012, 19:19
|

Местный
  
Группа: Участник
Сообщений: 355
Регистрация: 27-03-07
Из: Україна, Чуднів
Пользователь №: 26 530

|
Цитата(ILYAUL @ Oct 28 2011, 14:39)  Кто нибудь , когда нибудь использовал эти регистры. В DS инфы по ним 0 (нуль). В зависимости от компилятора. ИАР ДЖПИОР регистры не исспользует на своё предусмотрение, кодэвижн вроди бы размещает в них битовые переменные.
--------------------
нельзя недооценивать предсказуемость глупости
|
|
|
|
|
Jan 27 2012, 21:33
|
Гуру
     
Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047

|
Цитата(_Артём_ @ Jan 28 2012, 00:51)  Из даташита вестимо... А, обсуждалась xmega - тогда да, один такт. Цитата А POP возражений не вызывает? Не вызывает, она одинаково работает.
|
|
|
|
|
Jan 28 2012, 18:02
|
Вечный студент
   
Группа: Участник
Сообщений: 500
Регистрация: 11-09-06
Из: Питер
Пользователь №: 20 262

|
Цитата(ILYAUL @ Oct 28 2011, 14:39)  В DS инфы по ним 0 (нуль). Инфы предостаточно: название говорит само за себя, а адреса в DS указаны. Цитата(ILYAUL @ Oct 28 2011, 14:39)  Кто нибудь , когда нибудь использовал эти регистры. Которые в зоне доступа sbi, cbi, очень удобно использовать под битовые флаги
|
|
|
|
|
Jan 28 2012, 19:14
|

Местный
  
Группа: Участник
Сообщений: 355
Регистрация: 27-03-07
Из: Україна, Чуднів
Пользователь №: 26 530

|
Цитата(Diusha @ Jan 28 2012, 21:02)  Которые в зоне доступа sbi, cbi, очень удобно использовать под битовые флаги К регистрам с адресами $00..$1F, если позволите более точно, в зависимости какие ресурсы МК вы исспользуете. К примеру как альтернативу регистру общего назначения я при отключённом TWI исспользовал его регистр задания скорости (TWBR) в меге 168. Правда дата регистры к этому непригодны. В некоторых случаях, для хранения даных использую UBRR0L или UBRR0H, правда последний 4-х битный и адресами недостигаемыми командами sbi, cbi.
--------------------
нельзя недооценивать предсказуемость глупости
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|