Модераторы: PILOT, ManiaK, Mazzi
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> что не правельно в процедуре? 
:(
    Опции темы
CROC
Дата 16.8.2006, 20:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 51
Регистрация: 16.10.2005
Где: Perm

Репутация: нет
Всего: нет



вот ошибки
Код

{
^
"test.c51",96  Warning[14]: Type specifier missing; assumed "int"

void doble_mode(char simv12, char simv34);
------------------------------------------^
"test.c51",95  Error[16]: Identifier expected

  char sim1,sim2,sim3,sim4;
-----------^
"test.c51",97  Warning[14]: Type specifier missing; assumed "int"
"test.c51",97  Error[112]: ',' unexpected

  char sim1,sim2,sim3,sim4;
--------------------------^
"test.c51",97  Error[109]: ';' unexpected

вот код
Код

/* описание регистров AT89C5131 */
#include "INC\i5131.h"
/* описание констант для доступа к регистрам */
#include "INC\ext_5131.h"
/* описание типов */
#include "types.h"
/* макросы для управления регистрами */
#include "reg_macr.h"
/* функции usb */
#include "usb_util.h"
/* описание USB дескрипторов */
#include "usb_enum.h"

#include "test.h"
#include "usb_func.h"


volatile int i;
char c;   
char h,m,s,ms;
char data_ex;
char data_save;
char cikl;
char Tskvajn;
bit transmit_complited=0;

void ldac()
{
P2_1=0;
P2_1=1;
}

void wait()
{
P2_1=1;
}

void clear()
{
SPDAT = 0x00; wait();
SPDAT = 0x00; wait();
SPDAT = 0x00; wait();
SPDAT = 0x00; wait();
ldac();
}

void set()
{
SPDAT = 0x5B; wait();
SPDAT = 0x06; wait();
SPDAT = 0x66; wait();
SPDAT = 0x6F; wait();
ldac();
}


void clock()
{
  ms++;
  if (ms==100)
    {
      ms=0;
      s++;
      if (s==100)
        {
          s=0;
      m++;
          if (m==60)
            {
          m=0;
           h++;
          if (h==24) h=0;
        }
        }
    }
}

void spi_go(char digit)
{
  switch (digit)
    {
      case 0: SPDAT = 0x3F; break;
      case 1: SPDAT = 0x06; break;
      case 2: SPDAT = 0x5B; break;
      case 3: SPDAT = 0x4F; break;
      case 4: SPDAT = 0x66; break;
      case 5: SPDAT = 0x6D; break;
      case 6: SPDAT = 0x7D; break;
      case 7: SPDAT = 0x07; break;
      case 8: SPDAT = 0x7F; break;
      case 9: SPDAT = 0x6F; break;
    }
} /*spi_go*/

void doble_mode(char simv12, char simv34);
{
  char sim1,sim2,sim3,sim4;
  sim1= simv12/10;
  sim2= simv12%10;
  sim3= simv34/10;
  sim4= simv34%10;
  show(sim1,sim2,sim3,sim4);
}

void show(char simv1, char simv2, char simv3, char simv4)
{
  spi_go (simv1);
  spi_go (simv2);
  spi_go (simv3);
  spi_go (simv4);
  ldac();
}
void spi_install()
{
/*############## Настройка SPI ###########*/

P0_0 = 1;  /*LDAC*/
P0_1 = 1;  /*LADC*/

P1_1 = 1;  /*разрешение master*/

/*=============== 1101 1110 ===============*/
SPCON = 0x00;  /*сброс режимов spi*/

SPCON |= 0x10; /*---1 ----  ---1 ---- режим (1=мастер/0=слейв)*/  
SPCON |= 0x01; /*1--- --1-  1--1 --1- частота spi (11=128)*/
SPCON |= 0x08; /*---- 1---  1--1 1-1- полярность (1=)*/
SPCON |= 0x04; /*---- -1--  1--1 111- фронт (1=)*/
IEN1 |= 0x04; /*разрешить прерывание spi*/
SPCON |= 0x40; /*-1-- ----  11-1 111- запуск spi (1=start)*/
}

void timer_install()
{
/*############# настройка таймера #########*/
ET0 = 1; /*разрешение прерывания от таймера*/
ET1 = 1;
TMOD = 0x00; /*сброс всех режимов T/C*/

/*=========== 1-й таймер =========*/
TMOD |= 0x01; /*режим 16 разр таймер*/
TMOD &= 0x02; 
TMOD &= 0x04; /*Синхронизироваться от внутреннего генератора (0=внутр)*/
TMOD &= 0x08; /*запретить запуск таймера с прерывания (0=запрет)*/

/*=========== 2-й таймер =========*/
TMOD &= 0x10; /**/
TMOD &= 0x20; 
TMOD &= 0x40; /*Синхронизироваться от внутреннего генератора (0=внутр)*/
TMOD &= 0x80; /*запретить запуск таймера с прерывания (0=запрет)*/

TH0 = 0x00;
TL0 = 0x00;
}

void usb_install()
{
 /* выполнить инициализацию USB */
 usb_init();
 /* устройство подключено к шине */
 usb_connected = FALSE;
}

void interrupt_install()
{
/* срабатывание перывания по фронту 1-0 */
IT1 = 1;
/* разрешение внешнего прерывания */
EX0 = 0;
EX1 = 0;
/* снятие блокировки прерываний */
EA = 1; /*разрешение прерываний*/
}


/* ================================= */
/* MAIN - основная функция программы */
/* ================================= */
void main()
{

usb_install();
interrupt_install();
spi_install();
timer_install();

LED0=0;
LED1=0;
LED2=0;
LED3=0;

i=0;
j=0;
Tskvajn=0;

TR0=1; 


 /* основной цикл программы */
while(1) 
   {
    } /*END WHILE*/
}

interrupt void timer0_int()
{
TH0 = 0xFF;
TL0 = 0xFF; TR0=1;
TR0=1; /*timer0 run*/



if (i==1) clear();

i++;
c++;

if (c=227) {clock(); c=0;}

if (i==512)
  {
    doble_mode(s,ms);
    i=0;
  }

}



PM MAIL ICQ   Вверх
PILOT
Дата 17.8.2006, 19:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


производство
****


Профиль
Группа: Модератор
Сообщений: 2724
Регистрация: 4.4.2002
Где: москва

Репутация: 20
Всего: 54



В 95 строке не нужна точка с запятой...

СУВ.


--------------------
тут могла быть Ваша реклама...
PM MAIL WWW ICQ   Вверх
CROC
Дата 17.8.2006, 21:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 51
Регистрация: 16.10.2005
Где: Perm

Репутация: нет
Всего: нет



спасибо!
я ослеп smile

Добавлено @ 21:34 
а что это?
Код

{
^
"test.c51",106  Error[92]: Prototype appeared after reference

и где можно взять расшифрофки кодов ошибок
PM MAIL ICQ   Вверх
PILOT
Дата 17.8.2006, 23:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


производство
****


Профиль
Группа: Модератор
Сообщений: 2724
Регистрация: 4.4.2002
Где: москва

Репутация: 20
Всего: 54



из исходника... :\

СУВ.


--------------------
тут могла быть Ваша реклама...
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Микроконтроллеры (MCU) и микропроцессоры (MPU)"
PILOT ManiaK
UniBomb Mazzi

На данный раздел помимо Правил форума распространяются текже следующие правила:


  • Прежде чем создать тему воспользуйтесь поиском или посмотрите в faq. Возможно на форуме уже есть ответ на ваш или близкий к вашему вопрос.
  • В заголовке темы в квадратных скобках обозначьте используемое семейство микроконтроллера: [avr],[pic],[arm].
  • При создании темы с вопросом указывайте участок кода с ошибкой, версию компилятора, схемы подключения, fuse биты и прочие данные, которые помогут найти правильный ответ. Для форматирования текста программ используйте кнопку код.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Для флуда, просьб выполнить задание, поиска партнёров или исполнителей существуют свои разделы.
  • Если вы заметили несовместимое с правилами сообщение, то можете уведомить об этом модератора раздела нажав кнопку Репорт у соответствующего сообщения.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, PILOT, ManiaK, UniBomb, Mazzi.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Микроконтроллеры (MCU) и микропроцессоры (MPU) | Следующая тема »


 




[ Время генерации скрипта: 0.0808 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.