Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 22.06.2007, 22:50  
chipic128
Прописка
 
Регистрация: 13.02.2005
Сообщений: 250
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
chipic128 на пути к лучшему
По умолчанию IAR-=>*.hex

Срочно ПОММОГИТЕ!!!
как в IAR сделать hex формат для прошивки контроллера АТ90S2313, прога есть, нуно ее вшыть

и еще вопросик почему ИАР не видит инклуде файла и не подменяет значения?? дефайн???

Код:
#pragma language=extended

int discret=0;
char zero=0;
char inc=0;
unsigned char timer0_0VF=0;
struct
{
char A : 1;
char B : 1;
char C : 1;
char D : 1;
char   : 0;
}Timeflag;

struct
{
char napravl : 1;
char start_stop : 1;
char pozition : 1;
char razgon : 1;
char transmit : 1;
char : 0;
unsigned int steep;
unsigned int n_speed;
unsigned int accelerate;
} stateKSM;

struct
{
char gotov : 1;
char start_stop : 1;
char : 0;
unsigned int steep;
unsigned int speed;
} ansverKSM;


#define FA PORTD=0x10; PORTB=0x00
#define FB PORTD=0x00; PORTB=0x02
#define FC PORTD=0x00; PORTB=0x01
#define FD PORTD=0x40; PORTB=0x00

#define FA_B PORTD=0x10; PORTB=0x02
#define FB_C PORTD=0x00; PORTB=0x02||0x01
#define FC_D PORTD=0x40; PORTB=0x01
#define FD_A PORTD=0x40||0x10, PORTB=0x00

#define COMPUT 3125
#define TIME_TRANSMIT 10000
#define TEST if (1) for(;;)
#define BAUD232 71

#include ‹io2313.h›
#include ‹ina90.h›
#include ‹comp_a90.h›

void init(void)
{
TCCR0=(1‹‹0); //prescaler
TIMSK|=(1‹‹CS00);
SREG|=T0IE0;
DDRB=0xFF;
DDRD=0xFF;
PORTD=0x00;
UBRR=(char) (BAUD232);
UCR=(1‹‹RXEN)||(1‹‹TXEN); //enable transmitter receiver
}
void UART_TX(char data, char data2, char data3,char data4, char data5)
{
while(!(USR&(1‹‹UDRE)));
UDR=data;
while(!(USR&(1‹‹UDRE)));
UDR=data2;
while(!(USR&(1‹‹UDRE)));
UDR=data3;
while(!(USR&(1‹‹UDRE)));
UDR=data4;
while(!(USR&(1‹‹UDRE)));
UDR=data5;
};
char UART_RX(void)
{
while(!(USR&(1‹‹RXC)));
return UDR;
};

void comand_RX (void)
{ if (USR&(1‹‹RXC))
   {
     switch (UDR)
{
 case 0x73: stateKSM.start_stop=1; break;     // "s"
 case 0x61: stateKSM.start_stop=0; break;  // "a"
 case 0x32: stateKSM.n_speed-=100; break; // "2" down
 case 0x38: stateKSM.n_speed+=100; break; // "8" up
 case 0x74: stateKSM.transmit=1; break;     // "t"
 case 0x72: stateKSM.transmit=0; break;    // "r"
 case 0x34: stateKSM.napravl=0; break;   // %" left
 case 0x36: stateKSM.napravl=1; break;    // "6"  right
 default: break;
}
  }
};
int period (int vr)
{ int T=0;
 if (!vr) zero=1; // dividi overflow
 else
{
T=39062/vr;
zero=0;
}
return T;
};
void faza (char npr)
{
static char i=0;
if (npr) i+=1; //steep analiz napravlenia
else i-=1; // resteep
if (i›8) i=1; //Kolco
if (!i) i=8;
switch (i)
{
  case 1: FA; break;
  case 2: FA_B; break;
  case 3: FB; break;
  case 4: FB_C; break;
  case 5: FC; break;
  case 6: FC_D; break;
  case 7: FD; break;
  case 8: FD_A; break;
  default: break;
}
};

