如何将单片机DTR引脚先置高再置低?
OpenCom(1); //自定义的打开串口函数
DCB dcb;
GetCommState(hCom, &dcb);
dcb.fDtrControl=DTR_CONTROL_ENABLE; //
SetCommState(hCom, &dcb);
GetCommState(hCom, &dcb);
dcb.fDtrControl=DTR_CONTROL_DISABLE; //
SetCommState(hCom, &dcb);
就是单片机硬复位。
我这样设置以后单片机程序不能收到硬复位信息。
问题点数:100、回复次数:16Top
1 楼kvk(杀手遇见杀手)回复于 2002-04-29 17:20:55 得分 0
upTop
2 楼LittleEvita(小言)回复于 2002-04-29 17:23:50 得分 0
哦,不对,是硬件不能复位。Top
3 楼winne_ll(feiyang)回复于 2002-04-29 17:26:46 得分 0
你可以采用管道通讯。Top
4 楼qiuanhong(练从难处练,用从易处用)回复于 2002-04-29 17:29:27 得分 0
UPTop
5 楼LittleEvita(小言)回复于 2002-04-29 17:29:58 得分 0
天啦,别讲的这么复杂,搞不定啦Top
6 楼southnan(就这么着)回复于 2002-04-29 17:34:42 得分 0
你用的什么单片机?Top
7 楼LittleEvita(小言)回复于 2002-04-29 17:44:32 得分 0
高手在哪里?分不够您就说!Top
8 楼LittleEvita(小言)回复于 2002-04-30 08:37:22 得分 0
upTop
9 楼TigerHu(愁煞人)回复于 2002-04-30 10:05:39 得分 0
dcb.fDtrControl=DTR_CONTROL_ENABLE; //是允许硬件握手Top
10 楼TigerHu(愁煞人)回复于 2002-04-30 10:10:30 得分 0
dwStoredFlags = EV_BREAK | EV_CTS | EV_DSR | EV_ERR | EV_RING |\
EV_RLSD | EV_RXCHAR | EV_RXFLAG | EV_TXEMPTY ;
SetCommMask(Com,dwStoredFlags );Top
11 楼NowCan(城市浪人)回复于 2002-04-30 11:09:31 得分 0
EscapeCommFunction(hCom,SETDTR);
EscapeCommFunction(hCom,CLRDTR);
另外注意不要用硬件握手。
Top
12 楼LittleEvita(小言)回复于 2002-04-30 13:17:51 得分 0
tigerhu(愁煞人) 、 NowCan(能量、激情、雨水、彩虹——雷雨云)
能不能稍微解释一下,小女子是新手看不懂。多谢多谢。Top
13 楼tianlinyi(笨蛋)回复于 2002-04-30 13:19:42 得分 0
upTop
14 楼NowCan(城市浪人)回复于 2002-05-01 11:12:04 得分 0
打开串口后不要将握手信号设为硬件握手,然后调用第一句后设置DTR为真,第二句设置DTR为假。至于对应的电平,应该是真对应高电平,假对应低电平。Top
15 楼LittleEvita(小言)回复于 2002-05-08 09:48:54 得分 0
对不起,我第一次写对硬件操作的程序,有没有源码?
evita_l@163.net,有空给我发过来,谢谢,谢谢。Top
16 楼LittleEvita(小言)回复于 2002-05-08 14:11:54 得分 0
我试了一下,好象不行呀!我将命令发送下去根本没反应呀。Top
17 楼NowCan(城市浪人)回复于 2002-05-09 12:30:15 得分 100
没有反映?
我再研究研究。Top
18 楼LittleEvita(小言)回复于 2002-05-09 17:13:06 得分 0
高手,搞定,肯定跟串口线太长有关,将程序烧到芯片里,只用一根串口线,现在没有问题了,多谢多谢!!!
另外:我那段程序也是可行的。呵呵
Top




