Страница 1 из 1
Сделайте прошивку из проекта
Добавлено: Вс май 22, 2011 18:47:08
BoRtO
Сделайте прошивку из CVAVR!
Я просто сам не понимяаю нефига!
мне нужно в проекте в файле
С В 17 строку прописать
4
#define byBladeCnt
4
И сделать хекс файл!
пожалуйста
Re: Сделайте прошивку из проекта
Добавлено: Вс май 22, 2011 19:04:05
SubDia
BoRtO писал(а):мне нужно в проекте в файле С В 17 строку прописать 4
#define byBladeCnt 4
Это там уже написано.
Держите.
Re: Сделайте прошивку из проекта
Добавлено: Вс май 22, 2011 20:43:42
BoRtO
Re: Сделайте прошивку из проекта
Добавлено: Ср май 25, 2011 09:51:04
Влад.
Здравствуйте, господа форумчане!
Я тоже хочу попросить помощи по написанию, а точнее редактированию прошивки.
В прошивках ничего не понимаю. Разобраться пытался, то что-то мой мозг не усваевает полученую информацию.
Хочу сделать регулятор громкости на PGA2311. Нашел хорошую схему.
http://altor.sytes.net/Articles/Vol_Con ... rol_1.html
Там прошивка сделана под переменный резистор, а я хочу на энкодере/валкодере чтоб было. Так как для энкодера нужно хотя бы 2 порта, то хочу убрать функцию "MUTE".
Предпологается, что на морде, кроме регулятора громкости, ничего не будет. Поэтому можно освободить еще один порт микроконтролера. Тот, на котором навешан переменник, регулирующий баланс.
Кто ни будь возьмется за этот гемор?
Re: Сделайте прошивку из проекта
Добавлено: Ср май 25, 2011 10:45:59
Влад.
Хочется получить примерно вот это:
хотел добавить, что Мк будет применятся PIC12F675.
Re: Сделайте прошивку из проекта
Добавлено: Чт май 26, 2011 14:27:47
Влад.
Ну хоть что ни буть ответьте.
Re: Сделайте прошивку из проекта
Добавлено: Чт май 26, 2011 15:18:36
urry
интересно, а что Вы хотите услышать ?
----------------------------------------------------------------
Я не разбираюсь в программировании, поэтому сделайте за меня .
----------------------------------------------------------------
Это - при отсутствии исходников, да собственно как и с ними - минимум день работы с отладкой.
Платите за работу или сделайте сами.
Возможно, кто-то захочет размять пальцы и бесплатно, как бы его решение

Re: Сделайте прошивку из проекта
Добавлено: Чт май 26, 2011 16:04:40
Влад.
Хм... Уже не плохо. Я уж думал, что все вымерли
Заплатить? Только если в разумных пределах.
Кстати, а хек фаил в исходник нельзя конвертировать?
Re: Сделайте прошивку из проекта
Добавлено: Чт май 26, 2011 16:24:41
Engineer_Keen
Влад. писал(а):Кстати, а хек фаил в исходник нельзя конвертировать?
Исходник, это когда метки и переменные имеют удобоваримые и осмысленные названия, а сам код снабжается комментариями. При этом исходник может быть на языке высокого уровня. HEX можно переконвертировать только в ассемблерный листинг, естественно без комментариев и вместо меток и имен переменных будут цифры. Судя по схеме код не должен быть сложным, тем более если убирается одна из регулировок. Но это PIC, так что пусть другие помогают

