• Объявления

    • admin

      Просьба всем принять участие!   24.11.2017

      На форуме разыгрывается спектроанализатор Arinst SSA-TG LC (цена 18500 руб). Просьба всем перейти по ссылке ниже и принять участие!
DVyacheslavN

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

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

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

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

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

Полноценная работа и с Petit FatFs и тем более FatFS на пЫк 18 и тем более на пЫк16, весьма накладна если просто не возможна.

Изучите требуемые ресурсы

Memory Usage для FatFs http://elm-chan.org/fsw/ff/en/appnote.html и Petit Fs http://elm-chan.org/fsw/ff/pf/appnote.html

При работе с SD карточкой надо учитывать:

-что все линии кроме CLK должны иметь пуллапы 40-50К .

-что карточка сама по себе жрет не хило.

-если питание контроллера выше 3v, использование делителей только ухудшит ситуацию - лучше транслятор уровней.

- инициализировать карту на скорость SPI не более 400KHz .

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


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

У меня PIC18F4525, запитанный от 5В через делители работает без проблем как с SD-карточкой на 32Мб, так и с microSD 128Мб, 4Гб и 16Гб

Использую чуть подправленный код Petit FatFs, работаю с секторами.

PIC18F4525 + LD1117+карточка + DS1307 + WH1602 + MAX485 + 8шт DS18B20 + 2шт DHT11 + 3 светодиода + резисторы... - все это без сбоев работает от USB-программатора (PicKit-2), подключенного к ноуту. При этом постоянно все опрашивается, читается/пишется на карточку... или у меня программатор по питанию мощный? или USB-порт умощненный??? Ноут китайцы собирали...

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


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

Давно заработало ? Лог.анализатор помог? :crazy:

Vovka, о питание и имелось ввиду отдельный стаб на карточку .

Использую чуть подправленный код Petit FatFs, работаю с секторами.

Т.е. саму либу не используешь , только инит и чтение/запись секторов...

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

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


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

Анализатор приехал позже, когда все заработало! Ничего, еще не раз сгодиться...

В голове крутиться идея контроля зажигания автомобиля при помощи анализатора: цепляемся на датчики, коммутатор, свечи и смотрим где идут пропуски зажигания...

Все запитано от программатора.

Да, работа только с секторами - в моем случае достаточно

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


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

думаю что надо переходить на STM 32 . )) надоело постоянно ваять код самому . может там проще . :umnik2:

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


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

надоело постоянно ваять код самому

Тогда забудь о программировании, это не твое!

Либо покупай готовое, либо заказывай у тех, кому не надоело...

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


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

есть же куча библиотек а на пик на не начнешь искать нечего нет вот напримет на дисплей 5110 . для АВР есть. без проблем.

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


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

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

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

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

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

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

Войти

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

