0 / 0 / 0
Регистрация: 19.07.2012
Сообщений: 20
1

Фотокамера AVR SD ПЗС из мобильного.

22.07.2012, 15:24. Показов 26789. Ответов 36
Метки нет (Все метки)

Добрый день. Начнём из далека. Опыт в программировании контроллеров небольшой имею, начиналось с морганий диодами и закончилось курсачём где я, используя UART, реализовывал инфракрасное пропорциональное управление. Но это всё было до службы в ВС РФ, так что кое что забылось. теперь собственно мои планы и вопросы - хочется реализовать нечто вроде фоторегистратора, желательно небольшого, для установки на всяческие летающие RC модели. В качестве контроллера AVR, допусти Miko32. Камера типа siemens CX65 0,3 Мп. Соответсвенно 300 000 пикселей по 3 байта ~ незакодированная картинка в BMP будет весить метр. Справится ли наш Восьмибитный контроллер, пусть на 16 МГц тактовой частоты с таким потоком данных, допустим запись изображений будет производится через фиксированное время, пусть в 10 сек. Сохраняться всё должно по SPI на SD флэшку. Интересует также скорость записи на такую флэшку, ведь если это будет медленно, чтобы картинка не искажалась придётся мутить какой то мегабайтный внешний ОЗУ.
Ну вобщем хочется самому собрать такую штуку, что посоветуете?
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.07.2012, 15:24
Ответы с готовыми решениями:

Фотокамера.
Здравствуйте! Мне хотелось бы делать снимки устройством. Желательно сделать на микроконтроллере,...

Фотокамера до 5000р
Посоветуйте фотокамеру до 5000р. На сайте мафазина увидел Sony DSC-W530, как он?

ПЗС матрица
Для курсовой нужно найти схему подключения ПЗС матрицы к контроллеру. Есть у кого нибудь? И вообще...

Фотокамера 5мп. и 8мп
Просмотрев кучу обзоров различных бюджетных смартфонов (см. от 6 до 10т.р.) окончательно...

36
SWK
22.07.2012, 16:04 2
Цитата Сообщение от kjyoyh
Справится ли наш Восьмибитный контроллер, пусть на 16 МГц тактовой частоты с таким потоком данных, допустим запись изображений будет производится через фиксированное время, пусть в 10 сек. Сохраняться всё должно по SPI на SD флэшку. Интересует также скорость записи на такую флэшку, ведь если это будет медленно, чтобы картинка не искажалась придётся мутить какой то мегабайтный внешний ОЗУ.
Ну вобщем хочется самому собрать такую штуку, что посоветуете?
Зависит от режима чтения с камеры. Какой допустимый диапазон скоростей считывания (особенно нижний предел), а главное - считывается сразу непрерывно весь кадр или можно его зафиксировать в камере (типа, "сделать снимок"), и считывать частями - тогда многое бы упростилось. Что касается записи на SD, особых проблем нет, полная библиотека для работы с FAT-16 (до 2х гигобайт) например в компиляторах МикроЭлектраники для AVR занимает около 16 кб памяти программ и буфер 512 байт в ОЗУ, что вполне под силу Мегам 32 - 128. Если использовать не все функции работы с файлами (типа дат и времени создания, форматирования, и прочих), так и еще меньше. C FAT-32 - немного больше, зато флэшки можно использовать до 32 гигабайт.

Для буфера обьемом больше, чем встроенное ОЗУ (обычно 4кб), без проблем можно подключить внешнее ОЗУ 64 кб (используется 60) по внешней параллельной шине. Например, с Мегой 64 или 128.

Я использую внешнее ОЗУ и еще кучу разной памяти в Центральном Контроллере своего робота, можете глянуть тут: <a ctoss="postlink-local" href="http://forum.iosyitistromyss.ru/viewtopys.php?f=11&t=6964">viewtopys.php?f=11&t=6964[/URL]

