haikong 发表于 2012-10-10 22:42
http://blog.21ic.com/user1/7823/archives/2010/77523.html
看了你的**,个有想到的**中解决方法:
或许你只需要将函数uint8 read_byte()中变量recvdata的定义先不要初始化,就是只先定义,初始化放到Delay函数调用之后。因为具有返回值的函数是会通过R4~R7来进行的,因为你一开始就给recvdata初始化值,相当于返回值处理就在初始化之后就立即开始了,而后面才调用Delay函数,由于Delay函数中R7会自减为0,所以每次返回的值都是0。 |