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

 
 
 
Reply to this topicStart new topic
> Вопрос по С, работа с ASCII
Bogdan
сообщение Dec 6 2011, 19:05
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 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,..........

но ничего не получилось.
Может в чем другом ошибка, но правильно ли я использовал данные из файла, уверенности нет ???
В приложении фалы, если я непонятно написал.
Буду благодарен за замечания...

Прикрепленные файлы
Прикрепленный файл  adns9500_srom_A0.txt ( 11.99 килобайт ) Кол-во скачиваний: 527
Прикрепленный файл  AV02_1726EN_DS_ADNS_9500_12Oct2011.pdf ( 407.28 килобайт ) Кол-во скачиваний: 25
 
Go to the top of the page
 
+Quote Post
sigmaN
сообщение Dec 6 2011, 20:17
Сообщение #2


I WANT TO BELIEVE
******

Группа: Свой
Сообщений: 2 617
Регистрация: 9-03-08
Пользователь №: 35 751



Да вроде правильно Вы мыслите..должно работать. Я таким образом wav файлы в сишные исходники закидывал.


--------------------
The truth is out there...
Go to the top of the page
 
+Quote Post
Tiro
сообщение Dec 6 2011, 20:52
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 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.

Или выводите свой массив через печать двоичных данных в шастнадцатеричные аски rolleyes.gif

Go to the top of the page
 
+Quote Post
aaarrr
сообщение Dec 6 2011, 21:28
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Tiro @ Dec 7 2011, 00:52) *
Вообще-то это не верно. Вы видите в текстовом файле текстовые строки, а пытаетесь загрузить двоичный массив. В текстовом виде код цифры "0" это 0x30 и т.д.

Хоть бы даташит посмотрели ради интереса. Все правильно топикстартер делает.
Go to the top of the page
 
+Quote Post
Tiro
сообщение Dec 6 2011, 21:36
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 781
Регистрация: 3-10-04
Из: Санкт-Петербург
Пользователь №: 768



Цитата(aaarrr @ Dec 7 2011, 00:28) *
Хоть бы даташит посмотрели ради интереса. Все правильно топикстартер делает.


Случаем не на язык Си даташит посмотреть? biggrin.gif
Вы бы хоть в файл приложенный глянули ради интереса.
Go to the top of the page
 
+Quote Post
sigmaN
сообщение Dec 6 2011, 21:39
Сообщение #6


I WANT TO BELIEVE
******

Группа: Свой
Сообщений: 2 617
Регистрация: 9-03-08
Пользователь №: 35 751



Я думаю вы "перемудрили".
Хотя-бы потому, что фирмварь врят-ли будет состоять из сплошных \r\n


--------------------
The truth is out there...
Go to the top of the page
 
+Quote Post
Tiro
сообщение Dec 6 2011, 21:43
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 781
Регистрация: 3-10-04
Из: Санкт-Петербург
Пользователь №: 768



Цитата(sigmaN @ Dec 7 2011, 00:39) *
Я думаю вы "перемудрили".
Хотя-бы потому, что фирмварь врят-ли будет состоять из сплошных \r\n


Ребят, вы задрали. У него фирмварь занимает 11,99 КБ, имеет 3070 строчек. Ну скачайте, блин, приложенный файл-то. Там он и состоит из сплошных CR LF.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Dec 6 2011, 21:49
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 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.

Прикрепленное изображение

Теперь, надеюсь, все понятно?
Go to the top of the page
 
+Quote Post
Tiro
сообщение Dec 6 2011, 21:50
Сообщение #9


Знающий
****

Группа: Свой
Сообщений: 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.

Как переведете фразу? Впрочем, мне уже не интересно и свое мнение изложил.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Dec 6 2011, 21:54
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Tiro @ Dec 7 2011, 01:50) *
Как переведете фразу? Впрочем, мне уже не интересно и свое мнение изложил.

Они могли бы и в виде zip-файла SROM приложить, так что, пихали бы zip не распаковывая? Неправильное ваше мнение, увы.
Go to the top of the page
 
+Quote Post
Tiro
сообщение Dec 6 2011, 21:56
Сообщение #11


Знающий
****

Группа: Свой
Сообщений: 781
Регистрация: 3-10-04
Из: Санкт-Петербург
Пользователь №: 768



Цитата(aaarrr @ Dec 7 2011, 00:54) *
Они могли бы и в виде zip-файла SROM приложить, так что, пихали бы zip не распаковывая? Неправильное ваше мнение, увы.


Не сомневаюсь, что есть еще много способов нетривиального теста функции SROM Download biggrin.gif
Go to the top of the page
 
+Quote Post
_pv
сообщение Dec 6 2011, 22:30
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 2 563
Регистрация: 8-04-05
Из: Nsk
Пользователь №: 3 954



Цитата(Tiro @ Dec 7 2011, 04:50) *
The firmware file is an ASCII text file.
Как переведете фразу?

то что файл который с прошивкой который лежит на их сайте он ascii, а не бинарный и не надо его прямо так пихать в сенсор. тем более что как уже заметили выше, прямо так не влезет, размер прошивки должен быть 1,5 или 3 кБ
Go to the top of the page
 
+Quote Post
ReAl
сообщение Dec 7 2011, 07:17
Сообщение #13


Нечётный пользователь.
******

Группа: Свой
Сообщений: 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 «как есть», не переводя в двоичную форму.


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post
Tiro
сообщение Dec 7 2011, 08:43
Сообщение #14


Знающий
****

Группа: Свой
Сообщений: 781
Регистрация: 3-10-04
Из: Санкт-Петербург
Пользователь №: 768



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

Получается, что вопрос не совсем по Си.
Go to the top of the page
 
+Quote Post
Bogdan
сообщение Dec 12 2011, 22:25
Сообщение #15


Участник
*

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



Всем спасибо за ответы.
Я просто еще несколько боков нашел в своем творении.
Сейчас пробую разные варианты. Вообще, человек который это уже делал сказал, что он просто добавил перед каждым елементом файла "0x", чтоб была возможность прочитать массив данных в формате HEX.
Go to the top of the page
 
+Quote Post

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

 


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


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