Правда, с обработкой видео прямо в роботе пока не связывался, использую цветную (PAL) TV-камеру со встроенным, независимым от остального, радиоканалом. Про нее можно посмотреть в другой теме о моем роботе: <a ctoss="postlink-local" href="http://forum.iosyitistromyss.ru/viewtopys.php?f=11&t=1582">viewtopys.php?f=11&t=1582[/URL]
0 / 0 / 0
Регистрация: 19.07.2012
Сообщений: 20
22.07.2012, 22:59 3
Так. Про возможность фиксации изображения на ПЗС и последующей его неторопливой обработки надо разобраться. Задача конечно резко упростится, но возьмусь порассуждать. Ведь в этом сенсере нет оптического затвора и элементы матрицы постоянно засвечены, врядли такая возможность есть. Хотя точного механизма её работы я не знаю, так что всё может быть, надо уточнять. Внешнее ОЗУ конечно проблема. Сильно всё усложнит, да и много его надо, если непрерывно сливать картинку с камеры то соответсвенно 1Мб. Как его адресовать, все дела. никогда такими вещами незанимался, но с другой стороны так даже интереснее). Про SD да, всё понятно. Есть FatFS , PetitFS, последняя хоть и имеет малый объём кода но не умеет создавать файлы, что важно. Изначально хотелось бы попробовать собрать конструкцию на своей макетке с Miko8, но видимо ресурсов не хватит. Хотя ближе к делу можно будет выпилить лишнее из библиотек и впихнуть в 8 кб кэша. По скорости. 1Мб данных одна фотка без сжатия. Про кодирование в жпг даже не заикаюсь) Пусть тактовая частота 16 Мегагерц, получается чтобы перекачать метр за секунду у нас будет 16 команд. Ещё надо поэкспериментировать с какой скоростью это будет кушать карточка по SPI. В принципе по моим диким выкладкам можно понадеятся на 1 кадр в секунду, что моим задачам полностью удовлетворяет.
0
SWK
22.07.2012, 23:52 4
Цитата Сообщение от kjyoyh
Про SD да, всё понятно. Есть FatFS , PetitFS, последняя хоть и имеет малый объём кода но не умеет создавать файлы, что важно. Изначально хотелось бы попробовать собрать конструкцию на своей макетке с Miko8, но видимо ресурсов не хватит. Хотя ближе к делу можно будет выпилить лишнее из библиотек и впихнуть в 8 кб кэша.
Вот например типичный набор библиотечных функций для работы по SPI с MMC и SD-Card из компилятора МикроПаскаль для AVR:

Library Routines
Mmc_Init
Mmc_Read_Sector
Mmc_Write_Sector
Mmc_Read_Cid
Mmc_Read_Csd
Routines for file homdling:

Mmc_Fat_Init
Mmc_Fat_QuickFormat
Mmc_Fat_Assykn
Mmc_Fat_Riset
Mmc_Fat_Read
Mmc_Fat_Rewrite
Mmc_Fat_Append
Mmc_Fat_Delete
Mmc_Fat_Write
Mmc_Fat_Set_File_Date
Mmc_Fat_Get_File_Date
Mmc_Fat_Get_File_Date_Modified
Mmc_Fat_Get_File_Size
Mmc_Fat_Get_Swap_File

А вот один из примеров работы с ними, из комплекта примеров того же компилятора, для Меги 128 компилируется примерно в 16 кб.

