-
顶起来一下,希望高手们能看下。
-
I2C的时序很麻烦,建议先找一个成功的例子来写。下面是一个在AVR单片机下使用I2C驱动AT24C02的例子:
http://www.iccavr.com/bbs/dispbbs.asp?boardid=9&Id=604
-
要是51的话就不能被直接赋值,个人这样理解:若赋值相当于间接给 P2^X赋值 51里不允许 需要用sbit重新声明一下。 仅供参考
-
一般不访问硬件的程序,不用关心底层到底访问到哪里的物理地址,因为你的任何变量,函数撒的都是在访问DDR中的一块内存,你没必要去关心。就如malloc,它就分配一段内存而已,它分配第几块,不会影响你的程序。
而如果你要访问确定的物理地址,比如寄存器,你必须做虚拟地址的映射,操作系统只认虚拟地址,g_oalAddressTable是给MMU用的。
比如DCD 0x80000000, 0x50000000, 128 ; 128 MB DRAM
根据这些项,当程序遇到一个地址是0x80000000~0x90000000 时,mmu知道你访问的是DRAM,就映射到对应的物理地址,而你没必要关心这一段,因为你不需要非得用Dram中的哪一段保存你的数据。
而其他项,你就需要按照映射表操作了。偏一点,就访问的其他寄存器。
“这种转换的意义又何在呢?”
操作系统只认虚拟地址,不同的芯片它内部的地址空间不同,你需要把对应的地址空间整合进2GB的kernel地址空间中去。如果直接访问物理地址(比如0x50000000),就会出错,因为wince6中0x80000000以下的是用户程序空间(在物理上这实际上DDR中的一段)。
-
mark,我现在usb device的驱动的dll,都加载不了,不知道为什么?问一下楼主,你的mdd层导出的流接口函数是自己写的么,还是用微软的?
-
电路板电源没有问题吧 ?还有就是检测一下焊接有没有问题,单片机没那么容易坏的如果电路没有问题
-
不知道你的问题解决了没,我也遇到了同样的问题
-
电脑城有SATA to USB2.0卖,搞一个就可以啦。
-
引用 2 楼 gooogleman 的回复:
HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\TOUCH]
? "CalibrationData"="513,522 151,167 160,859 880,863 879,167 "
注册表远程读出如上,复制到platform.reg代替老的,
然后复制platform.reg到工程目录下,呵呵。打包即可,
要做好就要实现hive注册表。呵呵,以后校准一次即可。
将板与电脑通过USB相连,PB打开,板子的触摸屏要先调好,然后通过里面的菜单可以看到休整后的值是多少,更改重新编译即可
-
亢奋中!!!!!!!
-
以前protel,现在orcad+pads
-
感觉和usb Function程序有关系!不知道错在哪里了??
-
引用 12 楼 thr708285 的回复:
教楼主一个办法,在系统启动的时候进行一次触摸屏校准,然后连接ACTIVESYNC,通过VS2005的注册表查看工具,找到相应的键值,里面的值就是你想要的值了,再将里面相应的数组放到你的注册表中,以后编出来的内核不用校准基本就可以用了
这样是可以的,我平时也是这样用的
-
顶顶
-
wince6 中OAL已经发生了变化,不再是 oal.lib与nk.lib静态编译成kernel.exe..
或者换句话说 WinCE6 中应该不存在nk.lib了。
-
没弄过,帮顶
-
M8最大的特点就是自己换了一套shell,你要做这个么?
-
焊起来试下看
-
WinCE刚刚接触,这个我也不是很清楚,只是在一个网站上看见的,那个楼主说他实现啦。
gcc是什么?
-
帮顶一下。