![]() |
Модераторы: PILOT, ManiaK, Mazzi |
![]() ![]() ![]() |
|
martyr |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 13.10.2005 Репутация: нет Всего: нет |
проблема такая, что при записи или при чтении в eeprom, он записывает или читает младшую часть.все переменные и функции объявлены в другом файле. Вот код программы:
Это сообщение отредактировал(а) martyr - 16.11.2005, 18:35 |
|||
|
||||
cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 8 Всего: 99 |
Используйте теги [c ode=vb][/code] для подсветки кода!
-------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
PILOT |
|
|||
![]() производство ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2724 Регистрация: 4.4.2002 Где: москва Репутация: 20 Всего: 54 |
Вопроса не понял...
![]() СУВ. -------------------- тут могла быть Ваша реклама... |
|||
|
||||
martyr |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 13.10.2005 Репутация: нет Всего: нет |
ну вообщем если я записываю значение 255, то eeprom мне выдаёт 255, а если я записываю 300, то eeprom выдаёт 44, т.е. считывает малдшую часть, а старшую нет. Вот :
1 я не знаю что он не правильно делает: записывает или читает 2. прога вроде нормально написано, не знаю где может быть косяк, я хотел, чтобы кто-нибудь взглянул на кусок проги свежим взглядом и посмотерл если бак в этом куске проги |
|||
|
||||
cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 8 Всего: 99 |
martyr, извини я конечно протормозил. На форуме есть и c/c++ теги, так что можешь подредактировать...
uint16_t read_byte_from_eeprom (uint16_t eeprom_address) -------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
martyr |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 13.10.2005 Репутация: нет Всего: нет |
cardinal не помогает и почему uint16_t, если мы возвращает byte_eeprom а он у нас 8 бит?
|
|||
|
||||
cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 8 Всего: 99 |
в коде должно стоять так: code=cpp
А насчет byte ты прав. Ну так ты тогда тогда и будешь имеет максимальное значение в 255. Если хочешь больше, то и записывай на соседние адреса в eeprom несколько байт. Потом также несколько байт и читать надо будет... -------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
martyr |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 13.10.2005 Репутация: нет Всего: нет |
cardinal, почему максимум 255, пояни момент плиз подробнее как больше получить
|
|||
|
||||
cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 8 Всего: 99 |
-------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
martyr |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 13.10.2005 Репутация: нет Всего: нет |
я это понимаю, как мне сделать больше 255? я ведь как раз для этого при записи вызываю 2 раза функцию
write_byte_to_eeprom (eeprom_address, byte_eeprom); Это сообщение отредактировал(а) martyr - 16.11.2005, 18:33 |
|||
|
||||
cardinal |
|
||||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 8 Всего: 99 |
или наоборот
, смотря какой порядок в памяти хочешь иметь... В результате (когда прочитаешь и слепишь в одно) получишь число 0x2e3f, то есть 11839. -------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
||||
|
|||||
martyr |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 13.10.2005 Репутация: нет Всего: нет |
так я так и делаю
или так нельзя писать? Это сообщение отредактировал(а) martyr - 16.11.2005, 20:42 |
|||
|
||||
cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 8 Всего: 99 |
Посмотри на содержание byte_eeprom на строке 3 и потом на строке 7 и поймешь можно или нет. printf у тебя работает вообще для отдладки? Если нет, то сделай, чтобы работало. ![]() -------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
martyr |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 13.10.2005 Репутация: нет Всего: нет |
printf не получится, я ведь не в консоле работаю, у меня есть окошко, кот-ой показывает обмен данными по инетерфейсу
|
|||
|
||||
martyr |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 13.10.2005 Репутация: нет Всего: нет |
ошибка нашлась, мне на работе дали новый комп, винда сама ставилась, по дефолту поставился год 2014, а заметил что 2014 год вчера, поставил 2005, и сегодня заметил, что у меня файл прошивки старый, компилятор не мог его создать писал, что старый файл прошивки 2014 года, а новый типа 2005, и компилятор мне говорил, что такого не может быть.
Вообщем как я это заметил долго матюгался,т.к. целый день искал ошибку :-(. Теперь всё ок. :-))))))))))) |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Микроконтроллеры (MCU) и микропроцессоры (MPU)" | |
|
На данный раздел помимо Правил форума распространяются текже следующие правила:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, PILOT, ManiaK, UniBomb, Mazzi. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Микроконтроллеры (MCU) и микропроцессоры (MPU) | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |