shuiqinghan2012
发表于 2017-6-2 13:16
jianhong_wu 发表于 2014-3-6 09:53
我个人认为,做单片机项目开发,初学者最缺的就是如何搭建系统,组织框架。而我现在分享的恰好就是我做所 ...
有道理
Drake
发表于 2017-7-19 21:48
nb顶
emma2012
发表于 2017-7-20 15:11
楼主辛苦了,感谢分享!!!!
Afei1106
发表于 2017-7-31 17:29
本帖最后由 Afei1106 于 2017-8-1 10:33 编辑
继续学习中.....
山房@半壁
发表于 2017-8-2 09:54
内容很多啊,mark下
shuiqinghan2012
发表于 2017-10-19 11:44
jianhong_wu 发表于 2014-3-8 08:31
坦白地讲,这将近十年的时间里,我的收入很普通,比大多数的电子工程师的收入还要低,银行存款也没有100W ...
让我想起了海阔天空,一生放诞不羁爱自由,也许真爱和自由才是我们每个人应该追求的东西
caijie001
发表于 2017-10-19 13:11
很不错。转发师弟师妹
hunancjz
发表于 2017-11-26 15:04
初学者勉强可以看一看
李劲均
发表于 2017-12-14 11:02
你好吴工,我有一个机械手的单片机程序想通过你分享给大家,有PCB图,原理图和说明书,还有源程序。
Dalarl2008
发表于 2017-12-31 22:07
李劲均 发表于 2017-12-14 11:02
你好吴工,我有一个机械手的单片机程序想通过你分享给大家,有PCB图,原理图和说明书,还有源程序。 ...
maik
Dalarl2008
发表于 2017-12-31 22:07
不错。mark
zqx1000
发表于 2018-4-10 22:21
kankan
wdliming
发表于 2018-7-27 12:42
太厉害了~~~赞一个楼主,提升变成思想,比教科书好多了!!!!!!比教科书好多了!!!!!!比教科书好多了!!!!!!比教科书好多了!!!!!!比教科书好多了!!!!!!比教科书好多了!!!!!!比教科书好多了!!!!!!比教科书好多了!!!!!!比教科书好多了!!!!!!比教科书好多了!!!!!!比教科书好多了!!!!!!比教科书好多了!!!!!!比教科书好多了!!!!!!
panqh
发表于 2018-11-16 13:35
初学者为楼主无私的行为点赞
leejack
发表于 2018-11-26 15:46
jianhong_wu 发表于 2014-3-7 11:48
第十二节:按住一个独立按键不松手的连续步进触发。
开场白:
if(key_sr1==1)//IO是高电平,说明按键没有被按下,这时要及时清零一些标志位
{
ucKeyLock1=0; //按键自锁标志清零
uiKeyTimeCnt1=0;//按键去抖动延时计数器清零,此行非常巧妙,是我实战中摸索出来的。
uiKeyCtntyCnt1=0; //连续累加的时间间隔延时计数器清零
}
else if(ucKeyLock1==0)//有按键按下,且是第一次被按下
{
uiKeyTimeCnt1++; //累加定时中断次数
if(uiKeyTimeCnt1>const_key_time1)
{
uiKeyTimeCnt1=0;
ucKeyLock1=1;//自锁按键置位,避免一直触发
ucKeySec=1; //触发1号键
}
}
else if(uiKeyTimeCnt1<const_time_1s) //按住累加到1秒
{
uiKeyTimeCnt1++;
}
else//按住累加到1秒后仍然不放手,这个时候进入有节奏的连续触发
{
uiKeyCtntyCnt1++; //连续触发延时计数器累加
if(uiKeyCtntyCnt1>const_time_0_25s)//按住没松手,每0.25秒就触发一次
{
uiKeyCtntyCnt1=0; //
ucKeySec=1; //触发1号键
}
}
大师,还在吗?这个程序在第一个 else if中已经将案件触发锁住了第三个else if 如何能继续执行呢?
初学者很疑惑,望解答,谢谢
leejack
发表于 2018-11-26 15:46
jianhong_wu 发表于 2014-3-7 11:48
第十二节:按住一个独立按键不松手的连续步进触发。
开场白:
if(key_sr1==1)//IO是高电平,说明按键没有被按下,这时要及时清零一些标志位
{
ucKeyLock1=0; //按键自锁标志清零
uiKeyTimeCnt1=0;//按键去抖动延时计数器清零,此行非常巧妙,是我实战中摸索出来的。
uiKeyCtntyCnt1=0; //连续累加的时间间隔延时计数器清零
}
else if(ucKeyLock1==0)//有按键按下,且是第一次被按下
{
uiKeyTimeCnt1++; //累加定时中断次数
if(uiKeyTimeCnt1>const_key_time1)
{
uiKeyTimeCnt1=0;
ucKeyLock1=1;//自锁按键置位,避免一直触发
ucKeySec=1; //触发1号键
}
}
else if(uiKeyTimeCnt1<const_time_1s) //按住累加到1秒
{
uiKeyTimeCnt1++;
}
else//按住累加到1秒后仍然不放手,这个时候进入有节奏的连续触发
{
uiKeyCtntyCnt1++; //连续触发延时计数器累加
if(uiKeyCtntyCnt1>const_time_0_25s)//按住没松手,每0.25秒就触发一次
{
uiKeyCtntyCnt1=0; //
ucKeySec=1; //触发1号键
}
}
大师,还在吗?这个程序在第一个 else if中已经将案件触发锁住了第三个else if 如何能继续执行呢?
初学者很疑惑,望解答,谢谢
莫的感情
发表于 2018-11-30 16:45
leejack 发表于 2018-11-26 15:46
if(key_sr1==1)//IO是高电平,说明按键没有被按下,这时要及时清零一些标志位
{
ucKeyLock1=0;...
我感觉能理解你想问什么,不过这里面没有三个else if 可以确定下我再看看吗?
quanquan86
发表于 2019-5-14 16:08
谢谢大神无私的分析,收益匪浅。
癫子高
发表于 2019-5-17 16:04
很棒棒的分享,谢谢楼主。
jintomm
发表于 2019-7-23 10:31
mark