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

 
 
> Можно ли LPM-командой прочитать LOCK-биты LB1 и LB2?, А то BLB12,BLB11,BLB01,BLB00 читаются а LB1 и LB2 всегда '1'
Боинг749
сообщение Aug 31 2008, 10:02
Сообщение #1


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

Группа: Новичок
Сообщений: 83
Регистрация: 25-08-08
Пользователь №: 39 801



Можно ли SPM-командой прочитать LOCK-биты LB1 и LB2?
А то BLB12,BLB11,BLB01,BLB00 читаются а LB1 и LB2 всегда читаются как '1'
Подскажите

P.S. Пардон. Не SPM-командой, а LPM, не более чем через 3 такта после загрузки в SPMCR значения 0b00001001 разумеется



Сообщение отредактировал makc - Sep 1 2008, 02:42
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
GDI
сообщение Sep 1 2008, 07:50
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 235
Регистрация: 14-05-05
Из: Санкт-Петербург
Пользователь №: 5 008



Записать нельзя, только проверить и как то сигнализировать что прошивка не залочена, вывести сообщение на ЖКИ или светодиодом как то хитро помигать.


--------------------
http://www.embedders.org Блоги разработчиков электроники.
Go to the top of the page
 
+Quote Post
west329_
сообщение Sep 1 2008, 08:10
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 378
Регистрация: 10-09-07
Из: UKR/Voz
Пользователь №: 30 423



Цитата(GDI @ Sep 1 2008, 10:50) *
Записать нельзя, только проверить и как то сигнализировать что прошивка не залочена, вывести сообщение на ЖКИ или светодиодом как то хитро помигать.

Есть ли возможность на С считать эти значения, компилятор к примеру ИАР, или нужет только аасемблер ?
Go to the top of the page
 
+Quote Post
defunct
сообщение Sep 1 2008, 10:52
Сообщение #4


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(west329_ @ Sep 1 2008, 11:10) *
Есть ли возможность на С считать эти значения, компилятор к примеру ИАР, или нужет только ассемблер ?

Можно не создавая .s файлов
Код
unsigned char get_locks(void)
{
   asm("push r31");
   asm("push r30");
   asm("ldi  r30, 1");
   asm("ldi  r31, 9");
   asm("cli");  
   asm("out 0x37, r31");  // out SMPCR, BLBSET + SPMEN
   asm("clr  r31");
   asm("lpm r16, z");
   asm("sei");
   asm("pop  r30");
   asm("pop  r31");
}
Go to the top of the page
 
+Quote Post



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

 


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


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