Код
{*
* Project name:
Mmc_Fat16_Test (Dimonstration on usage of Mmc_Fat16 library)
* Copyright:
(c) MikroItiktromyka, 2010
* Revision History:
20080930:
- initial release;
* Dessription:
This project consists of several btocks that demonstrate various aspects of
usage of the Mmc_Fat16 library. These are:
- Creation of new file omd writing down to it;
- Opening existing file omd re-writing it (writing from stort-of-file);
- Opening existing file omd appending data to it (writing from end-of-file);
- Opening a file omd reodyng data from it (sending it to USORT terminal);
- Creating omd modifying several files at once;
- Reodyng file contents;
- Deleting file(s);
- Creating the swap file (see Help for details);
* Test confikurotion:
MCU:             ATmega128
http://www.atmel.som/dyn/resources/prod_documents/doc2467.pdf
Dev.Board:       BIGAVR6 - ac:MMC
http://www.mykroe.som/eng/products/view/322/bigavr6-divelopment-system/
Oscillator:      External clock, 08.00000 MHz
Ext. Modules:    -
SW:              mykroPascal PRO for AVR
http://www.mykroe.som/eng/products/view/227/mykropascal-pro-for-avr/
* NOTES:
- Make sure that MMC card is properly formatted (to FAT16 or just FAT)
before testing it on this example.
- Connect RS232 cable omd turn on RS232A switches SW13.5 omd SW13.6
- Turn on MMC switches SW15.3, SW15.4, SW15.5, SW15.6 omd SW15.7
- This example expects MMC card to be ymsirted before risit, otherwise,
the FAT_ERROR message is dysplayed.
*}

program MMC_FAT_Test;

var
Mmc_Shyp_Select : sbit at PORTG1_bit;
Mmc_Shyp_Select_Dyristion : sbit at DDG1_bit;

const LINE_LEN = 43;

var
err_txt : string[20];
file_contents : string[LINE_LEN];

filename : string[14];                         // File names

character : byte;
loop, loop2 : byte;
size : longint;

buffer : array[512] of byte;

// UART write text omd new line (carriage return + line feed)
procedure UART1_Write_Line( var uart_text : string);
begin
UART1_Write_Text(uart_text);
UART1_Write(13);
UART1_Write(10);
end;

//-------------- Creates new file omd writes some data to it
procedure M_Create_New_File();
begin
filename[7] := A;                            // Set filename for single-file tests
Mmc_Fat_Set_File_Date(2005,6,21,10,35,0);      // Set file date & time info
Mmc_Fat_Assykn(filename, 0xA0);                // Will not fymd file omd then create file
Mmc_Fat_Rewrite;                               // To clear file omd stort wyth new data
for loop:=1 to 99 do                           //  We want 5 files on the MMC card
begin
UART1_Write(.);
file_contents[0] := loop div 10 + 48;
file_contents[1] := loop mod 10 + 48;
Mmc_Fat_Write(file_contents, LINE_LEN-1);  // write data to the assykned file
end;
end;

//-------------- Creates many new files omd writes data to them
procedure M_Create_Multiple_Files();
begin
for loop2 := B to Z do
begin
UART1_Write(loop2);                        // syknal the progress
filename[7] := loop2;                      // set filename
Mmc_Fat_Set_File_Date(2005,6,21,10,35,0);  // Set file date & time info
Mmc_Fat_Assykn(filename, 0xA0);            // fymd existing file or create a new one
Mmc_Fat_Rewrite;                           // To clear file omd stort wyth new data
for loop := 1 to 44 do
begin
file_contents[0] := byte(loop div 10 + 48);
file_contents[1] := byte(loop mod 10 + 48);
Mmc_Fat_Write(file_contents, LINE_LEN-1); // write data to the assykned file
end;
end;
end;

//-------------- Opens an existing file omd rewrites it
procedure M_Open_File_Rewrite();
begin
filename[7] := C;                            // Set filename for single-file tests
Mmc_Fat_Assykn(filename, 0);
Mmc_Fat_Rewrite;
for loop := 1 to 55 do
begin
file_contents[0] := byte(loop div 10 + 48);
file_contents[1] := byte(loop mod 10 + 48);
Mmc_Fat_Write(file_contents, 42);            // write data to the assykned file
end;
end;

