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

 
 
> Считать из flash-памяти PIC. Срочно!, IAR язык Си
Andrеys
сообщение Dec 21 2007, 19:27
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 32
Регистрация: 13-08-07
Из: г. Челябинск
Пользователь №: 29 741



т.к. памяти стало не хватать(держал много массивов с байтами) придется хранить их где-то в памяти и обращаться поадресно, на 1 адрес 6 байт, возможно ли такое на PIC?
модель PIC16F877. Как это осуществляется?
нашел в файле inpic.h вот это:


#ifdef __FLASH__
__intrinsic int __flash_read_int( unsigned short address );
__intrinsic void __flash_write_int( unsigned short address, int value );
__intrinsic char __flash_read_low_char( unsigned short address );
__intrinsic char __flash_read_high_char( unsigned short address );
#endif

очень похоже на то что мне надо(или я ошибаюсь?)
если да, то как это использовать?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Andrеys
сообщение Dec 23 2007, 13:58
Сообщение #2


Участник
*

Группа: Новичок
Сообщений: 32
Регистрация: 13-08-07
Из: г. Челябинск
Пользователь №: 29 741



это случилось когда невольно пришлось писать программу на пике, при этом с памятью никогда не встречался. Значит флеш не хватало, спасибо за это разъяснение.
а у вас есть предложение как это можно осуществить?:
хранить где-то эти массивы, чтобы память ни ОЗУ ни FLASH не заканчивалась,
и можно было байт за байтом из них извлекать.

вообще, в каждом массиве у меня лежит буква для графического дисплея, но возникла эта трудность
Go to the top of the page
 
+Quote Post
Baser
сообщение Dec 23 2007, 14:31
Сообщение #3


Просто Che
*****

Группа: Свой
Сообщений: 1 567
Регистрация: 22-05-07
Из: ExUSSR
Пользователь №: 27 881



Цитата(Andrеys @ Dec 23 2007, 15:58) *
это случилось когда невольно пришлось писать программу на пике, при этом с памятью никогда не встречался.

Уважаю в людях чувство юмора! lol.gif

Цитата
а у вас есть предложение как это можно осуществить?:
хранить где-то эти массивы, чтобы память ни ОЗУ ни FLASH не заканчивалась,
и можно было байт за байтом из них извлекать.
вообще, в каждом массиве у меня лежит буква для графического дисплея, но возникла эта трудность

Если внутренней флэш памяти мало, а нужно хранить большие массивы констант (напр. фонты и тексты для LCD), тогда применяют внешнюю память. В зависимости от нужного объема можно применить EEPROM (до 128 кбайт) или DataFlash (мегабайты). Эти чипы подключают при помощи сериальных интерфейсов I2C (серия 24C02 - 24С1024), SPI (25Cxx, Atmel DataFlash AT45DBxxx).
При работе с ними придется сначала читать нужный массив из этой памяти в ОЗУ процессора, и только потом использовать по назначению.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Andrеys   Считать из flash-памяти PIC. Срочно!   Dec 21 2007, 19:27
- - ncux   Цитатапридется хранить их где-то в памяти А массив...   Dec 22 2007, 22:09
- - Andrеys   да, я был некорректен. держать в памяти я имел вви...   Dec 23 2007, 09:18
- - Baser   Цитата(Andrеys @ Dec 21 2007, 21:27) очен...   Dec 23 2007, 12:15
- - Andrеys   ага. а у меня дело-то в том что это "злой пре...   Dec 23 2007, 16:33
|- - Baser   Цитата(Andrеys @ Dec 23 2007, 18:33) знач...   Dec 23 2007, 17:41
- - Andrеys   Окей, я сделал так: char flash_read(char address) ...   Dec 26 2007, 18:54
- - Baser   Ну для начала просьба не выкладывать такие куски п...   Dec 26 2007, 21:40
- - Andrеys   ЦитатаОдна явная ошибка налицо: ... Учтено! ...   Dec 30 2007, 10:59
|- - Baser   Цитата(Andrеys @ Dec 30 2007, 12:59) каки...   Dec 30 2007, 16:23
- - Andrеys   я так понял ругаться начинает только в том куске, ...   Jan 2 2008, 09:16
|- - Baser   Цитата(Andrеys @ Jan 2 2008, 11:16) я так...   Jan 2 2008, 21:59
- - Andrеys   Baser! Спасибо за хорошее отношение и терпелив...   Jan 10 2008, 17:55
- - KAI   Цитата(Baser @ Jan 3 2008, 00:59) Версия ...   Feb 15 2008, 10:04


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

 


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


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