|
|
  |
Вопрос по С, работа с ASCII |
|
|
|
Dec 6 2011, 19:05
|
Участник

Группа: Участник
Сообщений: 51
Регистрация: 9-10-06
Из: Киев
Пользователь №: 21 117

|
Здравствуйте, если кто поможет, заранее спасибо. Вопрос можжет и тривиален, но... Для поднятия оодного сенсора (сенсор мышки лазерной ADNS9500) использую TMS320 серию MCU и делаю это через SPI. В описании процедуры загрузки SROM для работы сенсора указано использовать данные с файла в котором код. Точнее будет так: ---------------- SROM Download This function is used to load the Avago supplied fi rmware fi le contents into the ADNS-9500 after sensor power up sequence. The firmware file is an ASCII text file. ---------------- В файле данные вот такого формата: 03 a0 62 06....... всего 3К Я в Code composer studio с помощбю C хотел загрузить данные как массив, чтобы работать, и сделал так: char SROM [3070]={0x03,0xa0,0x62,0x06,.......... но ничего не получилось. Может в чем другом ошибка, но правильно ли я использовал данные из файла, уверенности нет ??? В приложении фалы, если я непонятно написал. Буду благодарен за замечания...
|
|
|
|
|
Dec 6 2011, 20:52
|
Знающий
   
Группа: Свой
Сообщений: 781
Регистрация: 3-10-04
Из: Санкт-Петербург
Пользователь №: 768

|
Цитата(Bogdan @ Dec 6 2011, 22:05)  Здравствуйте, если кто поможет, заранее спасибо.
---------------- SROM Download This function is used to load the Avago supplied fi rmware fi le contents into the ADNS-9500 after sensor power up sequence. The firmware file is an ASCII text file. ---------------- В файле данные вот такого формата: 03 a0 62 06....... всего 3К
Я в Code composer studio с помощбю C хотел загрузить данные как массив, чтобы работать, и сделал так:
char SROM [3070]={0x03,0xa0,0x62,0x06,..........
но ничего не получилось. Вообще-то это не верно. Вы видите в текстовом файле текстовые строки, а пытаетесь загрузить двоичный массив. В текстовом виде код цифры "0" это 0x30 и т.д. Вам в массив нужно ввести данные, как в файле: ={ '0','3',\r,\n, 'a','0',\r,\n, и так далее. Проще написать утилитку на Си, чтобы она сама коды ASCII в описание массива на Си из текста переводила и втыкать в исходник по #include. Или выводите свой массив через печать двоичных данных в шастнадцатеричные аски
|
|
|
|
|
Dec 6 2011, 21:49
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(Tiro @ Dec 7 2011, 01:36)  Вы бы хоть в файл приложенный глянули ради интереса. Мне достаточно взглянуть на его размер - 12кБайт. Сенсор ждет 3кБайта данных. Цитата(Tiro @ Dec 7 2011, 01:43)  Ребят, вы задрали. У него фирмварь занимает 11,99 КБ, имеет 3070 строчек. Ну скачайте, блин, приложенный файл-то. Там он и состоит из сплошных CR LF.
Теперь, надеюсь, все понятно?
|
|
|
|
|
Dec 6 2011, 21:50
|
Знающий
   
Группа: Свой
Сообщений: 781
Регистрация: 3-10-04
Из: Санкт-Петербург
Пользователь №: 768

|
Цитата(aaarrr @ Dec 7 2011, 00:43)  Мне достаточно взглянуть на его размер - 12кБайт. Сенсор ждет 3кБайта данных. SROM Download This function is used to load the Avago supplied fi rmware fi le contents into the ADNS-9500 after sensor power up sequence. The firmware file is an ASCII text file.Как переведете фразу? Впрочем, мне уже не интересно и свое мнение изложил.
|
|
|
|
|
Dec 7 2011, 07:17
|

Нечётный пользователь.
     
Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417

|
Цитата(Tiro @ Dec 6 2011, 23:50)  The firmware file is an ASCII text file. Как переведете фразу? Впрочем, мне уже не интересно и свое мнение изложил. Intel HEX, Motorola S-record, атмеловский формат — все они "ASCII text file", что не означает, что прошивку для ATmega48 в свой производственный программатор на ATmega64 я должен ложить в виде Код uint8_t firmware[] PROGMEM = { ':', '0', '0' // и так далее }; и в таком же виде заливать в микроконтроллер. Впрочем, если Вам неинтересно, можете пробовать прошивать в микроконтроллеры Intel HEX «как есть», не переводя в двоичную форму.
--------------------
Ну, я пошёл… Если что – звоните…
|
|
|
|
|
Dec 12 2011, 22:25
|
Участник

Группа: Участник
Сообщений: 51
Регистрация: 9-10-06
Из: Киев
Пользователь №: 21 117

|
Всем спасибо за ответы. Я просто еще несколько боков нашел в своем творении. Сейчас пробую разные варианты. Вообще, человек который это уже делал сказал, что он просто добавил перед каждым елементом файла "0x", чтоб была возможность прочитать массив данных в формате HEX.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|