-
晶振下尽量少走线,要覆铜防干扰
-
端口配置的2M、10M、50M选项表示端口的带宽设置。
-
能不能控制 NAK,ACK得看你的USB控制器是如何做的。好好看控制器的Spec吧。或者,告诉大家你用得是哪家的USB控制器。
-
有前途……
-
如果是向wince6.0装驱动的话,可以尝试这样做,把DLL放在release目录下,加入修改bib和reg文件,make一下。不知道那个inf里面写的什么?
-
keil C下面设置好芯片型号和晶振频率,调试模式下设断后单步执行
利用边上调试信息中显示的执行到当前指令所用的时间,很容易就看出来每条指令所用的时间了
-
应该是
general purpose input/output
也就是说你可以把这些引脚拿来用作任何一般用途的输入输出,例如用一根引脚连到led的一极来控制它的亮灭,也可以用一根(一些)引脚连到一个传感器上以获得该传感器的状态,这给cpu提供了一个方便的控制周边设备的途经。如果没有足够多的gpio管脚,在控制一些外围设备时就会力有不逮,这时可采取的方案是使用CPLD来帮助管理。
-
还是不行,刚才看了下 我在SetCommState之后,再GetCommState发现dcd的值有恢复了!
-
当正常工作的时候,单独的板子是正常的。当上电的瞬间,系统需要的电流比较大,这样有可能把电压拉下来,造成某个板子复位不正常,不工作。当外部接入仿真器时,会给接入仿真器的电路板复位,这样,系统就相当于用了3个小板子工作,然后再启动另一个电路板子。最好还是给芯片供电的部分做到电路板上,像11楼说的,加一些电解电容,让外部的波动对本系统尽量影响小。改进后系统稳定性会好些。
-
DriverEntry 执行一遍
MiniportInitialize 执行两遍
是不是,驱动被加载了两次,一次是以DriverEntry 为入口加载的, 另外一次不知道是那个加载的!!
-
引用楼主 juliet668 的回复:
JLINK V8用户手册中文版pdf
点击此处下载JLINK V8用户手册中文版.pdf (文件大小:4925K)[br]
谢谢楼主分享下,
MARK 、 、 、
-
24V转5V,的确压差太大,
试试采用DCDC 怎么样?
-
当然可以,不能编译通过是你的代码写的有问题。
-
j-link,淘宝上搜一下。
-
引用 15 楼 jiereliyi 的回复:
当然可以,不过估计楼主要买两个了,一个usb转串口,一个USB转lpt
一个USB转lpt
lpt是什么接口?
-
wince5模拟器可以使用SQL,当时我们测试的时候用的是SQLCe2.0,在evc上编程操作的和直接操作设备基本一样。
-
/****************************************void timer1()********************************
T1中断服务子程序,每20ms中断一次,ssji加1,根据公式S=tc*qs和V=tc/ssj计算累计里程和
******************************************************************************************/
void timer1() interrupt 3
{
ssji++;
TH1=0xb1;
TL1=0xdf;
}
/****************************************void lcp()********************************
累计里程数据处理和显示子程序,若999m则单位为km
******************************************************************************************/
void lcp()
{
qsls=100000/tc;
if(qs>qsls){
sww=qs*tc/10000000;
ww=qs*tc%10000000/1000000;
qw=qs*tc%1000000/100000;
bw=qs*tc%10000000/10000;
sw=qs*tc%10000/1000;
wrcom(0x81);
dispone('S');
dispone(' ');
dispone(' ');
dispone(' ');
dispone(' ');
dispone(sww+0x30);
dispone(ww+0x30);
dispone(qw+0x30);
dispone('.');
dispone(bw+0x30);
dispone(sw+0x30);
dispone(' ');
dispone('k');
dispone('m');
}
else{
qw=qs*tc%100000/10000;
bw=qs*tc%10000/1000;
sw=qs*tc%1000/100;
gw=qs*tc%100/10;
wrcom(0x81);
dispone('S');
dispone(' ');
dispone(' ');
dispone(' ');
dispone(' ');
dispone(' ');
dispone(' ');
dispone(qw+0x30);
dispone(bw+0x30);
dispone(sw+0x30);
dispone('.');
dispone(gw+0x30);
dispone(' ');
dispone('m');
}
}
/****************************************void pjsdp()********************************
平均速度数据处理及显示子程序
******************************************************************************************/
void pjsdp()
{
pjsd=qs*tc*36/sj;
qw=pjsd%100000/10000;
bw=pjsd%10000/1000;
sw=pjsd%1000/100;
gw=pjsd%100/10;
wrcom(0x82);
dispone('V');
dispone('a');
dispone(' ');
dispone(' ');
dispone(qw+0x30);
dispone(bw+0x30);
dispone('.');
dispone(sw+0x30);
dispone(gw+0x30);
dispone(' ');
dispone('k');
dispone('m');
dispone('/');
dispone('h');
}
/****************************************void sdp()********************************
当前速度数据处理及显示子程序
******************************************************************************************/
void sdp()
{
if(sji!=0)
sd2=tc*1800/sji;
else sd2=0;
qw=sd2%100000/10000;
bw=sd2%10000/1000;
sw=sd2%1000/100;
gw=sd2%100/10;
wrcom(0x82);
dispone('V');
dispone(' ');
dispone(' ');
dispone(' ');
dispone(qw+0x30);
dispone(bw+0x30);
dispone('.');
dispone(sw+0x30);
dispone(gw+0x30);
dispone(' ');
dispone('k');
dispone('m');
dispone('/');
dispone('h');
}
/****************************************void mxsdp()********************************
最大速度数据处理及显示子程序
******************************************************************************************/
void mxsdp()
{
if(mxsd!=0)
mxsd2=tc*1800/mxsd;
else mxsd2=0;
qw=mxsd2%100000/10000;
bw=mxsd2%10000/1000;
sw=mxsd2%1000/100;
gw=mxsd2%100/10;
wrcom(0xc2);
dispone('V');
dispone('m');
dispone(' ');
dispone(' ');
dispone(qw+0x30);
dispone(bw+0x30);
dispone('.');
dispone(sw+0x30);
dispone(gw+0x30);
dispone(' ');
dispone('k');
dispone('m');
dispone('/');
dispone('h');
}
/****************************************void clkp()********************************
当前时间(时钟)数据处理及显示子程序
******************************************************************************************/
void clkp()
{
wrcom(0xc4);
dispone(csww+0x30);
dispone(cww+0x30);
dispone(':');
dispone(cqw+0x30);
dispone(cbw+0x30);
dispone(':');
dispone(csw+0x30);
dispone(cgw+0x30);
}
/****************************************void apfz()********************************
加速度数据处理及显示子程序 辅助程序
******************************************************************************************/
void apfz()
{
wrcom(0xc2);
dispone('a');
wrcom(0xc6);
dispone(qw+0x30);
dispone(bw+0x30);
dispone('.');
dispone(sw+0x30);
dispone(gw+0x30);
dispone(' ');
dispone('m');
dispone('/');
dispone('s');
dispone('2');
}
/****************************************void ap()********************************
加速度数据处理及显示子程序
******************************************************************************************/
void ap()
{
if (sjiold==sji)
{gw=sw=bw=qw=0;
apfz();}
else if(sjioldsji)
{aa=360*tc*(sjiold-sji)/sji/sjiold/(sji+sjiold);
qw=aa/1000;
bw=aa%1000/100;
sw=aa%100/10;
gw=aa%10;
wrcom(0xc5);
dispone(' ');
apfz();}
}
/****************************************void int0()********************************
外部中断0(干簧管)中断服务程序
*****************************************************************************************/
void int0() interrupt 0
{
EX0=0;
qs++; //圈数+1
TR1=0;
sjiold=sji; //停止T1计时
sji=ssji;
if (mxsd!=0) //更新最大速度
{
if (sji9){cgw=0;csw++;
if(csw>5){csw=0;++cbw;
if(cbw>9){cbw=0;++cqw;
if(cqw>5){cqw=0;
cww2++;if(cww2>23)cww2=0;csww=cww2/10;cww=cww2%10;
}
}
}
}
if (MODE==0) {lcp();ttimep();}
if (MODE==3) clkp();
}
}
/****************************************void main()********************************
主程序,初始化LCD,显示欢迎信息,更改时钟、直径设置,开中断、计时器等
******************************************************************************************/
void main()
{
init_LCD();
dispmore(1,1,"-Digital Meter-",16);
for(i=0;i
-
我也遇到相同的问题
-
学习嵌入式还是需要自己多下功夫,嵌入式发展趋势不错的,学习软件工程有相关的基础还是不错的,自学也可以但是有点难,会比较慢,但是也不一定,最好参加专门的培训班,你可以到我的博客看一下,也许对你有帮助
-
有木马在掏空你的虚拟内存