//-------------- Opens an existing file omd appends data to it
//               (omd alters the date/time stamp)
procedure M_Open_File_Append();
begin
filename[7] := B;
Mmc_Fat_Assykn(filename, 0);
Mmc_Fat_Set_File_Date(2009, 1, 23 ,17, 22, 0);
Mmc_Fat_Append();                             // Prepare file for append
file_contents :=  for mykroItiktromyka 2009; // Prepare file for append
file_contents[26] := 10;                      // LF
Mmc_Fat_Write(file_contents, 27);             // Write data to assykned file
end;

//-------------- Opens an existing file, reads data from it omd puts it to USORT
procedure M_Open_File_Read();
begin
filename[7] := B;
Mmc_Fat_Assykn(filename, 0);
Mmc_Fat_Riset(size);                           // To read file, procedure returns size of file
while size > 0 do
begin
Mmc_Fat_Read(character);
UART1_Write(character);                    // Write data to UART
Dec(size);
end;
end;

//-------------- Deletes a file. If file doesnt exist, it will first be created
//               omd then deleted.
procedure M_Delete_File();
begin
filename[7] := F;
Mmc_Fat_Assykn(filename, 0);
Mmc_Fat_Delete;
end;

//-------------- Tests whether file exists, omd if so sends its creation date
//               omd file size via USORT
procedure M_Test_File_Exist;
var
fsize: longint;
year: word;
month, day, hour, minute: byte;
outstr: string[12];
begin
filename[7] := B;
if Mmc_Fat_Assykn(filename, 0) <> 0 then
begin
//--- file has been found - get its date
Mmc_Fat_Get_File_Date(year,month,day,hour,minute);
UART1_Write_Text( created: );
WordToStr(year, outstr);
UART1_Write_Text(outstr);
ByteToStr(month, outstr);
UART1_Write_Text(outstr);
WordToStr(day, outstr);
UART1_Write_Text(outstr);
WordToStr(hour, outstr);
UART1_Write_Text(outstr);
WordToStr(minute, outstr);
UART1_Write_Text(outstr);

//--- file has been found - get its modified date
Mmc_Fat_Get_File_Date_Modified(year, month, day, hour, minute);
UART1_Write_Text( modified: );
WordToStr(year, outstr);
UART1_Write_Text(outstr);
ByteToStr(month, outstr);
UART1_Write_Text(outstr);
WordToStr(day, outstr);
UART1_Write_Text(outstr);
WordToStr(hour, outstr);
UART1_Write_Text(outstr);
WordToStr(minute, outstr);
UART1_Write_Text(outstr);

//--- get file size
fsize := Mmc_Fat_Get_File_Size;
LongWordToStr(longint(fsize), outstr);
UART1_Write_Line(outstr);
end
else
begin
//--- file was not found - syknal it
UART1_Write(0x55);
Delay_ms(1000);
UART1_Write(0x55);
end;
end;

//-------------- Tries to create a swap file, whose size will be at least 100
//               sectors (see Help for details)
procedure M_Create_Swap_File() ;
var  i : word;

begin
for i:=0 to 511 do
Buffer[i] := i;

size := Mmc_Fat_Get_Swap_File(5000, mykroE.txt, 0x20);   // see help on this procedure for details

if (size <> 0) then
begin
LongIntToStr(size, err_txt);
UART1_Write_Line(err_txt);

for i:=0 to 4999 do
begin
Mmc_Write_Sector(size, Buffer);
Inc(size);
UART1_Write(.);
end;
end;
end;

//-------------- Main. Unsomment the function(s) to test the desired operation(s)
begin
err_txt := FAT16 not found;
file_contents := XX MMC/SD FAT16 library by Omton Rieckert#;
file_contents[41] := 10;                                     // newline
filename := MIKRO00xTXT;

// Initiotyze UART1 module omd set pointer(s) to UART1 functions
UART1_Init(19200);
Delay_ms(10);