Войти сейчас


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

    • Автор: karomag
      Помогите, разобраться. Пытаюсь считать данные с модуля на max6675. 
      #include "stm32f10x.h" #include "stm32f10x_gpio.h" #include "stm32f10x_rcc.h" #include "stm32f10x_spi.h" float temp; u16 MSBLSB; volatile uint32_t ticks_delay = 0; void SysTick_Handler(void) { ticks_delay++; } void delay(uint32_t milliseconds) { uint32_t start = ticks_delay; while((ticks_delay - start) < milliseconds); } int main(void) { GPIO_InitTypeDef GPIO_InitStructure; SPI_InitTypeDef SPI_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_SPI1 | RCC_APB2Periph_AFIO, ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_4; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz; GPIO_Init(GPIOA, &GPIO_InitStructure); SPI_StructInit(&SPI_InitStructure); SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_RxOnly; SPI_InitStructure.SPI_Mode = SPI_Mode_Master; SPI_InitStructure.SPI_DataSize = SPI_DataSize_16b; SPI_InitStructure.SPI_CPOL = SPI_CPOL_Low; SPI_InitStructure.SPI_CPHA = SPI_CPHA_2Edge; SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB; SPI_InitStructure.SPI_NSS = SPI_NSS_Soft; SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_128; SPI_Init(SPI1, &SPI_InitStructure); SPI_Cmd(SPI1, ENABLE); SPI_I2S_ITConfig(SPI1, SPI_I2S_IT_RXNE, ENABLE); NVIC_EnableIRQ(SPI1_IRQn); SysTick_Config(SystemCoreClock/1000); while(1) { temp = (MSBLSB >> 3); temp = temp * 0.25; } } void SPI1_IRQHandler (){ if (SPI_I2S_GetFlagStatus(SPI1,SPI_I2S_FLAG_RXNE)==SET) { GPIOA->BSRR = GPIO_BSRR_BR4; MSBLSB = SPI_I2S_ReceiveData(SPI1); delay(2000); GPIOA->BSRR = GPIO_BSRR_BS4; } } Ничего хорошего пока не получилось. Код собирал по кусочкам со всего интернета(.
      1. Правильно ли я настроил SPI?
      2. Как преобразовать полученные данные из регистра DR в температуру? С битовыми операциями, пока  туго...
      3. Может кто нибудь даст пример?
      Прошу сильно не пинать.
    • Автор: east1095
      Здравствуйте, давно читаю форум, зарегистрировался только сегодня, хочу попросить советов у вас для очередной работы.
       
      1. Мощность 30 кВт, напряжение 2 кВт, 15 А ток.
      2. Планирую полумост;
      вопросы:
      1. Шим контроллер должен поддерживать регулировку к.заполнения, с заданным dU/dT, это планирую делать с МК, потому что в случае пробоя быстроействуюий ключ даст сигнал об остановке преобразователя, потом будет строб, потом пуск источника, при этом он должен выйти на напряжение на котором произошла остановка работы с более коротким (быстрее) dU/dT, это можно реализовать с МК, завести сигнал с датчика КЗ.
      При этом нужна регулировка напряжение и регулировка уставки максимального тока(в приципе в схеме защиты от КЗ она уже реализована)
       
      2. Полумоста хватит на такую мощность?
      3. Можно ли с помощью софта рассчитать трансформатор на такие характеристики? Lite_calcIT не осилил такую задачу.
      4. 1 трансформатор или набор модулей соединенных последовательно для обеспечения нужного напряжения?
      5. Ткните носом в краткую но понятную ветку/статью о резонансных и квазирезонансных и других типах схем, т.к. я недостаточно в этом подкован, немного другие интересы, однако.
       
      Заранее спасибо!
    • Автор: sergeistydent
      Всем привет , ребята подскажите такую ситуацию надо откомпилить прошивку в среде BASCOM-AVR а она весит 6 килобайт демо версия не пропускает, ну как бы там только одно значение надо изменить а в готовом хексе не могу найти, точнее я его вижу их там два значения я не знаю кого изменить ну это я так думаю что знаю, значение находитса в еепроме это цифра 70 она же в 16ричной 46 но в моем хексе две цифры 46 чтобы было проще понять я строю регулятор вентилятора пропорциональный он на меандре (сайте) там значение для старта нужно подобрать опытным путем от 55 до 95 вот его то нужно изменить в готовом хексе оно 70 как подскажете решить вопрос без баскома или без него некак
    • Автор: timoxa87
      Здравствуйте! Я занимаюсь организацией страйкбольных игр! 
      Идея: Сделать устройство работающее на радио частотах передающее информацию по рациям(цифровым, аналоговым)

      Задача: Нужно изготовить устройство №1 оборудованное двумя кнопками А и Б работающее на радио частотах от аккумуляторной батареи . При нажатии на кнопку А или Б всем по рации передается информация, что нажата кнопка А или Б! Нужно изготовить устройство №2 оборудованное двумя лампочками(индикаторами)  которое дублирует судьям соревнованию, что на устройстве №1 нажата кнопка А или Б

      Требования
      1. Устройство №1 должно передавать в радиусе 200 метров на устройство №2 цифровой сигнал , чтобы исключить наводки или помехи!
      2. Устройство №1 должно дублировать сигнал для аналоговых раций в виде звукового сообщения "Кнопка А включена" или "Кнопка Б включена" 



      Цена договорная!
    • Автор: timoxa87
      Здравствуйте! Помогите для игры в страйкбол/пейнбол доработать устройство. Мы изготовили устройство(в коробочке) оборудованное двумя кнопками 1 и 2 с цифровым таблом, при нажатии на кнопку 1 для нее включается свой секундомер,при нажатии на кнопку 2  секундомер для кнопки 1 останавливается и включается секундомер для кнопки 2. Секундомеры для обоих кнопок накопительные. Когда секундомер доходит до 25 мин срабатывает громкий сигнал!
      Как сделать так чтобы информация о переключении кнопок и секундомере дублировалась по радио сигналу на устройство оборудованное двумя лампочками и  цифровым таблом, дистанция 200 метров ,сигнал должен быть мощный так как встречаются постройки из кирпича и бетона. Если есть мастер который может сделать такое устройство, отзовитесь!!!