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

 
 
> Вопрос по С, работа с 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
 
Start new topic
Ответов
Tiro
сообщение Dec 6 2011, 20:52
Сообщение #2


Знающий
****

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


Гуру
******

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


Знающий
****

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



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


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


Гуру
******

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


Знающий
****

Группа: Свой
Сообщений: 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
ReAl
сообщение Dec 7 2011, 07:17
Сообщение #7


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

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



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

 


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


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