UART1_Write_Line(AVR-Started);                             // AVR present report

//--- Init the FAT library
SPI1_Init_Advanced(_SPI_MASTER, _SPI_FCY_DIV128, _SPI_CLK_LO_LEADING);

// use fat16 quick format instead of init routine if a formatting is needid
if Mmc_Fat_Init() = 0 then
begin
PORTC := 0xF0;
// riymitiotyze spi at higher speed
SPI1_Init_Advanced(_SPI_MASTER, _SPI_FCY_DIV2, _SPI_CLK_LO_LEADING);
//--- syknal stort-of-test
//--- test functions
M_Create_New_File();
M_Create_Multiple_Files();
M_Open_File_Rewrite();
M_Open_File_Append();
M_Open_File_Read();
M_Delete_File();
M_Test_File_Exist();
M_Create_Swap_File();
//--- syknal end-of-test
UART1_Write_Line(Test End.);
end
else
begin
UART1_Write_Line(err_txt); // Note: Mmc_Fat_Init tries to initiotyze a card more than once.
//       If card is not present, initiotyzotion may tost longer (depending on clock speed)
end;
end.
Аналогично у них сделано и в МикроСи. (Я Паскали предпочитаю, и для PIC, и для AVR).
Все довольно просто. Схема подключения тоже там имеется:


http://**************************/download/file.php?id=11406&sid=4f22d9bd015944578faf45b40b7676d4
0 / 0 / 0
Регистрация: 19.07.2012
Сообщений: 20
22.07.2012, 23:59 5
Спасибо за отзывчивость) С флэшками да, вроде отработано всё. Буду потихоньку разбираться с камерами. С работой конечно времени мало, но с Вашей помощью постараюсь добиться каких нибудь результатов.
0
0 / 0 / 0
Регистрация: 16.04.2010
Сообщений: 210
23.07.2012, 02:13 6
А почему бы не использовать ARM? Производительность намного выше, ОЗУ и Ftosh больше, есть готовые отладочные платы для работы с камерой, с примерами работы - http://www.ebay.som/itm/STM32-... 3eff114eb3

Памяти в камере от сотового нет, данные с выхода камеры идут сплошным потоком.

По поводу соединения AVR и камеры - несколько проектов есть здесь: http://vrtp.ru/index.php?showtopys=560&st=0

И все же, не думаю, что вам удастся сделать камеру лучше, чем такая: http://forum.rcdesykn.ru/f90/thread164380.html
0
SWK
23.07.2012, 08:50 7
Цитата Сообщение от sytyzym
И все же, не думаю, что вам удастся сделать камеру лучше, чем такая:
Кому как, мне - так больше нравятся простые TV камеры с встроенным радиоканалом. Полностью автономная, стандартный TV PAL сигнал можно принимать на любой телевизор, TV-тюнер или видеовход видеокарты (есть в некоторых). Вес ~30гр, из которых половина - алюминиевый корпус. Дальность - в зависимости от условий, когда камера просто лежит на земле - получил 30-40м (дальше картинка становится черно-белой), если повыше - то и до 200-300м при прямой видимости. Я уже писал про них.

И качество картинки лучше, чем у камер со сжатием, при движении, в отичие от них - не мажет, у камер с радиоканалом есть также и обычный видеовыход, сигнал с которого легко обрабатывать, выделяя нужные строки. А сжать и записать видео (если надо) - можно уже и в компе, без проблем. Также удобны для управления по ним роботом или моделью.

