Перейти к содержанию

crazz

Рекомендуемые сообщения

10 часов назад, Alex сказал:

если эта самая единица осуществляется за счёт внешнего сопротивления ? Не проще, для установки лог. 1, просто настроить порт на вход, а лог. 1 осуществится "сам по себе", за счёт pull-up сопротивления ?
2. Запись значения (любого) в порт не гарантирует вывод этого значения после изменения направления порта. В порт выведется то значение, которое реально было внешне на входе до изменения направления. Это касается только МК, не имеющих спец. защёлки (LATx).

1. Да, вообще-то верно, спасибо за подсказку, надо попробовать так.

2.А здесь у меня (МК PIC16f628a) получается почему-то наоборот: сначала, когда вывод настроен на вход, на линии "1" за счет подтягивающего, затем перевожу на выход, и тут появляется "0".

Изменено пользователем Aleksandr1111
Ссылка на комментарий
Поделиться на другие сайты

46 минут назад, Aleksandr1111 сказал:

сначала, когда вывод настроен на вход, на линии "1" за счет подтягивающего, затем перевожу на выход, и тут появляется "0".

Странно... Не должно быт такого...

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

Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650

Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. 

Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. 

Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств. Подробнее параметры и результаты тестов новой серии PLM по ссылке.

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

43 минуты назад, Alex сказал:

У Чена библиотека идёт с примерами. Там есть и под PIC пример.

На прошлой странице уже обсуждалось  ..

В поисках работы..

Looking for job

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

Литиевые батарейки и аккумуляторы от мирового лидера  EVE в Компэл

Компания Компэл, официальный дистрибьютор EVE Energy, бренда №1 по производству химических источников тока (ХИТ) в мире, предлагает продукцию EVE как со склада, так и под заказ. Компания EVE широко известна в странах Европы, Америки и Юго-Восточной Азии уже более 20 лет. Недавно EVE была объявлена поставщиком новых аккумуляторных элементов круглого формата для электрических моделей «нового класса» компании BMW.

Продукция EVE предназначена для самого широкого спектра применений – от бытового до промышленного. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Подскажите,как понять мультивекторность и одновекторность у пиков32?В даташите всего пять строчек и написано,но в одновекторном режиме процессор уходит всегда на один и тот же адрес при прерывании,а при мультивекторном каждый раз на разные адреса.

Вопрос вот откуда-немного работая с авр,заметил что прерывания от разных источников имеют разный адрес,получается в АВР всегда мультивекторность?А в пиках ,в режиме одновекторности,после наступления прерывания нужно еще проверить какова причина данного прерывания?

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

Подскажите, пожалуйста, по такому вопросу: для термометра на Pic12f675 и 2-х датчиках DS18B20 сначала я хочу узнать с помощью другой программы ROM-коды датчиков, а затем можно ли вручную занести их в EEPROM контроллера в окне программы Pickit2 ?

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

А разве контроллер не залочен? Обычно лочат без разбора все виды памяти.

А вообще странный какой то термометр, не позволяющий менять датчики без подобных процедур....

戦う前に相手のベルトの色に注目

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

1 час назад, my504 сказал:

разве контроллер не залочен? Обычно лочат без разбора все виды памяти.

Так я сам этот термометр конструирую, на чистом контроллере. В программе Pickit2 EEPROM вроде редактируется. Поэтому и спрашиваю, как тут можно сделать, если датчики подключены к одному выводу порта. Мне не обязательно, чтобы датчики можно было менять без перепрошивки контроллера.

Изменено пользователем Aleksandr1111
Ссылка на комментарий
Поделиться на другие сайты

Обычно, для этого делают автоопределение датчиков на шине, процедура даёт серийники всех обнаруженных датчиков. А дальше уже назначай какой датчик от чего.

Например, если у вас два датчика, то распределить их роли просто - по больше/меньше серийники. Если программа показывает не то что надо - просто меняешь датчики местами, или алгоритм сравнения на противоположный.

Необходимость вбивать серийники датчиков в EEPROM - это признак любительской конструкции, которая делается копи-пастой и лишь бы работало, пофиг что на соплях и изоленте.

Учение - изучение правил. Опыт - изучение исключений.

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

Ребят, мб кто-нибудь объяснит, где я косячу?

Нужно настроить аппаратный SPI (PIC18F2550) для работы с FatFS от ChaN'а.

Проинициализировал по даташиту:
 

void SPI_Initialization(void)
{
    // SSPSTAT: 
    SSPSTATbits.SMP = 1; // Input data sampled at the end of data output time
    SSPSTATbits.CKE = 0; // Transmit occurs on transition from Idle to active clock state
    
    // SSPCON1:
    SSPCON1bits.WCOL = 0;   // No collision
    SSPCON1bits.SSPEN = 1;  // Enables the serial port and configures SCK, SDO, SDI and SS as serial port pins
    SSPCON1bits.CKP = 0;    // Idle state for clock is a low level
    SSPCON1bits.SSPM = 0b0001; // SPI Master mode: clock = FOSC/16   
}

А как начать передачу - я хз...

Если сделать так (ВНЕ цикла while(1)):

    char test = 4;
    SSPBUF = test;

