阅读:1269回复:4
我是新手,做D12驱动碰到一些问题,诚恳请教
我现在也在做pdiusbd12的驱动
正在做固件 但是好几天都调试不通 这是一个嵌入式系统上的usb接口,用来和pc传数据,处理器是arm7 我参照的周立功的《pdiusbd12固件和驱动编程〉书上的固件进行编写的 也在网上下载了一些源码,基本相同。 但是编译出了一些问题 error都出在chap9.c上 主要问题如下: extern void code_transmit(unsigned char code * pRomData, unsigned short len); 这句报错,*前少了括号 code void (*StandardDeviceRequest[])(void)= 这句报错,好像是不认识code 我也不知道code在这些句子中的作用,请各位指教 还有一个问题,书上的例子是针对单片机的,如果要用在arm上不知道要改什么地方 另外大家如果有调试成功的代码能不能发给我参考一下 网上的那些我都试过了,都没有调通 万分感谢 |
|
沙发#
发布于:2004-09-09 13:24
C语言的问题啦,拿书出来看看吧
|
|
板凳#
发布于:2004-09-09 17:58
大哥,能说得详细些么
我在C里面好像确实没看过code这个东西啊 谢谢 |
|
地板#
发布于:2004-09-10 07:51
code是C51的C语言!!!它只能在C51的C语言的编译器下识别,别的编译器是不能识别的,因为它不是一个正规的写法!!它在C51系列的单片机里相当与一个查表的汇编指令!!
也是相当于:MOVC A,@A+DPTR 我的编译器也不能识别这个CODE ,所以像这样 code void (*StandardDeviceRequest[])(void)= {……} 就可以用标准的C语言的switch语句代替,然后后面用几个case语句就好了,因为在C语言当中,这样的语言就是一个查表的功能!!! 呵呵………………! 一开始我也遇到这样的问题,现在解决了!!也祝你好运吧!!! |
|
地下室#
发布于:2004-09-10 22:27
cahwlx1982大侠
我想问一下你是用什么编译的 我用的是armsdt,arm的一些东西比如端口应该和单片机的不一样吧,在哪个c文件中改呢。 我在zlg的书里面好像没看到端口数据的一些东西,但是下的别人 的代码里面有一个.h文件里面都是端口 不知道你的情况怎么样 我现在很迷茫,不知道怎么调试了,毫无头绪 你的固件程序能给我看看么,真是万分感谢 |
|