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

vao1

Участник
  • Постов

    8
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный
  1. Гуру !!! из Латвии ???? по ответу заметно. И тебе спасибо добрый человек......
  2. Да, сделал все переменные volatile и определил их в начале и все заработало. Можно отключить оптимизацию компилятора вообще? А есть какая-нибудь книжка по Си для АВР (GCC). ?
  3. проблема с компилятором

    Проблема с Си кодом. До этого писал все программы на Асемблере. Решил написать программу на Си. Написал - не работает. Начал разбираться и понял, что компилириет не правильно, неу или не так как мне надо (как я думал). Помогите разобраться, что я делаю не так. В низу приведен код который компилируется не так (пример). ///////////////////////////////////////////////////////////////////////////// Текст программы (С-код): #include <avr/io.h> int main(void) { int q, w, e; while(1) { e=1; do { q=q+1; w=q+1; e=w-e; } while (q<50); e=2; do { q=q+1; w=q+1; e=w-e; } while (w<150); //TODO:: Please write your application code } } ////////////////////////////////////////////////////////////// Lss файл: 000001f4 <__ctors_end>: 1f4: 11 24 eor r1, r1 1f6: 1f be out 0x3f, r1 ; 63 1f8: cf ef ldi r28, 0xFF ; 255 1fa: df e3 ldi r29, 0x3F ; 63 1fc: de bf out 0x3e, r29 ; 62 1fe: cd bf out 0x3d, r28 ; 61 200: 00 e0 ldi r16, 0x00 ; 0 202: 0c bf out 0x3c, r16 ; 60 204: 18 be out 0x38, r1 ; 56 206: 19 be out 0x39, r1 ; 57 208: 1a be out 0x3a, r1 ; 58 20a: 1b be out 0x3b, r1 ; 59 20c: 02 d0 rcall .+4 ; 0x212 <main> 20e: 0f c0 rjmp .+30 ; 0x22e <_exit> 00000210 <__bad_interrupt>: 210: f7 ce rjmp .-530 ; 0x0 <__vectors> 00000212 <main>: e=1; do { q=q+1; 212: 01 96 adiw r24, 0x01 ; 1 w=q+1; e=w-e; } while (q<50); 214: 82 33 cpi r24, 0x32 ; 50 216: 91 05 cpc r25, r1 218: e4 f3 brlt .-8 ; 0x212 <main> */ #include <avr/io.h> int main(void) 21a: 9c 01 movw r18, r24 21c: 2f 5f subi r18, 0xFF ; 255 21e: 3f 4f sbci r19, 0xFF ; 255 e=2; do { q=q+1; 220: c9 01 movw r24, r18 222: 2f 5f subi r18, 0xFF ; 255 224: 3f 4f sbci r19, 0xFF ; 255 w=q+1; e=w-e; } while (w<150); 226: 26 39 cpi r18, 0x96 ; 150 228: 31 05 cpc r19, r1 22a: d4 f3 brlt .-12 ; 0x220 <main+0xe> 22c: f2 cf rjmp .-28 ; 0x212 <main> 0000022e <_exit>: 22e: f8 94 cli 00000230 <__stop_program>: 230: ff cf rjmp .-2 ; 0x230 <__stop_program> //////////////////////////////////////////////////////////////////////////////////////////// Вообще если вставить в программу цикл while, то начинает компилировать не правильно. В чем проблема.
  4. Я не студент и умею считать. конденсаторы заряжать нужно током. мощность отбора от АКБ от 50 до 200Вт - зависит от режима. Сроки конечно адские, но и требования к конечному изделиб на подобе программы "создовая будущее" :) - макет, но работающий.
  5. Нужен специалист (помошник) в разработке специального источника питания. Срок выпонения проекта - конец апреля. г. Новосибирск (академгородок). Задача: Есть аккумулятор 12В 12Ач (обычный PS-12120). BQ24650EVM - для построения зарядника для этого аккумулятора. Блок ионисторов 145В, 7.4Ф. UCC28950EVM-442 - для построения зарядника для этого блока ионисторов. ATXmega128A1 - для управления всем этим хозяйством и для связи с другим блоком. Необходимо заставить все это работать. Алгоритм работы в 2-х словах такой: если на входе есть напряжение(источник подключен к чемунибудь), то идет зарядка АКБ и блока ионисторов от сети (24В). если не подкгючен, то ионисторы заряжаются от АКБ. + доп. режимы в зависимости от команд от другого МК. Возможна частичная занятость, переодическая занятость и тд. Жду ваших предложений(по цене и др.) [email protected]
  6. Изготовитель не может ставить номер или вносить какие либо иные изменения в П.П.. Почему: (приведу примеры из личного опыта) 1. Слой шелкографии. а. Я не всегда заказываю платы со слоем шелкографии. б. В слое шелкографии не всегда есть место. 2. Слой маски. а. Иногда платы без слоя маски (очнь редко, но бывает, спец. платы). б. не всегда маску можно вскрывать. 3. Слой топологии. - в этом слое производителю вообще без согласования ничего нельзя делать. ведь вы ничего не знаете о плате. Вым показалось что вы нашли пустое место, а на самом деле это был сделано специально, с целью уменьшения утечек или предотвращения прбоев. 4. Могут существовать другие ограничени о которых вы даже не подозреваете. Итог: Не стоит решать проблемы глупых людей за счет других. Если заказчик незнает номер заказа, то это его проблемы. Я категорически против внесения чего либо в ПП без согласования с заказчиком. Совет: Можно добавить пунк в бланк заказка. Но при этом заказчик болжен иметь возможность точно определить мести и размеры надписи. Типа " Прямо так в бланке заказа и пишут "Вместо PS000000 указать номер присвоенный данному заказу" или "На свободном месте указать номер заказа согласно обозначению Электроконнект".".
  7. На 250кГц вы этот драйвер не вытащите(и подобные ему). У вас даже при правилном подключении драйвера и правильной работе ШИМа конденсатор СВ не будет успевать заряжаться и вообще вы энергетический расчет делали?. Берите продвинутые схемы драйверов с развязкой по питанию. ИЛИ. Можно переделать схему включения ключа. Какое у вас напряжение на Стоке?
×
×
  • Создать...