То SPI-debugger в Proteus (нет у меня железа под рукой) выдает мне эту четверку так, будто бы я её в цикле передаю.

И да, вот такой результат, увы, получается, если добавить пустой цикл после передачи:

Скрытый текст

image.png.fb67b354abf0fe6d355057082cb0d167.png

 

Есть ли где-то статья/статьи для совсем отбитых по работе с аппаратным SPI на пиках? Ну и настройка SPI под FatFS.

 

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

Flashback!

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

А пины отконфигурированы?

RB0 (SCK)  и  RC7 (SDO) должны быть выходами (соответствующий разряд TRIS=0), а  RB1 (SDI) -  входом (TRISBbits.RB1=1).

ЗЫ. Не понимаю, какая может быть проблема с обменом со стороны мастера? Засунули байт в буфер и ждете прерывания по флагу SPI (PIR1<SSPIF>). Ну или кружитесь в пустом ожидании этого флага. Только не забывайте сбросить флаг до передачи и в прерывании, а так же установить всю цепочку разрешений прерываний (PIE1<SSPIE>, INTCON <PEIE>, INTCON<GIE>) и написать ветку обработчика для SSP.

 

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

戦う前に相手のベルトの色に注目

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

@my504 это я, конечно, сделал.)

Вот это работает на самом деле: 

void write8bit(char v)
{
   SSPBUF = v;
   while(!SSPIF);
}

Только я одного не могу понять, какой стрелочкой вход, а какой выход обозначен тут:

Скрытый текст

image.png.04ce4d68a03186d911efb6fb909e892a.png

И как адаптировать функцию void write8bit(char v) под работу с FatFS? В примерах его вообще нет такого, там UART какой-то.

Flashback!

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

Сверху выход, а снизу вход дебаггера (то есть фиктивного слейва), я полагаю. А у МК все наоборот. Передаете осмысленную величину, а дебаггер отвечает нулями.

Что касается FatFS, то сам обмен тут сбоку. Какая разница чем передавать? Логика (абстракции) протокола не зависят от интерфейса обмена.

И не забывайте, что обмен в SPI одновременно в обе стороны, значит для чистого приема потребуется фиктивная передача. Мастер обязан сам определять момент фиктивной передачи, ибо слейв не в состоянии ничего ответить без клоков мастера.

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

戦う前に相手のベルトの色に注目

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

2 часа назад, Tulen сказал:

И как адаптировать функцию void write8bit(char v) под работу с FatFS?

Ещё раз повторимся. У Чена есть архив с примерами, посмотрите. Можете взять готовый для PIC24 и переделать его под себя. Вся работа с SPI находится в файле mmc_pic24f.c

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

Добрый день, имеется вопрос по работе предделителя для WDT, мк Pic12f683. Насколько я понял по блок-схеме в даташите, WDT работает от 31 khz и имеет свой предделитель, а после своего идет еще один предделитель, общий с таймером. Проблема в том, что предделитель WDT не работает вообще. То есть при изменении битов PS2-PS0 время переполнения WDT изменяется, однако при изменении битов в WDTCON время не меняется никак. Симулировал в proteus.

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

9 hours ago, IMXO said:

бит SWDTEN ?

бит WDTE ?

WDTE включен, соответсвенно SWDTEN ни на что не вляет. Думаю проблема все-таки в симуляторе, надо протестить на железе.

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

@Alex не нашел я примера. 

Скачивал два архива - один с сайта автора, другой по ссылке из описания видео на ютубе (там пик 18 был). Нигде не нашел описания функций:

disk_initialize

disk_readp

disk_writep 

Мне вообще в идеале две опции нужно:

1) Создать .txt 

2) Запихнуть туда данные

 

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

Flashback!

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

5 часов назад, Tulen сказал:

@Alex не нашел я примера. 

Скачивал два архива - один с сайта автора, другой по ссылке из описания видео на ютубе (там пик 18 был). Нигде не нашел описания функций:

 

Все там есть.

Так же все разжевано у Джасио в книге по PIC24. Но это уже чисто микрочиповская библиотека 

В поисках работы..

Looking for job

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

Переделал чужой пример (FatFs) с PIC18F45K22 на свой МК (PIC18F2550). Получил вот такую бяку:

error: (1098) conflicting declarations for variable "DIR" (ff.h:162)

Пробовал в файлах менять все DIR и DIR* на DIR1 и DIR1* - компилируется, но дает кучу варнингов (почему-то становятся неиспользованными функции чтения, записи и т.п.).

 

 

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

Flashback!

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

  • 2 недели спустя...

Здравствуйте.У меня такой вопрос:есть ли МК PIC что бы можно было подключить 20-30 светодиодов(имею ввиду каждый светодиод к отдельной ножке)? Допустим что бы был бегающий светодиод из 20-30 штук? Я начинающий по МК,только пишу коды,изучаю.Заранее спасибо.

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

да есть. 16F884, 16F887.

но обычно так не делают. для помигать СД берут какой нибудь 12F629 и три-четыре регистра сдвига типа 74HC595 или специально заточенные под это MBI5026, MBI5028 , M5450, M5451

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

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...