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

Автомат Вкл. Пчеки В Авто


neid

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

Всем привет)) вообщем идея такая, хочу сделать чтобы у меня включалась печка в ваз 2110 когда рабочая температура двигатея дойдет до 70 грудусов. Поясняю, к примеру алгоритм работы :

Дополнителный канал настраиваю на сигналке так, чтобы он подавал напряжение и включал устройство (на автозапуске можно так организовать). Далее, устройство включено и ждет пока температура двигателя не поднимится до 70 градусов. После через реле включает двигатель печки (заведомо подключаем к 1 скорости). Ну и работает до тех пор пока: 1) не сработает концевик водительской двери, или 2) у автозапуска не кончится время и двигатель не заглохнет. Все это дело будет отображать светодиод.

Можно проше пойти через две релюхи подключить печку и с брелка её включать тем же доп. каналом, но удобнее всетаки так. Думаю есть тут люди кто так же на отечественном транспорте катается, да и зимой когда машина у дома, хочется в теплую сесть, а не ждать пока салон прогреется.

отсюда несколько вопросов:

1. можно ли это дело организовать на Атмеге 16, т.к. имел дело только с ней, простенькое охранное устройство с моб.телефоном на дачу)

у кого какие схемы и предложения, сам новичок, короме выше сказанного МК не пробывал ни чего и пользовался только 5 поводковым програматором(примитив вообщем)))

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

отсюда несколько вопросов:

1. можно ли это дело организовать на Атмеге 16, т.к. имел дело только с ней, простенькое охранное устройство с моб.телефоном на дачу)

у кого какие схемы и предложения, сам новичок, короме выше сказанного МК не пробывал ни чего и пользовался только 5 поводковым програматором(примитив вообщем)))

А по моему вопрос один - "Кто сделает мне всё это ?" :)

Часто вижу слова типа "это многим понадобится", "думаю не только меня это интересует" и т.д...

Скажу Вам честно, ни кому эта Ваша хрень не понадобится и никого кроме Вас она не заинтересует.

Начинайте делать, будут проблемы или вопросы - обращайтесь. Не хотите (не можете) делать - Вам в раздел Работа.

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

Читаете только слова которые знаете или вообще всю тему целиком? сказал же что новичок, и с МК один раз только общался, я не прошу делать, мне схема приблизительная нужна в каком направлении делать, больше всего как сигнал вести от датчика температуры до МК... а про прошивку и остальное моя головная боль. Как модеру тебе надо себя поскромнее вести. Если зайти на сайт ВАЗовских форумов и посмотреть проблему подключения сигналок, то чуть ли не каждый второй хочет это сделать, и могут только через реле, вот тут точно ХРЕНЬ получается))))

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

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

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

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

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

Читаете только слова которые знаете или вообще всю тему целиком?
Не вижу ни какой темы. Вижу только слова "мне надо". Надо - пожалуйста, в гугль... Или в другую ветку - "Поиск схем". Возникла проблема с созданием конкретного устройства - добро пожаловать к нам. Тут у нас нет людей занимающихся поиском схем по просьбе.
сказал же что новичок
Новичок ? Тогда Вам в раздел "Начинающим" с темой - "Моя первая программа мигание светодиодом".
больше всего как сигнал вести от датчика температуры до МК...
А Вы пробовали поискать подобное на форуме ? Или зашли в первый попавшийся раздел и сразу постить... ? Может Вам пальцем ткнуть ?
Как модеру тебе надо себя поскромнее вести.
Да что мы говорим :) Как модер, я Вас уже должен был давно наказать, как минимум за 3 пункта правил. Не Вам меня учить. И на "ты" по моему мы не переходили.
Если зайти на сайт ВАЗовских форумов
Тут не ВАЗовский форум. И если зашли сюда, будьте любезны придерживаться нашим правилам.

PS: Не цитируйте предыдущий пост целиком, это у нас правилами запрещено.

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

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

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

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

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

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

В разрыв питания печки ставите это http://www.anielectro.com/download.php?file=TK-24_ru.pdf&mime=application/pdf, и всё.

Недавно восстановил пароль.

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

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

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

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

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

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

второе. Вам нужно просто найти схему термодатчика либо поискать механическое "термореле" штука такая с биметалический пластиной и бывает на разные температуры. далее можно зацепится через доп канал сигналки на котором при автозапуске будет сигнал далее приходите в машину вставляете ключ и автозапуск на сигналке отключается передавая комутацию зажигания на сам замок зажигания и ваше приблуда отключает печку. на большинстве сигналок с автозапуском есть провод на котором присутсвует либо масса либо + во время работы автозапуска, а также провод дополнительного канала (чтоб можно было с брелка включать) вот и используйте оба таких канала для управления одним реле + термореле вот и все! МК тут ненужен

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

При желании, можно прилепить термореле на микроконтроллере, дабы иметь цифровой индикатор температуры с разрешением 0,1 градус + программируемое "термореле". рублей в 400 обойдётся.

Решаю любые проблемы кроме своих. скайп sidatel

uselect-el(dot)ucoz.com

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

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

173a3aa677a0.jpg

вот накидал тут кое чего, гляньте правильно ли все, может чего накосячил:

Датчик температуры охлаждающей жидкости (термисторный) устанавливается на впускном патрубке системы охлаждения в потоке охлаждающей жидкости двигателя. Термистор, находящийся внутри датчика, является термистором с "отрицательным температурным коэффициентом" - при нагреве его сопротивление уменьшается. Высокая температура охлаждающей жидкости вызывает низкое сопротивление (70 Ом + 2% при 130 °С), а низкая температура дает высокое сопротивление (100700 Ом ± 2% при -40 °С).

Контроллер подает на датчик температуры охлаждающей жидкости напряжение 5 В через резистор с постоянным сопротивлением, находящимся внутри контроллера. Температуру охлаждающей жидкости контроллер рассчитывает по падению напряжения на датчике, имеющем переменное сопротивление. Падение напряжения большое на холодном двигателе, и низкое - на прогретом.

не знаю можно обойтись без резистивно пары?

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

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

Я сделал несколько иначе:

2 датчика температуры ds18b20 - один на охл. жидкости, второй в салоне.

2 кнопки управления, индикатор температуры светодиодный.

Кнопками вкл\выкл девайс, а так же устанавливаешь порог отключения печки.

на практике очень удобно - текущая температура в салоне перед глазами, да и печка включается сама+выключается.

По твоей схеме можно кстати убрать кварц и кондесаторы и использовать внутренний генератор.

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

многое поменял, вместо меги8 поставил мегу 32, что под рукой оказалось, меги8 вообще нет пока...(( алгоритм вот какой стал:машина заводится с автозапуска(ваз2111), подает питание на устройство, вкл. и ждет пока температура двигателя не поднимится до 50 градусов, после через реле включает подогрев сидений, когда 70С - печку (заведомо подключаем к 1 скорости). Ну и работает до тех пор пока не сяду в машину и не нажму кнопоку. Чтобы потом самому вкл что надо и конролировать.

вот с общими усилиями и советами что получилось по схеме:

http://s014.radikal.ru/i327/1010/36/84eac75a211e.jpg

Есть несколько вопросов по подключению реле к ULN2003A, и питания 12 вольт, правильно организовал?

ну и по коду, какие огрехи, пинайте если чего, я учусь мне полезно.

а вот сам код к этой погремушке:

#include <mega32.h> 
#include <delay.h>
#define FIRST_ADC_INPUT 0
#define LAST_ADC_INPUT 0
unsigned char adc_data[LAST_ADC_INPUT-FIRST_ADC_INPUT+1]; 
#define ADC_VREF_TYPE 0x20 
interrupt [ADC_INT] void adc_isr(void) //стандартное прерывание по ADC от CVAVR 
{ 
static unsigned char input_index=0; 

adc_data[input_index]=ADCH; 

if (++input_index > (LAST_ADC_INPUT-FIRST_ADC_INPUT)) 
input_index=0; 
ADMUX=(FIRST_ADC_INPUT | (ADC_VREF_TYPE & 0xff))+input_index; 

delay_us(10); 

ADCSRA|=0x40; 
} 
void main(void) 
{
//Порт В настройка 
PORTC=0x00;
DDRC=0xFF; // весь порт на выход

// Port D настройка 
PORTB=0x00;         
DDRB.0=0x00;  // весь порт как вход 

ADMUX=FIRST_ADC_INPUT | (ADC_VREF_TYPE & 0xff); 
ADCSRA=0xCC; 
#asm("sei")
PORTC.4=1; //устройство включено, светодиод горит постоянно
while (1) {
if(adc_data[LAST_ADC_INPUT]<205) PORTC.0=1;
   else PORTC.0=0;     //Приблизительно 50 град.
       if(adc_data[LAST_ADC_INPUT]<204) PORTC.2=1;
           else PORTC.2=0;
if(adc_data[0]<21) PORTC.1=1; //Приблизительно 70град.
   else PORTC.1=0;
       if(adc_data[0]<21) PORTC.3=1;
           else PORTC.3=0;
if (PINB.0==1) break;         
          };
PORTC.0=0;
PORTC.2=0;
delay_ms(2000);
PORTC.1=0;
PORTC.3=0;
delay_ms(2000);
PORTC.4=0;
}

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

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

if (PINB.0==1) break;
это?У вас тут ничего не циклится,выполнение дальше пойдёт и так.А это лишняя команда.
Ссылка на комментарий
Поделиться на другие сайты

Жесть а не код ;)

Сразу вопрос по поводу алгоритма: а не проще ли включать подогрев сидений по факту автозапуска?

Теперь что касается кода, сначала определимся с алгоритмом:

1. Температура менее 50С - выход

2. Температура от 50С до 70С - вкл. реле подогрева сидушек.

3. Температура более 70С - щелкнуть реле печки.

Теперь о лампочках ;). Не слишком ли их много?

