DVyacheslavN

Работа С Картой Памяти В Режиме Spi (Использование Petit Fatfs)

60 сообщений в этой теме

я знаю что есть уже скачал . тупо копировать все могут . а обяснить нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Быстрый заказ печатных плат

Полный цикл производства PCB по низким ценам!

  • x
    мм
Заказать Получить купон на $5.00
Alex    548

Что объяснить, а главное - зачем ?

Человек любезно предоставил отличную библиотеку - бери и пользуйся. Зачем изобретать велосипед ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

ну так вот скачал ты библиотеку от чана (не пример а именно библиотеку) и тебе надо дописывать diskio.c ты береш и копируешь уже готовый вставляешь тутда свои регистры. и погнали. ну тогда можно еще проще береш готовую программу заливаеь и погнали. а можно еще еще проще идешь в магазин и покупаешь что надо или заказываешь в инете.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
fuckir    3

Не все так просто. Под 24HJ ее допиливал сам, но она ничем не лучше библиотеки Джасио, но читабельнее микрочиповской. Раз не нужно, кувыркайтесь сами

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

ну у чана же есть пример под 24f а раличее от 24h только в производительности (16 против 40 MIPS).

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вот нашол ссылку на интересный источник http://fotogrf.ucoz.ru/publ/programma_dlja_pic_mikrokontrollera_i_karty_pamjati_mmc_s_fat16/1-1-0-45 конечно fatfs тут и не пахнет но даны понятия как работать с файлами без библиотеки . все достаточно хорошо расписано .

только вот у меня асемблеровская вставка не запускается.

AL = rl(AL); // Умножение на 2 с переносом
AH = rl(AH);
#asm // 17 шаг
MOVF Dat+1,W
ADDWF AL+1,1
MOVF Dat,W
ADDWF AL,1
BTFSS 0x03,Carry
GOTO keinCarry
BCF 0x03,Carry
INCF AL+1,1
BTFSC 0x03,Carry
INCF AH,1
keinCarry:
#endasm

и первые две строчки не компилируются не муогу разобратся как сделать умножение с переносом

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Alex    548

Что за умножение с переносом ? Что-то новенькое... :huh:

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Alex    548

Наверно ? :blink:

Мне кажется, это Вы задали вопрос. Или сами не понимаете о чём спросили ?

Как же тогда мы должны на него ответить ? :crazy:

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

да вопрос я задал но это не мой код и в этой части кода я не смог разобраться . и поэтому и спрашиваю .

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Alex    548

Вы спросили - "Как сделать умножение с переносом". Отсюда и возник вопрос - что это такое и зачем Вам это нужно. Если Вы пытаетесь разобраться с умножением, и у Вас это не получается сделать, однозначно - Вам это для чего то нужно.

Или Вы просто вставляете чужие куски кода себе в программу, не понимая для чего эти куски нужны ? :) Тогда логика Ваших мыслей совершенно непонятна...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

ведь сдивиг влево или вправо есть умножение и деление на 2. только вот я и сам не понял что за перенос такой , может ктонить знает что за команад rl();

ну на счет чужих кусков вы погарячились . разве не вы мне писали что нет надобности разбираться в библиотеки FATFS а просто пользоватся хотя сам автор библиотеки задумал что всеже приходится понимать что и как работает а не просто копировать файл diskio.c и менять там регистры.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Alex    548
может ктонить знает что за команад rl();
Такой команды в языке Си нет. Это какая то таинственная функция.
разве не вы мне писали что нет надобности разбираться в библиотеки FATFS а просто пользоватся
Я. Но я имел в виду использовать всю библиотеку, а не выдирать чужие непонятные куски кода.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

ну автор статьи утаил от читателей эту функцию . только вот оставил подсказку "// Умножение на 2 с переносом" в которой я не смог разглядеть смысл из за малого опыта в программировании.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Alex    548
AL = rl(AL); // Умножение на 2 с переносом
AH = rl(AH);

Возможно, тут имелось в виду сдвиг влево через перенос. Тогда почему бы не заменить эти строки АСМ-вставкой ?
#asm
RLF   AL, 1
RLF   AH, 1
#endasm

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
может ктонить знает что за команад rl();
Такой команды в языке Си нет. Это какая то таинственная функция.
разве не вы мне писали что нет надобности разбираться в библиотеки FATFS а просто пользоватся
Я. Но я имел в виду использовать всю библиотеку, а не выдирать чужие непонятные куски кода.

