Я новичок, пытаюсь опереться на PIC, скачал MPLAB и MPLAB X ide. Я делал это около 100 раз и достаточно просмотрел Интернет, прежде чем задать этот вопрос, но мой код не скомпилирован и всегда терпит неудачу. Вот что я сделал: -
Вот мой код
*> // IFIN.C Tests an input
#include " 16F877A.h "
void main()
{
int x; // Declare variable
output_D(0); // Clear all outputs
while(1) //
{
x = input(PIN_C0); // Get input state
if(x = = 1)output_high(PIN_D0); // Change output
}
}*
Но при компиляции кода я получаю ошибку при выполнении:
"C:\Program Files\PICC\Ccsc.exe" +FM "NEW.c" #_ DEBUG=1 +ICD +DF +LN +T +A +M +Z +Y=9 +EA # _16F877A=TRUE
* Ошибка 18 "NEW.c", строка 2 (10,23): файл не может быть открыт
Not in project "C:\Users\jatin\Desktop\DHAKKAN PIC\ 16F877A.h " Not in "C:\Program Files\PICC\devices\ 16F877A.h " Not in "C:\Program Files\PICC\drivers\ 16F877A.h "
* Ошибка 128 "NEW.c", строка 2 (10,17): перед этой строкой требуется #DEVICE
* Ошибка 12 "NEW.c" Строка 6(9,10): Неопределенный идентификатор -- output_D
* Ошибка 12 "NEW.c", строка 9(10,11): неопределенный идентификатор -- ввод
* Ошибка 51 "NEW.c", строка 10 (8,9): здесь должно быть числовое выражение.
5 Errors, 0 Warnings. Build Failed. Halting build on first failure as requested. BUILD FAILED: Mon Jul 08 15:09:17 2013
Я был бы признателен вам, если бы вы могли мне помочь.
Самая непосредственная проблема, которую я вижу, это следующая строка кода:
#include " 16F877A.h "
Вы должны удалить пробелы, потому что он пытается открыть файл, содержащий пробелы, поэтому вы получаете несколько ошибок, связанных с этим файлом. Хотя в целом дополнительные пробелы не имеют большого значения в коде C/C++ для любых литералов, заключенных в кавычки, они, безусловно, имеют значение.
Другая область, где вы не должны вставлять лишние пробелы, также находится между операторами, например, ==
поэтому пробел между этими двумя символами также должен быть удален из строки 10, поэтому это должно выглядеть так:
if(x == 1) output_high(PIN_D0); // Change output