Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: ТРУДНОСТИ С CDC USB
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Все остальные микроконтроллеры > PIC
alexander23
ПРИ ПОПЫТКЕ КОМПИЛЯЦИИ СТАНДАРТНОГО НАБОРА ВЫХОДИТ ОШИБКА:
СООБЩАЕТСЯ,ЧТО В СТРУКТУРЕ SetupPkt отсутствуют члены Recipient и др,но файлы-то,содержащие опрделение setuppkt и др включены в проект!
Что делать?
Rius
ошибок про недоступность include файлов не выдается?
alexander23
Я плохо понимаю С ,хочу разобраться и всё-же подскажите,если можете
вот диагностика
Clean: Deleting intermediary and output files.
Clean: Done.
Executing:
"C:\MCC18\bin\mcc18.exe" -p=18F2550 /i"C:\Documents and Settings\ \ \PROJECT\
usbhelps\prj_02\prj_02\RESDIR" "cdc.c" -fo="C:\RESDIR\cdc.o" -Ou- -Ot- -Ob- -Op- -Or- -Od- -Opa-
MPLAB
C18 v3.00 (feature limited)
Copyright 1999-2005 Microchip Technology Inc.
This version of MPLAB C18
does not support the extended mode
and will not perform all optimizations. To purchase a full
copy
of MPLAB C18, please contact your local distributor
or
visit buy.microchip.com.

C:\RESDIR\cdc.c:93:Error [1205] unknown member
'Recipient' in '_CTRL_TRF_SETUP'
C:\RESDIR\cdc.c:93:Error [1128] compatible scalar
operands required for comparison
C:\RESDIR\cdc.c:93:Error [1122] scalar operand expected
for '!' operator
C:\RESDIR\cdc.c:93:Error [1117] scalar type expected in 'if'
statement
C:\RESDIR\cdc.c:98:Error [1205] unknown member
'RequestType' in '_CTRL_TRF_SETUP'
C:\RESDIR\cdc.c:98:Error [1128]
compatible scalar operands required for comparison
C:\RESDIR\cdc.c:98:
Error [1122] scalar operand expected for '!' operator
C:\RESDIR\cdc.c:98:
Error [1117] scalar type expected in 'if' statement
C:\RESDIR\cdc.c:104:
Error [1205] unknown member 'bIntfID' in '_CTRL_TRF_SETUP'
C:\RESDIR\cdc.c:104:
Error [1128] compatible scalar operands required for comparison
C:\RESDIR\cdc.c:104:
Error [1122] scalar operand expected for '!' operator
C:\RESDIR\cdc.c:105:Error [1205]
unknown member 'bIntfID' in '_CTRL_TRF_SETUP'
C:\RESDIR\cdc.c:105:Error [1128]
compatible scalar operands required for comparison
C:\RESDIR\cdc.c:105:Error [1122]
scalar operand expected for '!' operator
C:\RESDIR\cdc.c:105:Error [1124] scalar
operands expected for '&&' operator
C:\RESDIR\cdc.c:105:Error [1117] scalar type
expected in 'if' statement
C:\RESDIR\cdc.c:107:Error [1205] unknown member
'bRequest' in '_CTRL_TRF_SETUP'
C:\RESDIR\cdc.c:107:Error [1112]
integer type expected in switch control expression
C:\RESDIR\cdc.c:138
:Error [1205] unknown member 'W_Value' in '_CTRL_TRF_SETUP'

C:\RESDIR\cdc.c:138:Error [1205] unknown member
'v' in '_CTRL_TRF_SETUP'
C:\RESDIR\cdc.c:138
:Error [1129] [] operator requires a pointer and an
integer as operands
C:\RESDIR\cdc.c:138:Error [1131]
type mismatch in assignment
C:\RESDIR\cdc.c:172:Error [1205]
unknown member 'dwDTERate' in '_LINE_CODING'
C:\RESDIR\cdc.c:172:
Error [1205] unknown member '_dword' in '_LINE_CODING'
C:\RESDIR\cdc.c:172:
Error [1131] type mismatch in assignment
Halting build on first failure as requested.

BUILD FAILED: Tue May 08 13:26:55 2007

И ВОТ МЕСТО ПЕРВОЙ ОШИБКИ

void USBCheckCDCRequest(void)
{
/*
* If request recipient is not an interface then return
*/
if(SetupPkt.Recipient != RCPT_INTF) return;<-----первое место ,где встаёт указатель ошибки

/*
* If request type is not class-specific then return
*/
if(SetupPkt.RequestType != CLASS) return;
DL36
Цитата(alexander23 @ May 8 2007, 13:28) *
Я плохо понимаю С ,хочу разобраться и всё-же подскажите,если можете
вот диагностика

Error [1205] unknown member '_dword' in '_LINE_CODING'
C:\RESDIR\cdc.c:172:
Error [1131] type mismatch in assignment
Halting build on first failure as requested.

BUILD FAILED: Tue May 08 13:26:55 2007

И ВОТ МЕСТО ПЕРВОЙ ОШИБКИ

void USBCheckCDCRequest(void)
{
/*
* If request recipient is not an interface then return
*/
if(SetupPkt.Recipient != RCPT_INTF) return;<-----первое место ,где встаёт указатель ошибки

/*
* If request type is not class-specific then return
*/
if(SetupPkt.RequestType != CLASS) return;

Таким образом сказать ничего нельзя, присоединяйте весь проект. Может кто и поможет.
По этой строчке можно сказать, что компилятор не находит RCPT_INTF.
AndrV
"This version of MPLAB C18
does not support the extended mode
and will not perform all optimizations. To purchase a full
copy
of MPLAB C18, please contact your local distributor
or
visit buy.microchip.com."

типа, этот вариант MPLAB C18 не поддерживает режим и не выполнит оптимизацию, далее, купите полную версию C18 smile.gif
volodya
Цитата(alexander23 @ May 8 2007, 13:28) *
Я плохо понимаю С ,хочу разобраться и всё-же подскажите,если можете
вот диагностика
Clean: Deleting intermediary and output files.
Clean: Done.


C:\RESDIR\cdc.c:93:Error [1205] unknown member
'Recipient' in '_CTRL_TRF_SETUP'


И ВОТ МЕСТО ПЕРВОЙ ОШИБКИ

void USBCheckCDCRequest(void)
{
/*
* If request recipient is not an interface then return
*/
if(SetupPkt.Recipient != RCPT_INTF) return;<-----первое место ,где встаёт указатель ошибки

/*
* If request type is not class-specific then return
*/
if(SetupPkt.RequestType != CLASS) return;


Компилятор ругается - Recipient не объявлен в шаблоне _CTRL_TRF_SETUP
Либо ошибка с объявлении структуры? => найти само объявление структуры SetupPkt и проверить...
Можно смотреть сам шаблон _CTRL_TRF_SETUP...
Либо необходимо проверить соответствие регистров в написании. С(С18 тожзе) отличает одинак имена с разн регистрами.
Epikur
В CDC проекте нельзя менять структуру расположения файлов:
Файл cdc.c должен находиться в папке "\%PROJECT_DIRECTORY%\system\usb\class\cdc"
Для того, чтобы получить доступ ко всем объявленным функциям необходимо включить в проекте
#include "system\usb\usb.h"
Папка, в которой находятся файлы для CDC проекта, должна быть обозначена в сеции "Include Search Folder" (или как оно там называется).
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.