Re: Сделайте прошивку из проекта
Добавлено: Чт май 26, 2011 16:34:38
Влад.
Кое что уже встало на свои места. Наверное через месяцок сам переделаю программу...
Re: Сделайте прошивку из проекта
Добавлено: Чт май 26, 2011 16:38:45
pyzhman
Обратитесь к автору. Там и почта есть, и ася, и скайп. Едва ли конечно переделает, но вдруг? Или хотя бы исходники вам даст.
Re: Сделайте прошивку из проекта
Добавлено: Пн окт 24, 2011 08:56:38
BoRtO
помогите еще раз сделать прошивку
Код: Выделить всё
/*****************************************************
This program was produced by the
CodeWizardAVR V1.25.7 beta 5 Professional
Automatic Program Generator
© Copyright 1998-2007 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com
Project : Simple AVR Clock
Version :
Date : 01.05.2008
Author : Spiritus Sancti
Company : licrym.org
Comments:
Chip type : ATtiny2313
Clock frequency : 16,000000 MHz
Memory model : Tiny
External SRAM size : 0
Data Stack size : 32
*****************************************************/
#include <tiny2313.h>
#include <delay.h>
#define digit_display_time 1
unsigned char milliseconds, seconds, ten_seconds, minutes, ten_minutes, hours, ten_hours;
bit button_pressed1, button_pressed2;
// Timer 1 output compare A interrupt service routine
interrupt [TIM1_COMPA] void timer1_compa_isr(void) //Прерывание происходит 100 раз в сек,
сохраняем в глобальные переменные текущее время
{ milliseconds++;
TCNT1H=0x00;
TCNT1L=0x00;
if (milliseconds >= 100 )
{
milliseconds = 0;
seconds++;
};
if (seconds >= 10)
{
seconds = 0;
ten_seconds++;
};
if (ten_seconds >= 6)
{
ten_seconds = 0;
minutes++;
};
if (minutes >= 10)
{
minutes = 0;
ten_minutes++;
};
if (ten_minutes >= 6)
{
ten_minutes = 0;
hours++;
};
if (hours >= 10)
{
hours = 0;
ten_hours++;
};
if (ten_hours >= 2 && hours == 4)
{
ten_hours = 0;
hours=0;
};
}
void main(void)
{
unsigned char digits[10] = {18, 159, 56, 28, 149, 84, 80, 31, 16, 20}; //массив для генерации
цифр. Какой элемент массива будет отправлен в порт, такая цифра и загорится.
// Crystal Oscillator division factor: 1
CLKPR=0x80;
CLKPR=0x00;
// Input/Output Ports initialization
// Port A initialization
// Func2=In Func1=In Func0=In
// State2=T State1=T State0=T
PORTA=0x00;
DDRA=0x00;
// Port B initialization
// Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out
// State7=1 State6=1 State5=1 State4=1 State3=1 State2=1 State1=1 State0=1
PORTB=0xFF;
DDRB=0xFF;
// Port D initialization
// Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=In Func0=In
// State6=0 State5=0 State4=0 State3=0 State2=0 State1=P State0=P
PORTD=0x03;
DDRD=0x7C;
// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
// Mode: Normal top=FFh
// OC0A output: Disconnected
// OC0B output: Disconnected
TCCR0A=0x00;
TCCR0B=0x00;
TCNT0=0x00;
OCR0A=0x00;
OCR0B=0x00;
// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: 62,500 kHz
// Mode: Normal top=FFFFh
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer 1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: On
// Compare B Match Interrupt: Off
TCCR1A=0x00;
TCCR1B=0x04;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x02;
OCR1AL=0x70;
OCR1BH=0x00;
OCR1BL=0x00;
// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
// Interrupt on any change on pins PCINT0-7: Off
GIMSK=0x00;
MCUCR=0x00;
// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x40;
// Universal Serial Interface initialization
// Mode: Disabled
// Clock source: Register & Counter=no clk.
// USI Counter Overflow Interrupt: Off
USICR=0x00;
// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
// Global enable interrupts
#asm("sei")
while (1)
{
PORTD |=1<<5; //включаем первый индикатор
PORTB = digits[ten_hours]; //выводим на него десятки часов
delay_ms(digit_display_time); //ждем, время индикации одного разряда задается в заголовке программы
PORTD &=~(1<<5); //выключаем первый индикатор и переходим дальше и так в цикле для каждого из 4 разрядов
PORTD |=1<<4;
PORTB = digits[hours];
if (milliseconds >= 50) PORTB &=~(1<<4); else PORTB|=1<<4; //моргание точки
delay_ms(digit_display_time);
PORTD &=~(1<<4);
PORTD |=1<<3;
PORTB = digits[ten_minutes];
delay_ms(digit_display_time);
PORTD &=~(1<<3);
PORTD |=1<<6;
PORTB = digits[minutes];
delay_ms(digit_display_time);
PORTD &=~(1<<6);
//а вот теперь проверим кнопочки в стиле часов Электроника 13
if ((PIND & 1<<0) == 0 && button_pressed1 == 0) //Если нажата кнопка 1
{
delay_ms(1);
hours++;
button_pressed1 = 1;
};
if ((PIND & 1<<0) == 1) button_pressed1=0; //Если отпущена то
сбрасываем флаг
if ((PIND & 1<<1) == 0 && button_pressed2 == 0) //Если нажата кнопка 2
{
delay_ms(1);
minutes++;
button_pressed2 = 1;
};
if (PIND & 1<<1) button_pressed2=0;
};
}
http://licrym.org/index.php/Простые_часы
а какие там фьюзы ставить?
а то контроллер запороть неохота

