找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2256|回复: 1
收起左侧

单片机无线解码程程序的问题

[复制链接]
ID:108621 发表于 2016-3-16 17:03 | 显示全部楼层 |阅读模式
这个程序,在第一次判断(!send_busy)后,可以进入
if(head_counts)....但是执行到SEND_PULS(PULS_HEAD_WIDTH)后,
send_busy就为非0 了,那么下次就直接执行最后的
else{SEND_PULS(PULS_STOP_WIDTH)...}了,
好像不能进入发送send_buf[]的部分。

http://www.51hei.com/mcu/1926.html 这个网页里有段程序,想请教一下。


void send()
{

if (!send_busy)
{
   if(send_byts || send_bit_p)
        {
              if (head_counts)
             {
                     head_counts--;
                     if(head_counts)
                      SEND_PULS(PULS_HEAD_WIDTH);
               else
             SEND_PULS(PULS_START_WIDTH);
                 }
   else{
     if (send_bit_p == 0)
        {
           sending_byte = send_buf[send_byte_p];
           send_byte_p++;
           send_byts--;
                send_bit_p = 8;
         }
   
     if(sending_byte & 0x80)
        {
                   SEND_PULS(PULS_1_WIDTH);
              }
        else
        {
                   SEND_PULS(PULS_0_WIDTH);
         }
   
     sending_byte <<= 1;
     send_bit_p--;
    }
   }
        else
        {
            SEND_PULS(PULS_STOP_WIDTH);
            send_stat = SEND_SUCCESS;
           }
  }
  return;
}


回复

使用道具 举报

ID:109198 发表于 2016-3-16 17:07 | 显示全部楼层
很好,学习啦。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表