| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| array http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=13231 |
Страница 1 от 1 |
| Автор: | Живко [ Пон Сеп 29, 2014 10:53 pm ] |
| Заглавие: | array |
Използвам IAR Embedded workbench for AVR .Имам дефинирани N на брой масива: __flash const char *ptici[]={ "кокошка", "патка ", "гълъб", "врабче" }; . N . __flash const char *animal[]={ "лъв", "слон ", "котка" }; __flash unsigned char color_ptici[12]={12,4,33,65…1}; . N . __flash unsigned char color_animal[12]={44,2,27,66…9}; //функция за визуализация Print_LCD(unsigned char * color,char *p[]) { . . } Main() { Print_LCD(color_ptici,ptici); Print_LCD(color_animal,aimal); } След компилация ми дава грешка: Error[Pe167]: argument of type "unsigned char __flash *" is incompatible with parameter of type "unsigned char *" Ако масива го направя в RAM т.е. без __flash всичко е ок. Въпроса ми е как да дефинирам еднотипни масиви от константи и да ги предам на функция ? |
|
| Автор: | bobihot [ Вто Сеп 30, 2014 1:04 am ] |
| Заглавие: | Re: array |
Той ти го е писал: "unsigned char *" Print_LCD(unsigned char __flash * color,char *p[]) Така му казваш, че са от флаш паметта и си ги адресира от там. Иначе ще ги адресира от рама. |
|
| Автор: | Живко [ Вто Сеп 30, 2014 10:13 pm ] |
| Заглавие: | Re: array |
Благодарско но се появи и следния проблем при дефиниране на масив от вида: __flash const char *ptici[]={ "кокошка", "патка ", "гълъб", "врабче" }; се заделят и байтове от рама колкото са буквите в думите + 1 и толкова в флаша а когато е : __flash unsigned char color_animal[12]={44,2,27,66…9}; го разполага само в флаша някаква идея защо е така? и решение да се разположи само в флаша |
|
| Автор: | Nikola Kirov [ Вто Сеп 30, 2014 10:49 pm ] |
| Заглавие: | Re: array |
В опциите на ИАР имаше нещо като "place strings in flash". Имаше някакъв начин и локално да се укаже с прагма директива. А може да пробваш с заигравка с __flash __flash const char __flash *ptici[]={ "кокошка", "патка ", "гълъб", "врабче" }; |
|
| Страница 1 от 1 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|