Перейти к содержанию
    

Кто включал Siemens (x)35 загрузчиком?

Уже долго мучаюсь над этим вопросом, нашел кучу примеров как это делать, но у самого ни как не получается. Ниже пример того, как я это пытаюсь сделать, что не так подскажите или дайте пример кода если у кого есть(можно и на Asembler).

В результате выполнения данного кода телефон ни чего не отвечает на 0x55.

#include    <pic.h>

void Send_Boot(void);
char flag=0;//Флаг разрешения отправки Boot
char Buf;

void interrupt uart_input(void)
{
Buf=RCREG;
if (Buf==0xA0) flag=1;
}

main()
{
    RCSTA=0b10010000;
    TXSTA=0b00100100;
    SPBRG=12;
    INTCON=0b11000000;
    RCIE=1;

    PORTA=0x00;
    CMCON=0b00000111;
    TRISA=0x00;
    TRISB=0b00100110;
    STATUS=0x00;

    RB4=1;
while(RB5!=0)
    continue;//ожидание нажатия кнопки выполнения данной функции
RB4=0;//выход управляющий подачей напряжения зарядки
Send_Boot();//функция запуска Boot
}

void Send_Boot(void)
{
    char boot1[ 16 ]={0xA5,0x5A,0xA5,0xA5,0xE6,0x89,0x46,0x14,0xD1,0x90,0xFF,0x9A,0xFE,0x9B,0xE6
,0x0C};
    char boot2[ 16 ]={0x09,0x00,0xE6,0x8A,0xBF,0x04,0xD1,0x90,0xE6,0x0A,0xF0,0x0E,0xE6,0x8A,0xAF
,0x04};
    char boot3[ 16 ]={0xB5,0x4A,0xB5,0xB5,0xE6,0x00,0x40,0x00,0xE1,0x00,0xF7,0xF0,0x00,0x02,0xE1
,0x50};
    char boot4[ 16 ]={0xF7,0xF0,0x01,0x02,0xE6,0x03,0x03,0x00,0xE1,0x00,0xF7,0xF0,0x00,0xF6,0xE1
,0x50};
    char boot5[ 16 ]={0xF7,0xF0,0x01,0xF6,0xE6,0xF0,0x80,0x00,0x74,0xF0,0xE0,0xEF,0xB7,0x48,0xB7
,0xB7};
    int i;

        while(TXIF!=1)
            continue;
    TXREG=0x55;

//ждем H'A0'
    while(flag!=1)
        continue;

for(i=0;i<16;i++)
    {
        while(TXIF!=1)
            continue;
    TXREG=boot1[ i ];
    }
for(i=0;i<16;i++)
    {
        while(TXIF!=1)
            continue;
    TXREG=boot2[ i ];
    }
for(i=0;i<16;i++)
    {
        while(TXIF!=1)
            continue;
    TXREG=boot3[ i ];
    }
for(i=0;i<16;i++)
    {
        while(TXIF!=1)
            continue;
    TXREG=boot4[ i ];
    }
for(i=0;i<16;i++)
    {
        while(TXIF!=1)
            continue;
    TXREG=boot5[ i ];
    }
flag=0;
    while(RB5!=1)
        continue;
}

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А можно узнать о чём речь? Включать полностью выключенный телефон через команды, передаваемые на разъём?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А можно узнать о чём речь? Включать полностью выключенный телефон через команды, передаваемые на разъём?

Именно та!

Но только там есть несколько способов, мне подходит с использованием загрузчика, так как его теоретически можно передовать на разных скоростях.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Клёво. Не знал. Самому приходилось вскрывать телефон и подпаивать проводок к кнопке включения. А можно ссылку на подробное описание?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Клёво. Не знал. Самому приходилось вскрывать телефон и подпаивать проводок к кнопке включения. А можно ссылку на подробное описание?

Ссылок не помню воту меня есть пару статей скаченых. Смотри в атаче.

Если че получится дай знать.

boot.rar

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вобщем у меня получилось. Телефон Siemens S35. Однако по совсем другому алгоритму. Описание приклепляю.

 

В двух словах. При выключенном телефоне подать питание зарядки на 3-ий пин. Я подавал 4.5 вольт через простейший ключ на КТ3107. Можно и 5 вольт, но у меня слабый БП и он просел до 4.5 вольт. После ждём 1 сек. Проверял меньше - не включается. На скорости 57600 бод передаём 5 байт (смотри в архиве). Думаю ещё немножко нужно зарядку подержать, я проверял и держал от 0.1 до 2 сек - всё работало. Через 1 сек после команды телефон моргает и включается. Просит пин-код. Но его можно отключить или передавать его через АТ-команды (AT+CPIN=xxxx). Однако передавать АТ-команды нужно уже на скорости 19200. Во всей этой операции не требуется отключать выводы RX/TX как в твоём описании советовалось.

c35_turn_on.rar

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Об этом способе я читал, только пишут, что он не надежный, да и скорости 57600 мой pic16f628A такой обеспечить не может.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Тогда не знаю. С вашим способом я долго трахался, а телефон никак не реагировал. Я его бросил и начал шарить в инете. Нашёл вот этот и всё почти сразу сработало. Кстати, чем он ненадёжный?

 

Про ваш способ. На тех же телесистемах написано, что способ через 0x55->0xa0->boot работает на 55 сименсе. И я сомневаюсь подходит ли он для 35-ого. А насчёт надёжности я думаю товарищ ошибся. 1. Эта команда (судя по моему описанию) отсылает ответ/подтверждение принятия команды. 2. После включения телефон начинает отвечать на АТ-команды. По-моему этого более чем достаточно для надёжной работы с телефоном. То, что у вас нет 57600 - сочуствую. Думаю, что этот ваш способ вы на 35-ом не запустите.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

То, что у вас нет 57600 - сочуствую.

Не подскажеш pic поддерживающий такую скорость.

практически любой 18 серии

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

странно, но я запускал 12f675 c внутренней цепочкой RC (4MHz) на 115200, а то, что 16f628 с аппаратной поддержкой UART'а незнает скорости 57600 - не поверю!

 

Читайте еще раз DataSheet!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

если нетрудно дайте документов по управлению сименсом с пика а то никак найти не могу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...