2015-09-04 2 views
0

Im работает над микроконтроллером PIC24f, записывая код C для протокола связи. Я сталкиваюсь с ошибкой в ​​функции Reade2PW. Я думал, что uint16_t дает проблему, поэтому я изменил «uint16_t» на «int16» & «int16_t» и скомпилирован, но проблема все еще остается той же. Если она дает ту же ошибку. Мой MPLAB с использованием компилятора XC16 . Я читаю руководство пользователя XC16, он может поддерживать uint16_t и int16_t. Вот скринзлик из руководства пользователя XC16.Ошибка C: expected '=', ',', ';',

enter image description here

Как решить эту проблему? Ваши ценные предложения будут высоко оценены.

Благодаря

#include<stdio.h> 
#include <stdint.h> 

int main(void) 
    { 
     .. 
     .. 
     return 0; 
    } 

unsigned uint16_t Reade2PW(unsigned uint16_t rde2pw) //Error here 
     { 
      unsigned uint16_t EEPVal; 
      unsigned char i, *Ptr; 
      .... 
     } 
void SaveE2PW(unsigned uint16_t rde2pw, unsigned uint16_t Cx)//Error here 
     {  
      unsigned char i, *Ptr; 
      .. 
     } 

Ошибка Описание:

error: expected '=', ',', ';', 'asm' or '__attribute__' before 'Reade2PW' 
error: expected ';', ',' or ')' before 'rde2pw' 
+1

'unsigned uint16_t' ->' uint16_t' – BLUEPIXY

ответ

3

У вас есть повторяющиеся спецификаторов типа в обоих ваших функций:

unsigned uint16_t Reade2PW(unsigned uint16_t rde2pw) //Error here 
^^duplicate types here  ^^ and here 

Удалить один. uint16_t уже без знака (поэтому префикс u). Так что просто удалите unsigned из них:

uint16_t Reade2PW(uint16_t rde2pw) 
     { 
      uint16_t EEPVal; 
      // .... 
     } 
Смежные вопросы