-
不行,目标板要自己供电
-
也是,像你一样的新手不少,
-
不同人写的软件,显示的信息格式肯定是不一样的。但是如果你对USB Spec掌握的好的话,就没问题了。因为显示的内容应该是一样的,都是USB Bus上的东西。
-
编译完了以后除了nk.bin还有个stepldr和eboot,这两个先依次烧进去然后再烧nk。
我这个板子是这样的。
-
Cow~~
-
LZ,网上很多啊!找一下就可以找到很多的。
http://www.pudn.com/downloads94/sourcecode/others/detail372849.html
看你能不能下了!
-
1.在设备管理器中看看你的USB转串口的设备驱动起来没有。
2.如果驱动起来了,检查串口助手的COM口,波特率等等是否正确。
3.如果都正确,把你的串口线连到另一台的PC上看看能否接收到你发的数据。
这样就能知道是你的串口线有问题,还是目标板有问题。
-
请问怎么联系啊,现在正好要用这个,我的QQ78296246,电话13632787734,急用哦
在线等待中……
-
建议按键用外部中断,然后中断触发一个事件.
应用程序就查询这事件有没有发生就可以了.
楼主觉得这样做如何?
-
比特位错误,那是你最后的结果,你得测试进入232前的TTL电平的波形是否正确?然后再测试232输出的波形是否正确,这样一步一步测试,才知道真真的问题出现在那?不是你永远都找不到问题。表面上看出问题,很难。
-
引用 1 楼 sunrain_hjb 的回复:
你这个地址是哪里来的?必须在同一个进程里才能这么用。
否则,你必须根据物理地址重新映射一下再这么使用。
通过IOControl,从驱动中返回的。
那我试试重新映射一下。
-
传说pWnd的GetDC(); 和 ReleaseDC(pDC); 是有Bug的
可以考虑使用::GetDC() 和 ::ReleaseDC(pDC) 来代替它们
-
真诚求教:调试工具Control Panel在哪里可以下载的到,请大侠指点!
-
哈哈,又过了一天,终于把这个搞定了,现把我的经验分享一下;
下面为问题所在的程序
/*if(BCAN_SET_OBJECT0(0x11,0xff)) return 5;//设置ACR0和AMR0
if(BCAN_SET_OBJECT1(0x22,0xff)) return 5;//设置ACR1和AMR1
if(BCAN_SET_OBJECT2(0x33,0xff)) return 5;//设置ACR1和AMR1
if(BCAN_SET_OBJECT3(0x44,0xff)) return 5;//设置ACR1和AMR1
if(BCAN_QUIT_RETMODEL()) return 6; //退出复位模式,进入工作模式
if(BCAN_MODE_COMMUNATION(0x0c)) return 7;//设置自检测模式和单滤波模式
return 0;//初始化成功
}
每次运行初始化函数都返回5,说明ACR,AMR没有读写成功*/
为什么ACR,AMR,没有读写成功呢,请注意到一个问题,就是在初始化中把AMR设置为0xff,什么意思呢,就是从外部进入SJA1000的任何信息都可以接收,不用校验地址。而一上电,RXD0就会输入电平;另一个问题就是在PELI模式下,接收缓冲区地址是和ACR,AMR重复的(BASIC模式是不重复的,所以在BASIC模式下不会出现初始化问题)所以当AMR设置为0xff后,从RXD0进入SJA1000的信息就写入了接收缓冲区,这导致从ACR,AMR所在地址读出来的数据和写入的不一样,初始化失败。而且,在上电后我观察了RX信息计数器,发现一上电怎么会有几十条信息呢,而且数量是随机的,这也刚好印证了我前面的想法。于是我在初始化AMR时都改成了0x00,也就是要校验地址,一上电,初始化成功,终于解决问题了!!!!!!!
-
我也很想知道这个配置在哪配,一般感觉都是自动分配的
-
上面几位的回答感觉都有问题. 我觉得原因是因为LZ这个问题似乎有点问题.
软件工程讲的是软件的设计方法和思想, 看似简单,其实有很多学问
像最近很流行的敏捷开发,极限编程等思想,已经渗透到包括嵌入式软件在内的
很多领域.
举个例子,wince里的很多驱动程序的设计是分层的,MDD层是平台独立的,PDD是平台
相关的. 当我们做移植时, 只修改PDD部分的代码.这其实和敏捷里的一些思想(比如DIP)是一
致的.
-
呵呵,资料我没有;但是,我有建议。如果该开发板是公司买的,你可以用公司的名义跟他们技术支持协调,他们那儿什么资料都齐全,虽然有时态度很一般,但资料肯定是不会缺少的,嘿嘿…
-
你使用ST的CDC Demo中的VID、PID,如果不发生问题,一般可能ST不找你麻烦,但如果出现问题,比如你的客户投诉,则你将有大麻烦。
另外,如果大家都这样用,则你的客户有可能还有其它人使用同样ID的产品,这些产品就会发生冲突,造成不能工作或动作错误,这样你的麻烦也就大了。
建议还是自己去申请一个VID比较好,这可是你公司的形象问题呀。
-
引用 10 楼 loongdao777 的回复:
你用过驱动调试助手没有?里面为关于驱动卸载与激活呀。在相应注册表路径下,你可以把旧驱动卸载掉呀,然后你再把修必过的驱动复制掉windows目录下,再用调试助手在相应注册表路径下激活该驱动就是了
你对驱动调试助手挺熟悉的啊,^_^,楼主可以按照这个方法先试试看。一般情况下是可以的。这个只是调试的一种手段,如果需要每次开机时做这个事情,可以参考AAa_tnT的方法。
-
试过了,结果显示的都是00
引用 8 楼 galle 的回复:
引用 6 楼 cfanlwn 的回复:
单步调试 看到这uart_sendB(rdata);? 这个rdata是什么数据?
你把rdata负一个固定的值看看!例如0x30