Re: Сделайте прошивку из проекта
Добавлено: Пн окт 24, 2011 13:10:47
BoRtO
ну скажите хоть что нужно нажать в CVAVR чтобы скомпилировать прошивку

Re: Сделайте прошивку из проекта
Добавлено: Пн окт 24, 2011 16:07:26
pyzhman
В приложении. Фьюзы для внешнего кварца, искать в даташите.
Re: Сделайте прошивку из проекта
Добавлено: Пн окт 24, 2011 16:24:36
BoRtO
pyzh_man писал(а):В приложении. Фьюзы для внешнего кварца, искать в даташите.
спасибо, большое

Re: Сделайте прошивку из проекта
Добавлено: Вт окт 25, 2011 07:30:25
vAv
Чтобы в cvavr сделать прошивку - создай мастером для своего проца новый проект и главное вбей туда значение кварца 16 мгц. Остальное можешь не трогать. Потом там же в мастере "сохранить и выйти", указываешь папку, название и т.д. Полученный мастером текст удаляешь, копипастишь свой исходник. Ну и Build All тыкаешь... Получаешь в подпапке проекта EXE свой хекс.
Это так, на будущее.

Re: Сделайте прошивку из проекта
Добавлено: Вт окт 25, 2011 09:30:31
BoRtO
все сделал как сказали прошивки нет
Код: Выделить всё
Chip: ATtiny2313
Clock frequency: 16,000000 MHz
Memory model: Tiny
Optimize for: Size
(s)printf features: int, width
(s)scanf features: int, width
Promote 'char' to 'int': Yes
'char' is unsigned: Yes
global 'const' stored in FLASH: No
8 bit enums: Yes
Enhanced core instructions: Yes
Automatic register allocation: Yes
Smart register allocation: Yes
Build: 2
119 line(s) compiled
28 error(s)
No warnings
Bit variables size: 0 byte(s)
Data Stack area: 60h to 7Fh
Data Stack size: 32 byte(s)
Estimated Data Stack usage: 0 byte(s)
RAM Global variables size: 0 byte(s)
Hardware Stack area: 80h to DFh
Hardware Stack size: 96 byte(s)
Heap size: 0 byte(s)
EEPROM usage: 0 byte(s), 0,0% of EEPROM
Re: Сделайте прошивку из проекта
Добавлено: Вт окт 25, 2011 10:15:11
pyzhman
Один из вариантов:
1. Создать новый проект File-New.
2. В открывшемся окне выбрать Project.
3. Отказаться от визарда.
4. В окне Creatе... выбрать папку и дать имя своему проекту.
5. В появившемся окне Configure... выбрать C_Compiler и в нем выбрать чип и его частоту.
6. Создать новый файл File-New.
7. Выбрать Source.
8. копипастить нужный текст или написать программу

.
9. Сохранить.
10. Project - Configure. В окне выбрать (оно уже выбрано) Input files.
11. Нажмякать Add и указать ваш файл. Он будет головным.
12. ОК
13. Ctrl+F9
14. Радуемся жизни.
Re: Сделайте прошивку из проекта
Добавлено: Ср окт 26, 2011 09:16:28
vAv
Код: Выделить всё
Chip: ATtiny2313
Clock frequency: 16,000000 MHz
Memory model: Tiny
Optimize for: Size
(s)printf features: int, width
(s)scanf features: int, width
Promote 'char' to 'int': Yes
'char' is unsigned: Yes
global 'const' stored in FLASH: No
8 bit enums: Yes
Enhanced core instructions: Yes
Automatic register allocation: Yes
Smart register allocation: Yes
Build: 1
815 line(s) compiled
No errors
No warnings
Bit variables area: 0x2 to 0x2
Bit variables size: 1 byte(s)
Data Stack area: 0x60 to 0x7F
Data Stack size: 32 byte(s)
Estimated Data Stack usage: 12 byte(s)
RAM Global variables size: 0 byte(s)
Hardware Stack area: 0x80 to 0xDF
Hardware Stack size: 96 byte(s)
Heap size: 0 byte(s)
EEPROM usage: 0 byte(s), 0,0% of EEPROM
Program size: 241 words (482 bytes), 23,5% of FLASH
Посмотри строки с ошибками. У меня после первой компиляции ругнулось на строки с комментами - они перенеслись ниже. Пришлось добавить признак коммента //
Текст программы копировал из твоего же поста выше.