AVR Раздел по микроконтроллерам компании Atmel - AVR / ATtiny / ATmega / ATMega128 / ATxmega, вопросы по программированию в AVR studio и все, относящееся к AVR... |
08.08.2017, 13:28
|
|
Прописка
Регистрация: 05.12.2008
Адрес: Россия, Омск
Сообщений: 145
Сказал спасибо: 39
Сказали Спасибо 29 раз(а) в 22 сообщении(ях)
|
Re: printf...
Сообщение от raptor37
|
А вот так не работает:
...
eeprom char buffer_ee[42]={ 0x04,... };
...
Где ошибка
|
В AVR контроллерах модель памяти не плоская. Вы не сможете просто так обратиться ни к Flash памяти по указателю, ни к EEPROM.
Чтобы считать байт из определённого ВИДА памяти - нужно написать для этого функцию.
Кстати, многие функции уже написаны за Вас.
http://www.nongnu.org/avr-libc/user-...r__eeprom.html
Код:
|
#include ‹avr/eeprom.h›
...
SomeVar = eeprom_read_byte(&(buffer_ee[i]));
... |
|
|
|
|
08.08.2017, 13:32
|
|
Гуру портала
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,058
Сказал спасибо: 2,563
Сказали Спасибо 11,890 раз(а) в 5,964 сообщении(ях)
|
Re: printf...
Сообщение от -Alan-
|
Вы не сможете просто так обратиться ни к Flash памяти по указателю, ни к EEPROM.
|
В CV - можно. "Кефаль думает за Вас!"(с) А вот в Winavr кефали нет...
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
|
|
|
|
08.08.2017, 13:59
|
|
Заблокирован
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
|
Re: printf...
Вменяемые давно забили болт на этот недотраханный АВР с его "модель памяти не плоская" и "В CV - можно". Там всё то косо, то криво, то на глиняных ногах.
|
|
|
|
08.08.2017, 15:16
|
|
Гуру портала
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,058
Сказал спасибо: 2,563
Сказали Спасибо 11,890 раз(а) в 5,964 сообщении(ях)
|
Re: printf...
Сообщение от STM32F0
|
Там всё то косо, то криво, то на глиняных ногах.
|
Да-да, да-да... Потому-то и штампуют с такой скоростью обновленные КейлЫ и прочие... Со списьком устраненных недоделок. Или об этом не принято выражаться?
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
|
|
|
|
08.08.2017, 16:40
|
|
Заблокирован
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
|
Re: printf...
Зато на недоделанных АВР уже ничего не доделывают, ибо нет смысла доделывать недоделанное и убогое от рождения.
|
|
|
|
08.08.2017, 17:02
|
|
Модератор
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,257
Сказал спасибо: 11,170
Сказали Спасибо 3,858 раз(а) в 2,928 сообщении(ях)
|
Re: printf...
STM32F0, про глину таки не надо так сильно. Голем (גולם) тоже вполне себе из глины . Да и в качестве материала для разных произведений искусства очень успешна.
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
|
|
|
|
08.08.2017, 17:08
|
|
Гуру портала
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,058
Сказал спасибо: 2,563
Сказали Спасибо 11,890 раз(а) в 5,964 сообщении(ях)
|
Re: printf...
Сообщение от STM32F0
|
Зато на недоделанных АВР...
|
STM32F0, доделанность зависит от потребности. Кому просто светиком-другим моргнуть, тому вполне они доделанные.
Не могу сказать, что у меня суперские задачи, но с необходимым (для упразднения большого количества железа) объемом вычислений в реальном времени АВР не справляются.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
|
|
|
|
08.08.2017, 17:32
|
|
Заблокирован
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
|
Re: printf...
Да чё вы тут шёпотом орёте? Вот помнится АРВ на котах углубился в знания и открыл сам себе кучу неприятных вещей в АВР. Я чуть водкой не поперхнулся. Всю жизнь свою он двигал АВР как цыган солнце и тут на тебе, откровения от первого лица в очень неприглядном виде.
mike-y-k, что глина, что гуано - один цвет, один результат, различия в запахе.
Сообщение от akegor
|
Не могу сказать, что у меня суперские задачи, но с необходимым (для упразднения большого количества железа) объемом вычислений в реальном времени АВР не справляются.
|
Да ни с чем АВР сейчас уже не справляется. Это как сотовый делать по схеме 3-V-3 на транзисторах.
|
|
|
|
09.08.2017, 19:45
|
|
Прописка
Регистрация: 07.08.2005
Сообщений: 146
Сказал спасибо: 67
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
|
Re: printf...
Сообщение от raptor37
|
Подскажите пожалуйста.
Почему так работает:
...
printf("0421044004300431043E04420430043B0020002204 12044504 3E04340020003100220020002000200020");
...
_____________
А вот так не работает:
...
eeprom char buffer_ee[42]={ 0x04,0x21,0x04,0x40,0x04,0x30,0x04,0x31,0x04,0x3E, 0x04,0x42,0x04,0x30,0x04,0x3B,0x00,0x20,0x00,0x22, 0x04,0x12,0x04,0x45,0x04,0x3E,0x04,0x34,0x00,0x20, 0x00,0x31,0x00,0x22,0x00,0x20,0x00,0x20,0x00,0x20, 0x00,0x20};
...
for (cnt = 0; cnt ‹= 41; cnt ++)
{
temp=(buffer_ee[cnt] & 0xF0) ›› 4;
printf("%c", temp);
temp=(buffer_ee[cnt] & 0x0F);
printf("%c", temp);
}
Где ошибка
|
CodevisionAVR великая штука!
Еепром переключать не надо компил сам всё делает.
Что касается вопроса то решение такое:
for (cnt = 0; cnt ‹= 41; cnt ++)
{
printf("%02X", buffer_ee[cnt]);
}
- вылетает сразу по байту и не надо даж знать что такое ниббл (я ж не кроссворд разгадываю).
Всем большое спасибо!
Последний раз редактировалось raptor37; 09.08.2017 в 20:03.
|
|
|
|
13.10.2017, 07:36
|
|
Прописка
Регистрация: 24.08.2005
Сообщений: 139
Сказал спасибо: 18
Сказали Спасибо 16 раз(а) в 15 сообщении(ях)
|
Re: printf...
Сообщение от raptor37
|
CodevisionAVR великая штука!
Еепром переключать не надо компил сам всё делает.
Что касается вопроса то решение такое:
for (cnt = 0; cnt ‹= 41; cnt ++)
{
printf("%02X", buffer_ee[cnt]);
}
- вылетает сразу по байту и не надо даж знать что такое ниббл (я ж не кроссворд разгадываю).
Всем большое спасибо!
|
Да пожалуй для начинающего вполне ничего себе.CodevisionAVR
но стоит копнуть поглубже и начинают вылезать разные кракозябы, особенно с большие данные, на память начинает нищадно ругатся
на сегодня уже неактулен и устарел.
хотите продвигатся дальше начинайте с Studio, незабевайте голову хламом
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 18:06.
|
|