куски из файла примера diskio.c а я по вашему с чем пытался разобраться с файлом diskio.c который необходимо самопу дописывать. я выложил свой кусок и оттуда и хотел услышыть ответы на пару вопросов а вы написали что незачем туда лезть.

AL = rl(AL); // Умножение на 2 с переносом
AH = rl(AH);

Возможно, тут имелось в виду сдвиг влево через перенос. Тогда почему бы не заменить эти строки АСМ-вставкой ?
#asm
RLF AL, 1
RLF AH, 1
#endasm

спасибо попробую

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Alex    548
Тогда почему бы не заменить эти строки АСМ-вставкой ?
#asm
RLF AL, 1
RLF AH, 1
#endasm

Ну или чистый Си :

*((unsigned int *)&AL) *=2;

пытался разобраться с файлом diskio.c
На сколько я помню, когда прикручивал библиотеку Чена, я правил только драйвер работы с SPI. Т.е. инициализация модуля, отправка и приём байта. А вся работа с картой была уже там готовая.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

а вот нашол чтото это не тоже самое ??? Побитовый левый сдвиг[note 2] a << b Да Да R T::operator <<(S B); R operator <<(T a, S B);

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Alex    548
a << b Да Да R T::operator <<(S B); R operator <<(T a, S B);

Это что такое ? :D

Если Вы имеете в виду оператор сдвига "<<", то это тоже самое, только не учитывается бит переноса. Умножить побайтово двухбайтовую переменную так не получится.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Oxford    9

Пиши в личку ко мне по работе Micro SD в режиме SPI и работе с FAT. растолкую че надо.

Изменено пользователем Oxford

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
mummy117    15

Доброго времени суток. Как Ваши дела с освоением FatFs?

На чем закончилась Ваши изыскания? Сам уже 2 недели бъюсь над этой задачей.

"может ктонить знает что за команад rl();" это компилятор CC5x.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

да fatFs не освоил. пока мучаю дисплеи ЖКИ.

думаю после дисплеев заняться .

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
mummy117    15

Я тоже мучаю Fatfs. Так что тема актуальна.

А что у Вас с дислплеями ЖКИ?