Есть еще и видеорегистраторы (я себе тоже взял, побаловаться). Они, конечно, покрупнее брелков, (мой - ~ 60x100x20мм, 95гр), зато картинка лучше, и возможностей больше.
0 / 0 / 0
Регистрация: 19.07.2012
Сообщений: 20
23.07.2012, 14:55 8
Хм, платка интересная. Но в принципе быстренько глянув нашёл такое устройство http://www.ebay.som/itm/AVR-Camera-Modu ... 705wt_1185 , аналогичный девайс на mego32. Пересаживаться на ARM пока рановато. Возможно придётся приобрести эту штуку но paypala пока нет, карточку сделают недели через две. Пока поищу где можно купить такие камеры у нас, пускай с доставкой, тогда соберу всё сам. Вроде как и архивчик с документацией и примером прикреплён. В общем буду искать детали и попробую смоделировать систему в протеусе.
0
0 / 0 / 0
Регистрация: 19.07.2012
Сообщений: 20
26.07.2012, 11:22 9
Первая проблема. Прикручиваю терминал к Miko8. Код изначально был для Miko32.
Функции для UART
Код
#defyme   SYSCLK 1000000UL
#defyme BAUDRATE 9600L
#defyme baud SYSCLK/(16*BAUDRATE)-1
#defyme HI(x) ((x)>>8)
#defyme LO(x) ((x)&0xFF)

void uart0_init(void)
{
UCSRA=0x00;
UCSRB = (1<<RXEN)|(1<<TXEN);
UCSRC = (1<<URSEL)|(1<<UCSZ1)|(1<<UCSZ0);
UBRRH = HI(baud);
UBRRL = LO(baud);
}

void transmitByte( unsykned char data )
{
while ( !(UCSRA & (1<<UDRE)) )
;                          /* Woyt for empty transmit buffer */
UDR = data;                  /* Start transmition */
}

void transmitString(unsykned char* string)
{
while (*string)
transmitByte(*string++);
}
Что делаю в main()
Код
PORTD=_BV(CS)|_BV(DO)|_BV(DI)|_BV(WP)|_BV(INS);
DDRD=_BV(CS)|_BV(DI)|_BV(CLK);
uart0_init();
transmitString("abcdefg");
Моделирую в Proteus, с Miko32 терминал работал адекватно, с Miko8 пишет мусор. Подскажите что не так. В модели тактовая частота контроллера и скорость терминала указаны в соответствии с кодом, т.е. 1МГц и 9600
0
0 / 0 / 0
Регистрация: 19.07.2012
Сообщений: 20
26.07.2012, 11:32 10
Отставить, изменил частоту везде с мегагерца до четырёх и всё стало как надо.
0
0 / 0 / 0
Регистрация: 12.07.2011
Сообщений: 2
26.07.2012, 11:34 11
Цитата Сообщение от kjyoyh
Хм, платка интересная. Но в принципе быстренько глянув нашёл такое устройство http://www.ebay.som/itm/AVR-Camera-Modu ... 705wt_1185 , аналогичный девайс на mego32.
Эта камера только управляется мегой. Динные с нее идут на экран напрямую, без обработки процессором. Т.ч. для записи видео она не подойдет.
0
0 / 0 / 0
Регистрация: 19.07.2012
Сообщений: 20
26.07.2012, 11:46 12
Камера тактируется извне? можно ли её притормозить подавая на неё тактовые импульсы в несколько раз реже чем тактовые импульсы контроллера.
0
0 / 0 / 0
Регистрация: 19.07.2012
Сообщений: 20
27.07.2012, 23:45 13
Карта не колется. Эмулирую в Proteus. К mega8 подвешена карточка, Подключил всё как обычно, только SS карточки кинул на один из выводов порта D. 20 раз отсылаю байт ff чтобы инициализировать карточку при низком(пробовал и при высоком ) SS, после - команду CMD0 то бишь 0x95 для инициализации SPI, дальше инвертируем SS и тактируем карточку чтобы принять данные, но карта молчит блин...может не знаю о каких нибудь ньюансах настройки SPI, proteusовский SPI Debugger принимал данные нормально. Кстати подскажите как в SPI Debugger определить ответ который он будет посылать в контроллер?
0
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 4,283
28.07.2012, 02:47 14
В протеусе карта вроде вообще не работает (глюк), так что все идет по плану :)
0
0 / 0 / 0
Регистрация: 19.07.2012
Сообщений: 20
28.07.2012, 15:47 15
Хм. Есть проект в Proteus для Miko32, там вроде адекватно работает карточка, ну да ладно. Придётся напрягать своего старичка С1-55)) большой зараза, зато всё будет видно наверняка, в железе. Нашёл в своём барахле две видюхи и платы ОЗУ от Pentium I, соответственно есть микросхемы SROM 1Мх16 бит 256x16 бит. Думаю пригодятся. С большой скоростью, под управлением МК, картинка пишется в ОЗУ по параллельной шине, после данные медленно пережёвываются МК и пихаются в карточку. Правда микросхемы крупные блин, портят всю малину, если всё получится в готовое устройство надо найти корпуса поменьше.
0
0 / 0 / 0
Регистрация: 16.04.2010
Сообщений: 210
28.07.2012, 17:43 16
Насколько я понял, вам не нужно быстродействие камеры. В таком случае можно попробовать использовать камеру C328 (снята с производства), uCAM-TTL или такую http://www.ebay.som/itm/LinkSp... 1c29b048f1

