Например TDA7294

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

Текущее время: Сб июл 26, 2025 12:32:30

Часовой пояс: UTC + 3 часа


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



Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: помогите собрать байт из строки
СообщениеДобавлено: Вт авг 28, 2012 14:51:03 
Грызет канифоль

Зарегистрирован: Чт апр 28, 2011 15:08:58
Сообщений: 274
Рейтинг сообщения: 0
помогите собрать байт из строки
Код:
pas[0] pas[1] и pas[2]  в 1 байт

весь код
Код:
pas[0]=getchar();
pas[1]=getchar();
pas[2]=getchar();

putchar('n'); putchar('e'); putchar('w'); putchar(' ');
putchar('p'); putchar('a'); putchar('s'); putchar(' ');
putchar(pas[0]); putchar(pas[1]); putchar(pas[2]);
putchar(13);
putchar(10);
putchar(13);
putchar(10);


pas[0]=pas[0]-0x30;
pas[1]=pas[1]-0x30; pas[2]=pas[2]-0x30;


Последний раз редактировалось kotriks Вт авг 28, 2012 14:59:55, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Помогите не работает
СообщениеДобавлено: Вт авг 28, 2012 14:57:33 
Друг Кота
Аватар пользователя

Карма: 49
Рейтинг сообщений: 392
Зарегистрирован: Вс июл 12, 2009 19:15:29
Сообщений: 7013
Откуда: Ижевск
Рейтинг сообщения: 0
Как впихнуть невпихуемое? Это не сюда.
PS. Тему переименуйте, иначе не видать вам ответов.

_________________
Docendo discimus


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Помогите не работает
СообщениеДобавлено: Вт авг 28, 2012 15:00:41 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 235
Зарегистрирован: Пт янв 29, 2010 10:27:40
Сообщений: 3863
Откуда: Москва
Рейтинг сообщения: 0
Мда... Вопрос не совсем понятен...

result=pas[0]*100+pas[1]*10+pas[2];

Так что ли? Ну еще выход за пределы байта (>255) учесть...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Помогите не работает
СообщениеДобавлено: Вт авг 28, 2012 15:39:16 
Грызет канифоль

Зарегистрирован: Чт апр 28, 2011 15:08:58
Сообщений: 274
Рейтинг сообщения: 0
Engineer_Keen писал(а):
Мда... Вопрос не совсем понятен...

result=pas[0]*100+pas[1]*10+pas[2];

Так что ли? Ну еще выход за пределы байта (>255) учесть...

спасибо вы очень меня выручили :beer:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: помогите собрать байт из строки
СообщениеДобавлено: Вт авг 28, 2012 15:45:50 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 235
Зарегистрирован: Пт янв 29, 2010 10:27:40
Сообщений: 3863
Откуда: Москва
Рейтинг сообщения: 0
Странно, обычно спрашивают как наоборот сделать - из байта в 3х-символьную строку :)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: помогите собрать байт из строки
СообщениеДобавлено: Вт янв 01, 2013 19:03:32 
Грызет канифоль

Зарегистрирован: Чт апр 28, 2011 15:08:58
Сообщений: 274
Рейтинг сообщения: 0
Помогите пееписать чтобы пароль можно было задавать не из трёх цифр, а буквенно и цифренно до 10 символов.


Последний раз редактировалось kotriks Ср янв 02, 2013 12:13:19, всего редактировалось 1 раз.

Вернуться наверх
 
Распродажа паяльного оборудования ATTEN!
Паяльные станции, паяльники и аксессуары по самой выгодной цене.

По промокоду radiokot скидка 10%
Не в сети
 Заголовок сообщения: Re: помогите собрать байт из строки
СообщениеДобавлено: Вт янв 01, 2013 19:21:16 
Поставщик валерьянки для Кота

Карма: 16
Рейтинг сообщений: 329
Зарегистрирован: Вт ноя 27, 2007 11:32:06
Сообщений: 2222
Откуда: Tashkent
Рейтинг сообщения: 0
Зечем пароль хранить так?
Код:
Key=(pas[0]*100)+(pas[1]*10)+(pas[2]);

ee_key = Key; // запись в ЕЕПРОМ


Так полностью решится ваша проблема:
Код:
ee_key[0] = pas[0]; // запись в ЕЕПРОМ
ee_key[1] = pas[1];
ee_key[2] = pas[2];


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: помогите собрать байт из строки
СообщениеДобавлено: Вт янв 01, 2013 20:44:03 
Грызет канифоль

Зарегистрирован: Чт апр 28, 2011 15:08:58
Сообщений: 274
Рейтинг сообщения: 0
а можно подробней? я новичёк в этом, функцию писал не я хочу переделать под более сложный пароль.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: помогите собрать байт из строки
СообщениеДобавлено: Ср янв 02, 2013 14:16:05 
Поставщик валерьянки для Кота

Карма: 16
Рейтинг сообщений: 329
Зарегистрирован: Вт ноя 27, 2007 11:32:06
Сообщений: 2222
Откуда: Tashkent
Рейтинг сообщения: 0
Вам нужно сохранять в EEPROM не число, а строку с паролем. При этом строка в СИ представляет собой массив байт, оканчивающийся символом 0x00. Но это не принципиально т.к. можно завести еще одну переменную в которую положить число байт(т.е. длина) пароля.

Код:
eeprom uint8_t ee_pas_len;//сколько букв в пароле
eeprom uint8_t ee_password[10]; //собственно сам пароль


И теперь проверка
Код:
pass_correct = TRUE;
if( pas_len == ee_pas_len)
{//Число символов совпало, проверяем сами символы
for( i=0; i<pas_len; i++ )
 {
 if( ee_password[i] != pas[i] )
   {
   pass_correct = FALSE;
   };
 };
}
else
{
pass_correct = FALSE;
};
if( pass_correct == FALSE )
 {
 message( " Неверный пароль\n\r" );
 message( "У вас 3 попытки до самоуничтожения девайса!" );
 };


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

Часовой пояс: UTC + 3 часа


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

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


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

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


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