|
Виж темите без отговор | Виж активните теми
Дата и час: Вто Юли 28, 2026 1:35 am
Има ли разлика между SD и MMC?
| Автор |
Съобщение |
|
Цецо
Ранг: Форумен бог
Регистриран на: Пон Сеп 27, 2004 9:22 am Мнения: 15501 Местоположение: София
|
Леле Фитил, то бива коментари по кода, ама ти направо ме уби. Евала. Толкова никога няма да имам нерви да изпиша.
_________________ "Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.
|
| Вто Ное 14, 2006 12:21 pm |
|
 |
|
ДедоБоре
Ранг: Форумен бог
Регистриран на: Нед Ное 21, 2004 11:31 pm Мнения: 10088
|
млад си още, цецо, мислиш си че помниш всичко  а и сигурно работиш сам
коментарите много помагат на писача. понякога даже му помагат да си разбере програмата и да си обясни защо нещо работи
като минимум според мен трябва да са описани ясно :
- какво прави дадена функция
- входни параметри
- какво връща
- всички променливи, дифайни, структури, класове, училища и т.н.
на всички препоръчвам да погледнат doxygen
малко е тежък за разбиране, но е трепач
|
| Вто Ное 14, 2006 1:13 pm |
|
 |
|
FiTTiLA
Ранг: Професионалист
Регистриран на: Сря Май 11, 2005 3:47 pm Мнения: 534
|
ДедоБоре, преди малко я пробвах, мнооого прилично изглежда, т.е. чудеса, който генерира. Да си кажа, честно не съм ползвал до сега такива програми, но ще трябва да си пусна един CVS, че нещата отиват на зле  .
|
| Вто Ное 14, 2006 2:30 pm |
|
 |
|
ДедоБоре
Ранг: Форумен бог
Регистриран на: Нед Ное 21, 2004 11:31 pm Мнения: 10088
|
на тебе ти трябва съвсем малко да си модифицираш коментарите, за да поченш да ползваш пълните възможности на doxygen-a
ние ползваме CVS от години. иначе не става.
сега се каним да мигрираме към SVN, щото има още функции като таймлиния, бъг трекинг, тикети и т.н.
ама сме на етапа "търсене на време да се прочете ръководството"
чакам някой от колегите да се прежали, ама май трябва да викам неволята (пак)
та ако ще инвестираш време, по-добре захапи направо него
|
| Вто Ное 14, 2006 2:41 pm |
|
 |
|
Цецо
Ранг: Форумен бог
Регистриран на: Пон Сеп 27, 2004 9:22 am Мнения: 15501 Местоположение: София
|
Бе за млад незнам, ама че си забравям и името на моменти знам
За слагане на коментари слагам, ама се ограничавам до минимума дето си го написал. Че иначе почвам да забравям кода, докато пиша коментарите  .
Но на фитила ме уби, особено пояснителния хедър на функцията - все едно е изкаран от книга. Толкова нямам нерви да напиша, честно. Аз се ограничавам до нещо от сорта:
/*********************************************************************************
Fuction : int func(int a);
Input:
Output:
Description: 2 реда лимит
*********************************************************************************/
Не ме разбирайте погрешно - хубаво е човек да пише. Даже много да пише. Ама аз едвам избутах матурата, признавам си без бой.
_________________ "Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.
|
| Вто Ное 14, 2006 4:03 pm |
|
 |
|
FiTTiLA
Ранг: Професионалист
Регистриран на: Сря Май 11, 2005 3:47 pm Мнения: 534
|
За съжаление и аз пиша сега така:
, щото няма време да му се невиди.
|
| Вто Ное 14, 2006 4:11 pm |
|
 |
|
vlado
Ранг: Популярен
Регистриран на: Чет Ное 10, 2005 9:26 pm Мнения: 393 Местоположение: Buffalo, NY, USA
|
Хайде да ви дам единия от мойте хедъри и аз  :
А коментарите наистина помагат  . Аз понякога съм се дзверил в код, който съм написал две години преди това, и ако няма коментари в него, трябва бая време да мине преди да се усетя защо съм направил нещата по начина, по който съм ги направил. Особено ако съм измъдрил някакви трикове...
|
| Вто Ное 14, 2006 10:43 pm |
|
 |
|
vlado
Ранг: Популярен
Регистриран на: Чет Ное 10, 2005 9:26 pm Мнения: 393 Местоположение: Buffalo, NY, USA
|
 |  |  |  | ДедоБоре написа: на тебе ти трябва съвсем малко да си модифицираш коментарите, за да поченш да ползваш пълните възможности на doxygen-a ние ползваме CVS от години. иначе не става. сега се каним да мигрираме към SVN, щото има още функции като таймлиния, бъг трекинг, тикети и т.н. ама сме на етапа "търсене на време да се прочете ръководството" чакам някой от колегите да се прежали, ама май трябва да викам неволята (пак) та ако ще инвестираш време, по-добре захапи направо него |  |  |  |  |