void main(void)
 {
  init();
  stateKSM.n_speed=0;
  stateKSM.accelerate=30;
  stateKSM.napravl=1;
  stateKSM.start_stop=1;
  stateKSM.pozition=0;
  stateKSM.steep=1000;
  stateKSM.razgon=1;
for (;;)
 {
if (timer0_0VF) //overfaw TIMERO
{ timer0_0VF=0;
if (Timeflag.A)
{ Timeflag.A=0;
 if (stateKSM.start_stop) // sfarf or stop
faza (stateKSM.napravl); //GENERAL FAZA (napravi)
if (stateKSM.pozition)
{ stateKSM.steep--;
 ansverKSM.gotov=0;
if (!stateKSM.steep)
{ stateKSM.start_stop=0;
ansverKSM.gotov=1;
}
}
}
if (Timeflag.B)
{ static int vc=0;
   Timeflag.B=0;
if (stateKSM.razgon)
{ if (!(vc==stateKSM.n_speed))
{ if (vc‹stateKSM.n_speed) vc=vc+stateKSM.accelerate;
else vc=vc-stateKSM.accelerate;
}
else ansverKSM.gotov=1;
}
else
{ vc=stateKSM.n_speed;
ansverKSM.gotov=1;
}
discret=period(vc); // vichislenie period iz speed
}
if (Timeflag.C)
{ Timeflag.C =0;
if (stateKSM.transmit) UART_TX(stateKSM.start_stop,stateKSM.pozition,stat  eKSM.razgon,stateKSM.transmit,0xFF); // inc++
comand_RX(); //stateKSM
}
}
}
}

#pragma vector=TIMER0_OVF0_vect

__interrupt void TIMER0_0VF0_interrupt (void) // Overflov TIMER 0
{
static unsigned int shetA=0;
static unsigned long int shetB=0;
static unsigned long int shetC=0;
timer0_0VF=1;
if (!(shetA--))
{ shetA=discret;
if (!(zero)) Timeflag.A=1; //'dividioverflov
};
if(!(shetB--))
{ shetB=COMPUT;
   Timeflag.B=1;
};
if (!(shetC--))
{ shetC=TIME_TRANSMIT;
Timeflag.C=1;
} }
не видит компилятор RXC, UDRE, RXEN, TXEN ... из файла io2313.h
я было експеремент поставил - вместо названия подставил значения из io2313.h компилица - но НЕХа нет
в чем можт быть дело, можт настройка какая-то,. и все же как получить НЕХ

Прикрепленный файл: 4791913.pdf
Реклама:
__________________
Що згорить - то не зігниє!

(c)ChiP
chipic128 вне форума  
Непрочитано 24.06.2007, 01:54  
mikle2000
Частый гость
 
Регистрация: 26.08.2006
Сообщений: 34
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
mikle2000 на пути к лучшему
По умолчанию Re: IAR-=>*.hex

Сообщение от chipic128
не видит компилятор RXC, UDRE, RXEN, TXEN ... из файла io2313.h
И не увидит. Нужно в опциях проекта разрешить использование битов регистров.
Poject-›Options-›General Options-› закладка System
выбрать пункт Enable bit definitions in I/O - Included files.

Сообщение от chipic128
компилица - но НЕХа нет
в чем можт быть дело, можт настройка какая-то,. и все же как получить НЕХ
По умолчанию никаких HEX-файлов нет и не будет. Насчет настроек Вы абсолютно правы. Есть такая.
Там же в опциях проекта выбрать Linker -› закладка Extra options, выбрать пункт Use command line options
и в окне вписать команды линковщика:

-OIntel-extended,(CODE)=$PROJ_DIR$ est.hex
-OIntel-extended,(XDATA)=$PROJ_DIR$ est.eex

Соответственно первая команда - Ваш Hex файл (Flash).
Вторая - прошивк EEPROM Вашего контроллера.

Прикрепленный файл: 4791913.pdf
mikle2000 вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
IAR EWEZ80 изчез с сайта IAR где взять? int4880053 Микроконтроллеры, АЦП, память и т.д 0 26.05.2009 20:03
Как в HEX-файл добавить кусок другого HEX-а? Don_Ambrosio Микроконтроллеры, АЦП, память и т.д 10 06.05.2008 08:48
может ли iar генерировать .cof и .hex файлы? zuuuuk Микроконтроллеры, АЦП, память и т.д 3 01.02.2007 23:16
IAR - hex ? sateless Микроконтроллеры, АЦП, память и т.д 2 31.10.2006 14:47
IAR C для i51 (IAR Embedded Workbench) List Микроконтроллеры, АЦП, память и т.д 2 01.12.2005 11:22


Часовой пояс GMT +4, время: 16:42.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot