begin process at 2012 05 29 08:18:50
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Système

 > 

Autre

 > 

Erreur de Compilateur Keil C51, conversion illegal en C


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Erreur de Compilateur Keil C51, conversion illegal en C

dimanche 18 mars 2007 à 13:46:37 | Erreur de Compilateur Keil C51, conversion illegal en C

develdelphi


Bonjour,

J'utilise le compilateur KEIL C51 µVISION2 pour programmer en C
mon microcontrolleur et j'ai une erreur à la compilation qui est liée à
ma programmation car j'ai intégrer une libaririe dans mon code existant et
c'est pas tjs facile.
 
L'erreur que je reçois c'est celle-ci :

Error C193 : '==' : illegal type conversion from/to 'void'

j'ai essayé de faire des includes etc.. mais rien la fonction est celle ci :

void mem_task (void)
{
Byte state;

  switch (mem_state)
  {
    case MEM_INIT:
    {
   #if MEM_CHIP_TYPE != CHIP_NONE /*if chip defined*/
     if (Hard_chip_init() == OK)/* if init chip OK*/
     {
      mem_state = MEM_CHIP_INIT; /*install chip*/
     }
   #if MEM_CARD_TYPE != CARD_NONE /*if card defined*/
    if (Hard_card_init() == KO) //ERROR: C193
     {
      if (mem_state == MEM_INIT)/*if init fail*/
       {
          print_screen(FATAL_CHIP_SCREEN);/*error*/
          while(1);


Le résultat de ma compilation est celle-ci :













Build target 'Target 1'
compiling main.c...
compiling I2C.c...
compiling ADC.c...
compiling AUD.c...
compiling DAC.c...
compiling MICRO2.c...
compiling DONG2.c...
assembling STARTUP.A51...
compiling variable.c...
compiling ide_drv.c...
compiling C_Flash.c...
compiling CF_oper.c...
modules\file\fat.h(16): warning C322: unknown identifier
modules\file\fat.h(16): warning C322: unknown identifier
modules\file\fat.h(16): warning C322: unknown identifier
modules\file\fat.h(16): warning C322: unknown identifier
modules\file\fat.h(16): warning C322: unknown identifier
modules\file\fat.h(16): warning C322: unknown identifier
modules\file\fat.h(16): warning C322: unknown identifier
modules\file\fat.h(16): warning C322: unknown identifier
modules\file\fat.h(19): warning C322: unknown identifier
modules\file\fat.h(19): warning C322: unknown identifier
modules\file\fat.h(19): warning C322: unknown identifier
modules\file\fat.h(19): warning C322: unknown identifier
modules\file\fat.h(19): warning C322: unknown identifier
modules\file\fat.h(19): warning C322: unknown identifier
modules\file\fat.h(19): warning C322: unknown identifier
modules\file\fat.h(19): warning C322: unknown identifier
CF_oper.c(189): warning C307: macro 'fat_install': parameter count mismatch
CF_oper.c(240): warning C307: macro 'fat1216_save_cluster_info': parameter count mismatch
CF_oper.c(241): warning C307: macro 'fat1216_feob': parameter count mismatch
compiling cf_drv_.c...
compiling ata.c...
compiling file.c...
modules\file\file.c(184): warning C316: unterminated conditionals
compiling fs_variable.c...
compiling fat.c...
modules\file\fat.c(3790): warning C316: unterminated conditionals
compiling song_task.c...
compiling mem_task.c...
MODULES\MEM\MEM_TASK.C(123): error C193: '==': illegal type conversion from/to 'void'
Target not created

































Pouvez vous m'aider s'agit il d'une définition manquante, d'un include ou lié à
un probleme précédent?

Merci





dimanche 18 mars 2007 à 13:51:17 | Re : Erreur de Compilateur Keil C51, conversion illegal en C

develdelphi

Désolé,

 

Ma fonction est celle ci:

oid mem_task (void)
{
Byte state;

  switch (mem_state)
  {
    case MEM_INIT:
    {
      #if MEM_CHIP_TYPE != CHIP_NONE          /* if chip defined */
        if (Hard_chip_init() == OK)           /* if init chip OK */
        {
          mem_state = MEM_CHIP_INIT;          /* install chip */
        }
        #if MEM_CARD_TYPE != CARD_NONE        /* if card defined */
          if (Hard_card_init() == KO)         /* init card */  ERROR C193
          {
            if (mem_state == MEM_INIT)          /* if chip and card init failed */
            {
              print_screen(FATAL_CHIP_SCREEN);    /* fatal error */
              while(1);
            }
          }

le KO et la fonction Hard_card_init() sont pourtant definis.

Merci

 

 



DevelDelphi :)

dimanche 18 mars 2007 à 16:35:47 | Re : Erreur de Compilateur Keil C51, conversion illegal en C

juju12

et c'est quoi justement les définitions de KO et Hard_card_init()?
Parce que on dirait d'après l'erreur qu'il y en a un de type void (genre Hard_card_init).
dimanche 6 mai 2007 à 11:16:11 | Re : Erreur de Compilateur Keil C51, conversion illegal en C

emmatopiak

Salut,

Y'a certainement une des fonctions du genre HardCardInit qui renvoie void et que donc il peut pas le comparer avec KO ou OK

Et que pour savoir ça tu devrais charger les fichiers de la librairie, certainement dans ses modules (peut-être le fat.h)
ou tu peux compiler avec certaines options pour voir uniquement le préprocessing (notamment l'inclusion des .h) et de là tu verras les prototypes que tu veux
mais je sais plus quelle option de gcc c'est.
===

Une autruche ne se cuit pas aux petits lardons.


Cette discussion est classée dans : file, warning, unknown, fat, c322


Répondre à ce message

Sujets en rapport avec ce message

Warning ! [ par victorcoasne ] Bonjour,Je compile un prog et il me dit: <span style="font GdkPixbuf [ par Tubaron ] Bonjour, J'ai un petit probleme. J'ai compilé une application avec GTK+ 2.0 et DEV-CPP sous windows, ca compile tres bien quand je l execute d'apres l PB avec system [ par enrageur ] Je programme sous Visual C++ 6. Le programme fait une sauvegarde de donnees que je compresse avec arj. Pour cela j'utilise la commande system. Quand j Warning sous linux 10.1 --> comprend rien [ par Marceleeuuh ] hello tout le monde. une petite question en ce qui concerne un warning que j'ai eu sous Linux 10.1. j'ai fait un petit programme tout bete pour calcul Warning bizarre [ par vecchio56 ] Salut Je ne sais pas si c'est moi qui délires, mais je ne comprends pas pourquoi le code suivant génère un warning variable "locale 'd' utilisée sans [C++]Copie de masse de tout ce qu'il y a dan sun dossier [ par alexou09 ] Bonjour a tous! J'ai fait un programme permettant de copier un fichier. J'aimerai l'ameliorer de fasson a ce qu'il detecte tout les fichier d'un dossi mon exécutable ne s'exécute qu'à travaire mon compilateur [ par hrp ] Hello,j'utilise Borland C++ Builder 6 et mon application ne s'exécute que via le compilateur (Commande exécuter de Builder). Si je le lance via douvle Problème avec traitement de fichier (cplusplus !) [ par Sianrin ] Voila, j'explique mon problème. Pour voir un peu comment les accès au fichiers se géraient en cplusplus, je me suis mis en tête de faire un programme prob de compilation [ par jacky66 ] salutje debute dans la prog c++pour mon 1 er prog quand je compile il me sort un message fatal error C1083: Cannot open include file: 'idoctidm.h': No Pb avec une fonction windows... [ par Steak ] j'ai un petit probleme avec la fonction NT UpdateResource... voila ce que dit le sdk win32 : BOOL UpdateResource( HANDLE hUpdate, // update-file handl


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,530 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales