DVyacheslavN

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

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

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

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


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

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

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

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


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

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

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


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

Не все так просто. Под 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    561

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

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


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

Наверно ? :blink:

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

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

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


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

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

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


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

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

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

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


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

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

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

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


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

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


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

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

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


Ссылка на сообщение
Поделиться на других сайтах
Alex    561
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    561
Тогда почему бы не заменить эти строки АСМ-вставкой ?
#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    561
a << b Да Да R T::operator <<(S B); R operator <<(T a, S B);

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

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

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


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

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

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

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


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

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

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

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

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


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

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

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

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


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

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

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

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

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


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

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

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

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

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

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

Войти

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

Войти сейчас


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

    • Автор: Михаил Савин
      Добрый день. Подскажите есть устройство на плате для регулирования дроссельной заслонки от Калины. Довольно специфическое, индивидуальная разработка, аналогов не купить. Основывается на микроконтроллере ATXMEGA128A3U AU 1651. Возможно ли скопировать залитый в него код что бы изготовить данное устройство ? Или это невозможно в принципе ?
    • Автор: ficus216
      Здравствуйте всем. Такая проблема. Дорожка работала, при беге в максим. 10км/ч резко прибавила скорость до 12 наверное ( хотя только до 10 максимум она разгоняется)
      попытался убавить скорость но ничего не срабатывало, можно только переключать между табло "каллории" "скорость" "расстояние""время" ничего убавить нельзя. Дальше вытаскиваю магнит (обычно дорожка автоматически выключается после этого) в этом случае нет, она дальше работала на полной скорости.
      Снизу находится общий включатель, раньше если его вкл то пока старт не нажмешь ничего не будет. а сейчас нажимаю этот вкл снизу и сразу на 12шке херачит.
      Тестором все прозвонил, сгорел микропроцессор я так понимаю. В магзиине мне сказали. что только если на али заказать. Название сгоревшего sonyx sn8p2624kb на али нет в точности с таким названием. прилагаю ссылку
      можно ли заказать этот или любой другой с другим названием ? что делать дальше ? не нужно потом это все прошивать ? и как ?https://clck.ru/DQhDh



    • Автор: Сибирский кот
      Здравствуйте! Мой знакомый отдал мне по ненадобности пульты для заправочной станции модели "Сапсан". В одном пульте стоял микроконтроллер ATMEL AT89S51-24PU и в другом-AT89C51-24PU. Искал схемы в интернете,но ничего не нашел,кроме даташиты. Не знаю,что делать с этими микроконтроллерами-пустить в дело или в утиль. Сможете подсказать?
    • Автор: Sattva
      Тема: Реверс-инжиниринг: необходимо декодировать протокол связи контроллера пром. насоса и дисплея
      Общая цель: сделать управление кондиционером, вести мониторинг его работы.
      Время на работу: около 12 часов (2 дня).
      Задание для исполнителя:
      1. Выполнить обратное декодирование протокола связи контроллера промышленного
      кондиционера и его дисплея с сенсорными кнопками.
      2. Запаять ATMega 328P или ATMega 2560. Вероятно, придется резать дорожки,
      допаять резисторы в разрыв.
      3. Совместно с заказчиком написать короткий код ввода/вывода данных для Arduino (C++).
      Могут понадобиться функции передачи данных на второй контроллер ATMega 2560 по UART.
      4. Совместно с заказчиком составить простое описание.
      5. Работа дисплея, состояние контроллера кондиционера и мониторинг на Arduino
      должны быть синхронны.
      Программировать микроконтроллер и отправлять данные на вебсервер по
      Ethernet (W5500) умею. Паять умею. Работать с микроконтроллером на уровне
      регистров процессора не умею, потому и ставлю задание.

      Протокол: неизвестен
      Шина: неизвестна
      Чип дисплея: Holtek HT1621B
      Контроллер "пульта управления": Holtek BS84B08A-3
      Фото прилагается.
      Вероятно, применяется шина SPI или I2C, что должно облегчить задачу.

      Имеется пример подобного дисплея 2009 года с выполненной
      работой. У предыдущего исполнителя ушло около 2 часов на разбор
      команд и еще столько же на написание кода, *когда поняли, как
      разбирать команды*.

      Фото с реализацией задания прилагается, но на дисплее другого типа.



      Метод выполненной работы в прошлый раз:
      1. Для получения данных с Holtek-HT46F49E по 8-ми битной шине данных использован Arduino Pro Mini 328P.
      2. Подключение: 5 дорожек перерезано и допаяно 5 резисторов по 1 кОм. Так же использовано еще 3 линии (reset и данные).
      3. Для удаленного управления использована Arduino Mega 2560 + Ethernet Shield W5100.
      4. Общение между 328P и 2560 идет по UART.
       
      Наилучший вариант, если кто-то откликнется из Киева, чтобы можно было вместе
      встретиться и поработать. Но если в Киеве никого нет, то куплю недорогой логический
      анализатор уровней и будем общаться удаленно. Готов к любому варианту.
    • Автор: Oleg Borisov
      Добрый день. Для исследование мне необходимо разработать и собрать прибор который анализирует температуру и влажности среды.
       
      Прибор состоит из следующих блоков:
      1. Выносной датчик температуры
      2. Выносной датчик влажности
      3. Передатчик Bluetooth
      4. Батарея с возможностью подзарядки
      5. Корпус
      6. Мобильное программное обеспечение (Андройд)

      Устройство небольшого размера закрепляется на объекте и передает показания датчиков по средствам Bluetooth на мобильное устройство с предустановленным программным обеспечением.
      В приложении примерная визуализация прибора.
      Оплата договорная!

  • Сообщения

    • Каким будет напряжения на переменном резисторе с номинальным сопротивлением 47 Ом в цепи с индуктивной нагрузкой с внутренним сопротивлением 200 Ом при 220 В переменки. Надо просчитать какая упадёт нагрузка на резистор.  
    • У любого резистора будет индуктивность. У "обычного" 10 ком CF 0.5вт - 90мГн! У 0.15 Ом 5вт SQP будет всего около 0.01 мГн.
    • В радиолампе такое не может быть . В таком случае мощность анодного источника может быть чисто условной но анодный источник куда мощнее подогрева .
      Условно ,стандартно:
      - лампа накал 6,3вольта , ток накала 0,5А
      -анодный источник 250вольт ток анода около 0,1А
      Т.е. накал никак не может быть источником энергии Не , ну высокие материи не по мне.
       Магнитное поле пересекает катушку возбуждая в ней ЭДС (ЭТО особенность магнитного поля ). Если есть нагрузка , то ЭДС представляет собой цепь энергии из соединённых электронов (это моя версия).
      Каким образом происходит подпитка электрона - я не разбирался , да и некчему это . Достаточно того , что прибор фиксирует ЭДС при перемещении магнита рядом с катушкой.
    • Не "Далее", а сперва всю цепочку явлений-преобразований от вращения магнита до электрона в состоянии "возбужден" и пока это не сделоано (в т.ч. не обсуждено с ответами на все вопросы) никаких "далее", все "далее" будут (если будут) уже потом.
    • Оба стремные, но правый получше выглядит Левый шлифовался немного.
    • - Алло баня? Девушка, веники есть7 -Ешьте. - Я вам не козёл. - И я вам не девушка. - Что за бред? Парная люксовая у вас? Можно попариться? - Парной нет, парная есть. Попарить можно, а париться сами не будете - у нас люкс. - Ничего не пойму.  Что пара нет? - Пара нет а пары есть, хоть тринтет, или секстет. Любой каприз. - Вы издеваетесь? - Я нет. Но садо –мазо также есть. - Я что, попал в бордель? - Бордель у вас в мозгах, а у нас салон интимных услуг. - Но у меня жена, я ей верен. Трахайтесь там у себя без меня. Адью. - И вы жрите свои веники. Адью. - Я же сказал, что не козёл. - И я сказала, что не девушка. - Нашла чем гордиться. - Нашёл чем питаться. - Я сейчас приеду голову оторву. - О вы так пикантны . Оторваться головой – это так эротично. - Слушай сюда! Ты меня достала!  Я сейчас приеду и включу вам мозги. Забью тебе кое-что кое-куда и навсегда верну тебе великое звание «девушка». - Это ты слушай сюда. Милый, если я тебя достану, ты  забьёшь на кое-кого, включая жену,  на кое-что, включая баню, разберёшься со своими рогами и навсегда лишишься этого великого  звания «Козёл».
    • Далее - происходит возбуждение электронов в (скажем электроплитке или лампочке накаливания ...)Возбуждение - в смысле допустимая область эволюции (была точка (невозбуждённый)- стал (шар). Т.к. область кручения Э. возрасла то он начинает сталкиваться с кристаллической решёткой материала , что приводит к нагреву  к ,свечению или расплаву ,или получению плазьмы ....
      Еслиже энергия поступает в катушку(трансформатор) то на неё распространяется закон магнитного поля прямого проводника /правило левой руки Ленц-Лоренц правило правой руки/
      Правила работают ! Сам убеждался неоднократно ...но они не указывают , что ЭТО ? Ток или ЭНЕРГИЯ . Если с этим согласны то дальше для меня - пасс . Что такое энергия в данной интерпретации - я не знаю . Конечно она измеряется соответствующими приборами , но сама суть в том , что ТОК и ЭНЕРГИЯ отличаются друг от друга хоть и работают ,казалось бы , в одинаковых цепях . К примеру магнетрон - по теории электроны летят с Катода К Аноду ,но не падают на него ,а возвращаются назад на Катод .
      Это,ж сколько надо было принять на грудь чтобы отправить отрицательный электрон вблизи Анода(притяжение) назад к Катоду имеющему тотже потенциал (отталкивание).
      Электрон имеет свойство ПЕРЕЗАРЯЖАТЬСЯ ?  ;-) На деле же(по моей версии) ,- по организованной цепочке электронов поступает энергия из источника . Именно эта энергия и является источником СВЧ колебаний в резонаторах... Спрашивается - а кому нуно эти тонкости? В принципе - никому , а вот мне разобраться - бальзам на душу! ;-)