Изменено пользователем mummy117

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Похожие публикации

    • Автор: admin
      Сайт Паяльник открывает обучающий видеокурс по AVR-микроконтроллерам.
      В этой теме "обратной связи" будем постепенно добавлять новые видеоролики с нашего канала. Здесь можно задавать вопросы, давать рекомендации, критиковать, оставлять отзывы и пожелания, а также запросы на тему будущих видеоуроков.
      Ведет видеокурс наш форумчанин kobzar.
      Профиль пользователя на сайте cxem.net. Там же финансовые реквизиты для тех, кто пожелает финансово отблагодарить автора данного видеокурса
      Подписка на YouTube канал
      Краткий обзор сред разработки для различных микроконтроллеров на сайте: http://cxem.net/software/soft_mcu.php
      Внимание начинающим! Перед тем, как задавать вопросы не по теме видеоуроков, прочитать:
      Статьи по МК для начинающих
      Книга по программированию микроконтроллеров AVR
      Также, здесь же на форуме рядом с этой темой смотрите прикрепленные темы: для начинающих, по языку Си и т.д. Все вопросы не по видеокурсу задавайте только там. С этой темы подобные вопросы удаляются
      Кракозябры вместо русских букв
      Ребята - спешу сообщить что найден метод борьбы с кракозябрами вместо русских символов, при работе с ЖК. Дело в том, что у некоторых из вас, проект создается в кодировке UTF-8, а наша библиотека работает только с ср1251
      Фикс:
      1.Открываем проект
      2. File - Advanced Save Options
      3. Вместо кодировки UTF-8 выбираем Cyrillic(Windows) - cp1251
      Сохраняем, сохраняем проект - компилируем!
      Добавлено 12.01.16 :
      Изменённые версии библиотеки lcd_5110 :
      От COKPOWEHEU - Ссылка на пост , Ссылка на github
       
    • Автор: Dmitry Suhoruk
      Доброй ночи, мне бы не помешала помощь опытных людей. Дело в том что на днях у меня на сабе Genius GHT-s200 пошло замыкание по плате. выключил снял крышку сделал пару фото погуглил, оказалось сгорели ножки на tda7265. но дело в том что на задней стороне платы по ходу перегорела еще и дорожка.. есть опытные люди в этой сфере которые подскажут что куда пхать или на какую плату лучше заменить. ? 



    • Автор: paulb
      Есть задумка собрать вольтметр постоянного напряжения (до 1000В) на ГРИ, использовав за основу популярную схему часов. Либо на базе микросхемы ICL7107, если это возможно. Знающих прошу помочь.
    • Автор: butterfly193
      Привествую уважаемых спецов. Прошу совета по подбору МК для бортового компьютера, так как еще пока не заю всех тонкостей этого дела.Вопрос скорее организационный, схему скомпоную и прогрмму напишу сам.
      Собственно исходные данные
      Вывод информации на графический 12864 или символьный 2004
      Функции: 
      тахометр по сигналу с прерывателя         (вывод на дисплей) 1 пин 
      спидометр по сигналу прерывания от оптопары     (вывод на дисплей) 1 пин 
      время и дата с DS1307 (2 пина данные и 2 кнопки)(вывод на дисплей) 4 пина
      ФУОЗ на 2 канала с выходом на катушку(2вх и 2 вых)(вывод через ключи) 4 пина
      Напряжение бортовой сети (вход на АЦП 1 пин)     (вывод на дисплей) 1 пин
      ТЕмпература двигателя от датчика вывод на дисплей
      В наличии есть PIC16F877, ATmel AT 49F020,89C51,89c8253, ATmega8(наверное не хватит пинов)
      Какой МК нужно взять чтоб он с шустрым кварцем это все быстро обрабатывал?
      прикладываю примерную схему для понимания картины, резисторы, транзисторы и т.д взято без подбора, для часов просто отделено 4 пина.
      за ошибки просьба сильно не пинать, но если по делу то можно 
      Спасибо)

    • Автор: paulb
      Прошу помочь изменить прошивку из проекта http://cxem.net/mc/mc187.php
      Часы будут содержать 4 индикатора
      1) управление функционалом без изменений (время, дата, температура). 
      2) убраны индикаторы отвечающие за секунды, т.е. нужно вырезать функции 
      отображения секунд и года.
      3) отображение температуры без десятых градуса (индикатор №3 и №4).
      Схема:


  • Сообщения

    • noo_bas слабенький у вас магазин.плохо что нет возможности попробивать лучшие.  что поделаешь. просто из опита вам скажу что есть очень большая разница в звуке на чем собрано- когда та самая плата собрана на тл071 и таких кондесаторах (когда все вместе стоит2$) и играет она соответственно на два  долара а когда хорошие детали также и на виходе .
    • короч начитался я позавчера эту тему и решил исправить ситуацию в лаборатории. Сотворить агрегат для цивильной засветки фоторезиста. Нарыл в закромах реле времени ВЛ-59. Оно правда на 110 вольт и всего на 99 секунд, что явно маловато. Проблему 110 вольт легко устранить, включив последовательно пленочный конденсатор на 0,47 мкФ, а вот с секундами все сложнее. Надо разобрать релюшку и заменить конденсатор в задающей RC цепи. Понятно что он должен быть в 10 раз больше чем штатный. Ну и там чуть покалибровать это дело, благо на плате есть переменный резистор, для этого заточенный. У меня получилось 999 секунд. Это примерно 16 минут Ну и все, дело почти сделано. Берем фанерку, пару мебельных петель и собираем гробик. столик выдвижной. Удобно его вытащить, на нем весь бутерброд выставить, стеклышком прижать и уже под лампу задвинуть. Внутри я это дело маханул черной матовой краской, чтобы по максимуму убрать всю отраженку и сделать засветку более предсказуемой. Лампу поднял повыше. Ну в разумных пределах. Так лучи от нее будут падать под углом ближе к прямому и можно будет избежать искажений от угла падения и преломления. Да, время засветки будет чуть побольше. Но в сущности какая разница? Будет это 3 минуты или 5? Мне все равно, у меня ж не завод. Работает все очень просто - при подаче питания лампа включается, а реле встает на задержку. По истечении времени установленного на шкале релюшка размыкает цепь лампы и она гаснет. Можно повторно перезапустить нажав кнопочку "сброс" на передней панели. Или просто выключить и включить. Пока вы тут трындели в общем... пол дня и все готово
    • Конечно, нет! В мосте ведь не протекает (столь большой амплитуды тока) и их мощность ограничена другими компонентами.
    • Я свой такой проектировал для Ni-MH на ТЕА1104 (правая часть - разрядник):