[PIC] Débutant question sur "unsigned char"
Bonjour
J'utilise le compilateur C Microchip C18 pour PIC et je cherche stocker une chaine ascii appelée 'hour_event' dans une eeprom avec la fonction suivante :
Visiblement la fonction XEEWrite attend un unsigned char, cependant je 'hour event' est déclaré avec char, que dois je faire pour transformer
char hour_event[3]; en unsigned char ?
Actuellement le compilateur m'indique un Warning : suspicious pointer conversion ...
Est ce qu'un unsigned char c'est BYTE ? :oops:
Je vous remercie de votre aide,
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| /******************************************************************************
* Function: XEE_RESULT XEEWrite(unsigned char val)
* PreCondition: XEEInit() && XEEBeginWrite() are already called.
* Input: val - Byte to be written
* Output: XEE_SUCCESS
* Side Effects: None
* Overview: Adds a byte to the current page to be writen when
* XEEEndWrite() is called.
* Note: Page boundary cannot be exceeded or the byte
* to be written will be looped back to the
* beginning of the page.
******************************************************************************/
XEE_RESULT XE0Write(unsigned char val, unsigned char EEpromNumber)
{
*EEPROMBufferPtr++ = val;
if( EEPROMBufferPtr == EEPROMBuffer + EEPROM_BUFFER_SIZE )
{
DoWrite(EEpromNumber);
}
return XEE_SUCCESS;
} |
Mon code est le suivant :
Déclaration en tête de programme :
Code:
1 2 3
|
char hour_event[3];
char eeprom_hour[3] = {'-'}; |
Code:
1 2 3 4 5 6 7 8
|
XE2BeginWrite(EEPROM_CONTROL, 0x000000);
XE2Write(hour_event);
XE2EndWrite();
// Lit l'EEPROM n°2 à l'adresse location 0x000000 et copies le contenu dans un buffer appelé "eeprom_hour"
XE2ReadArray(0, 0x000000, eeprom_hour, 0x02);
eeprom_hour[3] = 0; // Ajoute un "0" en fin de chaine pour pouvoir utiliser la fonction httpgetvar |