Question sur le C sur MicroControleur ?
Salut à tous,
j'ai le message :
Code:
Warning[000] D:\Travail\DEV2004 PROJECT\Dev2004 asm\12864.c 101 : function declared implicit int
Quant j'utilise la petite fonction sscanf qui permet de passer d'une chaine de charactére à un entier comme le montre l'exemple dans la Faq C http://lfe.developpez.com/FAQ/C/?pag...RINGS_numtostr
j'ai fait un gros copier/coller dans mon code de l'exemple fournis par Developpez.com ! et j'ai ajouté en entête
Code:
1 2
| #include<string.h>
#include <stdio.h> |
pouvez vous me dire si cette fonction fonctionne sur micro controleur ou non ? j'utilise un PIC (compilateur HItech) pour les electronicien du forum !
au fait, ce n'est pas uniquement un warning car ensuite ça ne se compile plus !
Code:
1 2 3 4 5 6 7
| Error[000] C:\progra~1\HT-PIC\LIB\pic412-c.lib(sscanf.obj) 9 : signatures do not match: _sscanf (C:\progra~1\HT-PIC\LIB\pic412-c.lib: sscanf.obj): 0x1242/0x42
Error[000] : Can't find 0x17A words for psect rbss_0 in segment BANK0
Error[000] : Can't find 0xC words for psect temp in segment BANK0
Error[000] : Can't find 0x2 words (0x2 withtotal) for psect code_ptr in segment BANK0
Error[000] : undefined symbol:
Error[000] : _getche (C:\progra~1\HT-PIC\LIB\pic412-c.lib: cgets.obj)
BUILD FAILED: Wed Jun 02 10:06:57 2004 |
Re: Question sur le C sur MicroControleur ?
Citation:
Envoyé par altahir007
j'ai le message :
Code:
Warning[000] D:\Travail\DEV2004 PROJECT\Dev2004 asm\12864.c 101 : function declared implicit int
Quant j'utilise la petite fonction sscanf qui permet de passer d'une chaine de charactére à un entier comme le montre l'exemple dans la Faq C
Code:
1 2
| #include<string.h>
#include <stdio.h> |
pouvez vous me dire si cette fonction fonctionne sur micro controleur ou non ? j'utilise un PIC (compilateur HItech) pour les electronicien du forum !
Tu utilises ça http://www.htsoft.com/products/picccompiler.php ?
Ce compilateur prétend être ANSI C :
Citation:
Envoyé par HItech
Compiler
Features of the compiler include:
* ANSI C, full featured and portable, supporting all standard data types (IEEE floating point, long data types, etc...)
Il doit donc supporter sscanf() qui est une fonction standard. Mais, comme c'est une fonction lourde et compliquée (préférer strtol(), strtoul(), strtod()), elle n'est peut être pas accessible par défaut, et nécessite peut être l'activation quelques flags globaux. Ca devrait être expliqué en détails dans la doc.