问程序的同学,进来这里吧,别纠结了。(更新9-21)

[复制链接]
41587|176
dj狂人 发表于 2014-4-6 22:11 | 显示全部楼层
lh18753385 发表于 2014-5-17 10:44 | 显示全部楼层
rszhao 发表于 2014-6-8 11:00 | 显示全部楼层
学习了 很好的总结 适合新手
lantian5451 发表于 2014-6-17 15:21 | 显示全部楼层
伊泽瑞拉 发表于 2014-6-17 16:07 | 显示全部楼层
伊泽瑞拉 发表于 2014-6-17 16:07 | 显示全部楼层
zhong506567527 发表于 2014-9-9 14:10 | 显示全部楼层
顶......
hddg 发表于 2014-12-15 20:04 | 显示全部楼层
好帖!给了迷惘的初学者一个清晰的思路。
hddg 发表于 2014-12-18 11:45 | 显示全部楼层
比如一个经常犯的错误是:

串口中断服务程序
{
从串口缓冲区取数据;
}

串口中断使能;
While(!串口收到数据中断标志);
从串口缓冲区取数据;

因为在串口中断服务程序里面已经读了缓冲区后,硬件已经清除了“串口收到数据中断标志”所以外面的while循环自然等不到这个标志置位了,表现就是程序死机。

我是初学者,有一点不明。查看89C51有关串口通讯的说明,说RI和TI无论在哪种方式下均无法由硬件复位,必须在响应中断后由软件复位。这和楼主说的硬件已经清除好象冲突?希望大师解惑。
 楼主| NE5532 发表于 2014-12-18 14:26 | 显示全部楼层
hddg 发表于 2014-12-18 11:45
我是初学者,有一点不明。查看89C51有关串口通讯的说明,说RI和TI无论在哪种方式下均无法由硬件复位,必须 ...

初学者确实容易犯这个错误,认为世界上的单片机都是51,不过我好像没写这个程序是用51单片机举例的哈。
天命风流 发表于 2014-12-18 15:34 | 显示全部楼层
hddg 发表于 2014-12-18 16:29 | 显示全部楼层
明白。不过版主最好申明一下,因为估计看这个的多是初学者,容易使初学者更迷糊。
hddg 发表于 2014-12-18 16:32 | 显示全部楼层
原来是AVR单片机,没看标题,受教了!
hddg 发表于 2014-12-18 16:41 | 显示全部楼层
我虽然学的是51,但版主的**对我的帮助很大,以前学得很乱,现在初步有点清晰,谢谢,希望版主讲得更细些,对初学者是个福音。
 楼主| NE5532 发表于 2014-12-18 17:08 | 显示全部楼层
hddg 发表于 2014-12-18 16:41
我虽然学的是51,但版主的**对我的帮助很大,以前学得很乱,现在初步有点清晰,谢谢,希望版主讲得更细些 ...

请看主贴,这个帖子已经转为一篇成熟的《程序调试黑宝书》了,请直接阅读最终的**。
yaosongjin 发表于 2015-8-29 17:13 | 显示全部楼层
我是来学习的,感谢大家分享好经验!
夕阳running 发表于 2016-12-20 13:36 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部