本帖最后由 liwenz 于 2016-6-12 09:31 编辑
我在学用kl25z , 看例子工程都还不错,编译连接,调试都可以。
其中有个工具 make_new_project-sc_Keil, 也就是建立工程模板,感觉不错。
但我特想学习usb device 程序, 源代码也有,但我不知道怎么建立工程。
我用模板工具建立了一个usb_device ,然后添加 usb_main.c 到工程里, 当然还要添加其他的文件。
为了能编译, 我把很多相关其他文件都注释掉,可以编译成功。
然后我就取消如下2行的注释,可就不行了。当然我也添加include 路径。
#include "usb_cdc.h"
#include "usb_reg.h"
错误信息如下。 如果我把其他文件都加上,错误信息更多, 为了简化问题,我只是加这2行.
compiling usb_main.c...
......srccpuarm_cm0.h(19): error: #147-D: declaration is incompatible with "void NVIC_EnableIRQ(IRQn_Type)" (declared at line 626 of "C:KeilARMPACKARMCMSIS3.20.3CMSISIncludecore_cm0plus.h")
void enable_irq (int);
......srccpuarm_cm0.h(20): error: #147-D: declaration is incompatible with "void NVIC_DisableIRQ(IRQn_Type)" (declared at line 638 of "C:KeilARMPACKARMCMSIS3.20.3CMSISIncludecore_cm0plus.h")
void disable_irq (int);
kl25_sc_rev10 样例库,有cw ,iar ,keil 的工程文件, 我只会用keil , 其实如果用 iar 就有现成的usb_device. 不知道为什么keil 和 cw 没有这个工程目录, src 都是公用的。
如果你不能得到 kl25_sc_rev10 , 可以qq 联系我: 635477196 理文
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
不过我想到一个办法,因为他有twr-KL25Demo,这个里面好像有usb 的功能,我做减法,去掉一些不用的功能,就是我的结果了。
因为控制zip 的大小,去掉了建造工程的exe 文件。
我用keil 驱动是没问题的。
debug download 到kl25z 里, 安装驱动程序,为com7 , 用flashmagic 测试。
打入就回馈了,看上去程序运行正常。
http://www.61ic.com/Technology/embed/201505/52920.html
http://comm.chinaaet.com/adi/blogdetail/39877.html
从下面链接学习怎么安装iar的驱动
http://jingyan.eeboard.com/article/70099
按照链接的方法,做了一遍,却有点问题。
出现如下错误:
Error[Li005]: no definition for "USBD_ReqGetStatus" [referenced from D:kl25z
kl25_sc_rev10klxx-sc-baremetaluildiarplatinumFLASH_128KBObjusbd_core.o]
我就检查 usbd_core.c
inline BOOL USBD_ReqGetStatus (void) {
这不是明明为inline 函数吗 ? 怎么会 no definition
我就编译链接不了。
我把isr.h中
#undef VECTOR_040
#define VECTOR_040 USB0_IRQHandler
extern void USB0_IRQHandler(void);
这3行注释掉,编译链接下载都可以了,运行结果不对了。
因为本来要设置usb 中断的,却没有。
一周热门 更多>