Ние ползваме Rational ClearCase за сорс контрол и Rational ClearQuest за bug tracking и прочее дейности, свързани с code management. Добри програми са, ама много тежки, че имат хиляди възможности, а и предполагам, че са доста скъпи (ама не ми е работа да знам  ).
|
| Вто Ное 14, 2006 10:49 pm |
|
 |
|
Реконструктор
Ранг: Форумен бог
Регистриран на: Съб Сеп 25, 2004 12:32 pm Мнения: 8382 Местоположение: София
|
Лоша работа, купих една чиста MMC карта и се опитах да я подкарам днеска, но се чете същото нещо.  Ей, мразя да подкарвам неща.
|
| Нед Яну 07, 2007 2:25 pm |
|
 |
|
Nikola Kirov
Ранг: Форумен бог
Регистриран на: Нед Окт 31, 2004 9:19 pm Мнения: 4464 Местоположение: Stara Zagora
|
Нали ти дадох съвсем работещ сорс,драйвера заедно с фаиловата система,заедно с целия проект. Виж как е и си го портни за твоя процесор. Ако имаш питания по сорса ще помагам може и на Qto може и с PM
|
| Нед Яну 07, 2007 2:55 pm |
|
 |
|
Flatmo
Ранг: Минаващ
Регистриран на: Нед Мар 04, 2007 12:00 am Мнения: 8 Местоположение: Варна
|
Момчета, от няколко дена се опитвам да прочета нещо от SD карта.
Ползвам сорса от предната страница. С една единствена разлика, че вместо един масив буфер от 512елемента използвам 2 х 256.
Главния ми проблем, е че на изхода на SD картата няма никой... жива нула.
Правих си експирименти да въртя в цикъл пращане на команда 0 барабар с аргумента и CRC-то, след което да чета още 8 пъти SPI евентуално да изчакам някакъв отговор от картата но уви изхода винаги е нула.
Гледах на осцилоскоп какво точно пращам и всичко изглежда нормално. Но на изхода никой.
Правя си експириментите с 2 различни карти едната е Кингстън 512МВ а другата е Apacer 1GB MicroSD + преходник към SD.
Процесора ми е PIC18LF4525 и захранващото на прежение на цялата система е ~3,2V.
Правих си експирименти и с поредицата за инициализиране
CMD0 -> {CMD1}в цикъл -> 9,10...
втория вариант беше 0 -> 55 -> {41}в цикъл -> 9,10
и третия вариант беше 0->0->{41}в цикъл->9,10
в момента е 0->41
Функциите които ползвам работа с SPI са:
На осцилоскопа проверих, че такта наистина е 390KHz. (честотата на осцилатора е 25MHz) Функцията за инициализация в момента изглежда така:  |  |  |  | Код: void SD_FLASH_Init (void) { UINT card_status; // Stores card status returned from SD function calls(SD_Command_Exec); unsigned char counter = 0; // SPI byte counter; //idata unsigned int size; // Stores size variable from card; BYTE *pchar; // register values; temporary register values from SD; pchar = BufferINOUT_LOW; // STATE 1 OF INIT: Transmit at least 74 SPI clocks before any bus comm occurs. for(counter = 0; counter < 10; counter++) SPI( 0xFF); // STATE 2 OF INIT // Send the GO_IDLE_STATE command with CS driven low; This causes the SD // to enter SPI mode; SD_Command_Exec( GO_IDLE_STATE,EMPTY,EMPTY,EMPTY);
// STATE 4 OF INIT: until the SD indicates that it is no longer busy (ready for commands); do{ card_status.b[0] = SD_Command_Exec( SD_APP_OP_COND,EMPTY,EMPTY,EMPTY); }while (card_status.b[0] & 0x01); // STATE 5 OF INIT // Operation Conditions (VDU Voltage Profile and Busy Status Information)Register (OCR); SD_Command_Exec( READ_OCR, EMPTY,pchar, EMPTY); pchar += 4;
// STATE 6 OF INIT: Card Identification information Register (CID); SD_Command_Exec( SEND_CID, EMPTY, pchar,EMPTY); pchar += 16;
// STATE 7 OF INIT: Card specific information Register (CSD); SD_Command_Exec( SEND_CSD, EMPTY, pchar,EMPTY); } |  |  |  |  |
В атачнатата картинка е схемата на свързване.
А пък в атачнатя PDF на 21 и 22 страница са описани процедурите за инициализация.
Дайте някакви идеи какво да правя... това нещо ще става дипломна работа а от 3 дена не мога да го подкарам. 
|
| Съб Авг 25, 2007 6:16 pm |
|
 |
|
Flatmo
Ранг: Минаващ
Регистриран на: Нед Мар 04, 2007 12:00 am Мнения: 8 Местоположение: Варна
|
Гледам и не вярвам... както и да е след като изпълних препоръките на juzisound от тази тема инициализацията минава. Без дърпащите резистори не става работата
Команда 41 също не върши работа, трябва да се инициализира с команда 1.
|
| Съб Авг 25, 2007 9:50 pm |
|
|
Кой е на линия |
Потребители разглеждащи този форум: 0 регистрирани и 1 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|