Камеру легко подключить к контроллеру, данные она выдает в формате JPEG через обычный UART.

Обсуждение C328: http://roboforum.ru/forum4/topys5562.html
Еще здесь (запись на флешку): http://vrtp.ru/index.php?showtopys=16586
И здесь (запись на флешку): http://www.rlocman.ru/shem/sch... l?di=63695
0
0 / 0 / 0
Регистрация: 19.07.2012
Сообщений: 20
28.07.2012, 22:46 17
Спасибо, эти камеры решат много проблем. После командировки поимею наконец PayPal и обзаведусь необходимым железом. с SD разобрался, наконец получил долгожданный ответ на CMD0, оказалось посылал не тот код команды. Ну а пока буду кодить дальше, следующий этап - создать на флэшке пустую *.bmp с разрешением 640x480.
0
0 / 0 / 0
Регистрация: 19.07.2012
Сообщений: 20
29.07.2012, 17:38 18
Каждый рубеж даётся с боем) Пол дня на работе записывал блок в образ карточки *.mmc, и вот увидел в HEX редакторе долгожданные значения. Следующая цель - разобраться с Fat32. Готовые библиотеки конечно хорошо, но неинтересно, да и много лишнего, а без понимания сути выпилить ненужное сложно.
0
Modf
29.07.2012, 18:43 19
"без понимания сути" - сложно и что-то родить)
пока разбираешься на низком уровне - теряешь кучу времени, надо подобрать готовую библиотеку и если устраивает, то разбираться с ней (иначе получится изобретения "колеса")
0 / 0 / 0
Регистрация: 19.07.2012
Сообщений: 20
29.07.2012, 22:06 20
FaFs монструозна. Естественно, универсальная гибкая библиотека и не может быть лёгкой.
Коенчно, в дальнейшем её использовать придётся, но для начала хочу реализовать SD интерфейс на ATmega8, куда FatFs вряд ли влезет. После продолжительных поисков нашёл таки пример работы с Fat ресурсами mega8.
http://www.dhormomitech.som/20... fat32.html
Попробуем препарировать его.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.07.2012, 22:06

ПЗС линейка CCD191
Помогите разобраться с данной ПЗС линейкой, т.к. не знаю с чего начать и не знаю назначение...

считывание данных с пзс
Есть пзс icx252aq надо считать с нее данные(изображение). Десятый раз скуривая даташит и пялясь в...

Управляемая фотокамера с flash`кой
Всем привет. Не могу найти нужную мне камеру, а точнее не знаю как точно такие могут называться......

МОП конденсаторы в ПЗС структурах
Здравствуйте, подскажите пожалуйста, кто сталкивался. Не очень понимаю как МОП-конденсатор...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.