1. Температура менее 50С - ничего не горит.

2. Температура от 50С до 70С - моргает лампочка.

3. Температура более 70С - горит.

ограничились одним светодиодом. ну если так необходимо, чтобы что-то горело, то введем еще один: вкл\выкл. %)

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

теперь сам код:

while(1) {
PORTC.3=1; //Лампочка ВКЛ.ВЫКЛ.
if (PINB.0) {delay_ms(100); if (PINB.0) {while(1) {PORTC.3=0; PORTC.0=0; PORTC.1=0;}}} //тут мы проверим нажата ли кнопка? если да - в вечный цикл.
if(adc_data[LAST_ADC_INPUT]>205) {PORTC.0=0; PORTC.1=0; PORTC.2=0;} //Тут мы отключаем всё, пока темп-ра низкая.
else { //Если выше 50С то:
PORTC.0=1; //Включили подогрев.
PORTC.2=-PORTC.2; //Моргаем лампочкой.
//Теперь проверим нужно ли включить печку?
if (adc_data[LAST_ADC_INPUT]<21 {
//Тут мы, когда нужно включить печку.
PORTC.1=1; //Включили
PORTC.2=1; //Включили постоянно диод.
} else {PORTC.1=0;} //А тут выключили, если темпер ниже 70С

}
delay_ms(500); //От этой задержки зависит скорость моргания светодиода при темп-ре от 50С до 70С.
}

..КОНЕЦ..

За синтаксические ошибки извините, если имеются. ибо писал прямо в браузере. код не проверял.

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

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

код пока не поверил сам, вот только из гаража пришел, пришли холода потек тосол у бибики(( отпишусь позже.

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

повторюсь - один минус вашей схемы - нереентабильность использования мк. уж если мутите на мк - не поленитесь - добавьте в схему индикатор температуры в салоне + тот же самый датчик температуры салона. и привяжите автоматическое отключ. печки при достижении температуры заданной. этим вообще избавитесь от вкл=выкл печки вручную.

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

delay_ms(500); //От этой задержки зависит скорость моргания светодиода при темп-ре от 50С до 70С.

не могу понять почему эта строка не в теле цикла while(1). Хотя пробыdал и в тело кинуть? нет мигания светика( а реле отрабатывает как надо. Но когда выполняется следующее условие: if (adc_data[LAST_ADC_INPUT]<21), то горит как задумано.

компилирую CodeVisionAVR, играюсь в Протусе.

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

повторюсь - один минус вашей схемы - нереентабильность использования мк. уж если мутите на мк - не поленитесь - добавьте в схему индикатор температуры в салоне + тот же самый датчик температуры салона. и привяжите автоматическое отключ. печки при достижении температуры заданной. этим вообще избавитесь от вкл=выкл печки вручную.

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

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

Я с вас туею, вернее с вашей схемы. Да выкиньте вы этот опер и весь огород к нему, поставьте датчик тем-ры DS18b20. Зачем для двух реле использовать целую микросхему ? Два транзистора за глаза. И разводить плату проще будет. Организуй мигание светика по прерыванию от таймера, зачем в коде ставить доп.задержки ?

П.С В CVAVR есть готовые функции для работы с датчиками DS18b20. Стремись к лучшему.

Будьте проще и люди к вам потянутся.

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

Я с вас туею, вернее с вашей схемы. Да выкиньте вы этот опер и весь огород к нему, поставьте датчик тем-ры DS18b20.

беру сигнал со штатного датчика охлаждающей жидкости, т.к. он расположен посеридине патрудка и меряет непосредственно темп. ОЖ, что и нужно для вкл. печки. Датчик который вы советуете нужно на хомут и к патрубку, но он будет снаружи(((( тоже самое уже у меня с автозапуском, там тоже есть датчик который снаружи, фигня получается, зимой по температуре никогда не завожу, толку от него только узнавать температуру на улице с брелка авто :rolleyes:

ОУ применил, чтобы не исказить показания датчика ОЖ, т.к. они нужны ЭБУ машины. По К-линии считывать температуру мне еще не по силам, и занята она бортовым компом.

С ULN2003 не рационально, я не знаю какие транзисторы лучше применить?

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

Зачем, датчик наружу ? У тебя тосол гонится по всей системе в том числе и через радиатор печки, ну и прицепи его прям к нему. Схема то насколько упростится, а также повысится надёжность и мешать ничему не будешь, развязка не нужна. Транзисторы можно поставить, например, bc847, только не забудь параллельно катушке реле поставить диод, катодом к плюсу. В базу транзистора включи резистор где-то на 10К, а так же резистор на 10К между базой и эмитером. Катушку реле включаешь один конец на +12, второй на коллектор, эмитер на минус.Диод можно поставить 1n4148.

Будьте проще и люди к вам потянутся.

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

тосол гонится по всей системе в том числе и через радиатор печки, ну и прицепи его прям к нему

Спасибо большое за подсказку с транзисторами ;)

у меня радиатор печки в таком месте, короче спина болит от сегодняшних мучений с машиной(выше писал). как раз потек патрубок на входе в радиатор печки, пол машины надо разобрать чтобы добраться.

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

delay_ms(500); //От этой задержки зависит скорость моргания светодиода при темп-ре от 50С до 70С.

не могу понять почему эта строка не в теле цикла while(1). Хотя пробыdал и в тело кинуть? нет мигания светика( а реле отрабатывает как надо. Но когда выполняется следующее условие: if (adc_data[LAST_ADC_INPUT]<21), то горит как задумано.

компилирую CodeVisionAVR, играюсь в Протусе.

соберите в железе.

может

PORTC.2=-PORTC.2;

как то не так обрабатывается протеусом.

Я с вас туею, вернее с вашей схемы. {...}

Организуй мигание светика по прерыванию от таймера, зачем в коде ставить доп.задержки ?

Позвольте узнать - на сколько критично если сей девайс опоздает щелкнуть реле максимум на 0.5сек?

да и организовывать работу светика от таймера топикстартеру видимо еще рановато, раз он с оператором if еще доконца не разобрался. раз уж советуете - так уж и приводили бы примеры. неправильно это как-то: человек учиться лампочкой моргать на простых задержках, а вы его в дебри гоните.

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

Я бы пример привел если бы ТС делал устройство своё на ПИКе и не просто пример, а готовый код ему выложил.

А так для того чтобы мне ему приводить примеры мне надо как минимум разобраться с CVAVR в которой он работает и покурить даташит на МК, который он применяет. А с морганием по прерыванию ничего сложного нету, к тому же он собрался внедрить в устройство ЖК индикатор, вольтметр, поэтому все эти задержки в основном теле программы ни к чему. А чтобы изучить все эти аспекты, я могу ему посоветовать книгу "CVAVR для начинающих", там полно примеров. Пока из моего совета его заинтересовала лишь замена микросхемы на два транзистора.

Будьте проще и люди к вам потянутся.

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

Пока из моего совета его заинтересовала лишь замена микросхемы на два транзистора.

Может он в дальнейшем запланирует управлять краном печки шаговиком? ;) Тогда и микр-ма сгодиться ;)

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

пока у меня задача стоит собрать устройство и прицепить к машинке, а экраны и все останьное по мере освоения, и познания. К вопросу почему на МК, потому что интерес к МК и программированию на С и опыты моему безгоду неделя. Чем больше в лес, тем больше дров, до ПИКов тоже доберусь)))

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

думаю пока собрать все на макетке, и посмотреть как в железках работает.

VipAndrey и a_sergeevich хочу поблагодарить вас за то что отозвались и помогли. :rolleyes:

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

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

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

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

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

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

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

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

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

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

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

    • Когда снова появился интерес к усилителям, тоже хотел всех обмануть, попробовал 7294 в разных схемах, 3886 тоже несколько способов приготовления, вроде и неплохо играет, если ничего другого не слушал, годится. Но червячок сподвиг сделать Натали Хоум, УХ! челюсть отвисла, наслушаться не мог, узнал, что такое сцена в звуке, динамика, детальность, да всё лучше. Вот я всегда и спрашиваю, по сравнению с какими другими УМ играет хорошо расхваливаемый усилитель.
    • @Armenn Хорошо. Сделал резистор на 5 Ом.  Результата два. 1. Если включить блок питания в сеть, а уже потом подключить резистор на 5 Ом в фиолетовый провод, тогда резистор просто будет греться.  2. Если подключить резистор на 5 Ом в фиолетовый провод, а уже потом включить блок питания в сеть, тогда случится следующее: лампочка предохранителя от КЗ засветится (через которую я подключаю БП в сеть), а блок питания начнет пищать. Заснял это на видео -   
    • Ну-вы и сравнили. Вот когда будете строить сварочный инвертор на такую частоту-то там нужно  будет учитывать скин эффект. А на частоты до 75кгц-можно забить, отбить и не принимать во внимание. Тем более-что все стараются аппараты до 200А строить. На кольце плотность тока до 15А на мм ^2, на Ш от 10А на  мм^2 А вентилятор-он все лишние тепло сдует ко льдам в Антарктиде. Проверьте монолит 2,12мм, я таким мотаю СТ. Интересно-что там с ним делается на частотах от 30 до 50кГц? Длинна провода примерно 2 метра-На сердечник Е70 влазит 18 витков
    • Добрый вечер всем!  Проблема следующая: Есть флешка с записанной файловой системой через USB MASS STORAGE DEVICES. При "втыкании"  в порт USB открывается на ПК диск с содержимым. Я подключил библиотеку Fatfs и прописал низкоуровневые функции чтения и записи в файле diskio.c Работаю с файлом так:   disk_initialize(SDFatFs.drv); if(f_mount(&SDFatFs,(TCHAR const*)USER_Path,0)!=FR_OK) { //Error_Handler(); Usart1_Send_String("Error_f_mount!\r\n"); } else { if(f_open(&MyFile,"01.WAV",FA_READ)!=FR_OK) { //Error_Handler(); Usart1_Send_String("Error_open_File1!\r\n"); } else { Usart1_Send_String("open_File_OK1!\r\n"); } if(f_open(&MyFile,"01.wav",FA_READ)!=FR_OK) { //Error_Handler(); Usart1_Send_String("Error_open_File2!\r\n"); } else { Usart1_Send_String("open_File_OK2!\r\n"); UINT testBytes=0; f_read(&MyFile, buff1, 512, &testBytes); sprintf(buf1, "TestBytes=%d\r\n", testBytes); Usart1_Send_String(buf1); Usart1_Send_hex((char*)buff1, 512); Usart1_Send_String("read_File_complite!\r\n"); f_close(&MyFile); } } подправил diskio.c так:   DRESULT disk_read ( BYTE pdrv, /* Physical drive nmuber to identify the drive */ BYTE *buff, /* Data buffer to store read data */ DWORD sector, /* Sector address in LBA */ UINT count /* Number of sectors to read */ ) { DRESULT res; //res = disk.drv[pdrv]->disk_read(disk.lun[pdrv], buff, sector, count); sprintf(buffer0, "sector=%lu\r\n", sector); Usart1_Send_String(buffer0); w25qReadPage(buff, sector*2); w25qReadPage(buff + 256, sector*2+256); res=RES_OK; return res; } #if _USE_WRITE == 1 DRESULT disk_write ( BYTE pdrv, /* Physical drive nmuber to identify the drive */ const BYTE *buff, /* Data to be written */ DWORD sector, /* Sector address in LBA */ UINT count /* Number of sectors to write */ ) { DRESULT res; //res = disk.drv[pdrv]->disk_write(disk.lun[pdrv], buff, sector, count); w25qWritingByUSB(sector, (uint8_t*)buff); res=RES_OK; return res; } #endif /* _USE_WRITE == 1 */ функцию чтения на самом деле пробовал прописывать по разному, все равно не корректно работает... Выдает в отладке такое:   Program start!.... sector=0 // это обращение к функции чтения DRESULT disk_read (); Error_open_File1! sector=0 // это обращение к функции чтения DRESULT disk_read (); Error_open_File2! Что я забыл еще добавить?
    • В былые годы запрещалось размещать на форуме бессмысленные темы. Видать, с тех пор правила существенно изменились.
    • скачай новый архив. там есть важные изменения в комповой программе, по сравнению с той, что я отправлял в личке. исправлены недоделки и добавлены проверки на некорректные действия.
×
×
  • Создать...