首页 > 其他分享 >终于知道老师喜欢用for(TYPE i=0;i<N;i++)而非for(TYPE i=N-1;i<=0;i--)的原因了

终于知道老师喜欢用for(TYPE i=0;i<N;i++)而非for(TYPE i=N-1;i<=0;i--)的原因了

时间:2023-11-18 19:56:06浏览次数:24  
标签:u8 SCK ++ 0x00 Send -- txdata TYPE

上课时看到老师写

u8 Spi1_Send_Recv_Byte(u8 txdata)
{
    u8 rxdata = 0x00;


    u8 i;
    
    SCK = 0;

    for(i=0; i<8; i++)
    {
        //下降沿发数据
        if(txdata & 1<<(7-i))
        {
            MOSI = 1;
        }            
        else
        {
            MOSI = 0;
        }            
        delay_us(2);
        
        SCK = 1;
        
        delay_us(2);
        
        //上升沿收数据,判断引脚电平
        if(MISO == 1)
        {
            rxdata |= (0x01<< (7-i));
        }        
        
        
        SCK = 0;    
            
    }
    
    
    return rxdata;
}

我就疑惑,为什么不这样

u8 Spi1_Send_Recv_Byte(u8 txdata)
{
    u8 rxdata = 0x00;
    u8 i;
    //拉低时钟
    SCK=0;

    for(i=7;i>=0;i--){
        //下降沿引脚发数据
        if(txdata&(1<<i)){
            MOSI=1;
        }else{
            MOSI=0;
        }
        //拉高时钟
        delay_us(2);
        SCK=1;
        delay_us(2);
        //上升沿引脚接收数据    
        if(MISO==1){
            rxdata|=(1<<i);
        }
        //拉低时钟
        SCK=0;
    }
    return rxdata;
}

写呢?

结果一运行,“咦?咋没输出了?”

调试之后才发现,原来是我用惯了int i的原因,感受到无符号数的情况太少了。

ε=(´ο`*)))唉,我这人总是只有撞了南墙才知道错。

标签:u8,SCK,++,0x00,Send,--,txdata,TYPE
From: https://www.cnblogs.com/xuweihui/p/17840999.html

相关文章

  • 囚徒4.0_12
    #囚徒4.0_12importnumpyasnpdefAND(x1,x2):x=np.array([x1,x2])w=np.array([0.5,0.5])b=-0.7temp=np.sum(x*w)+biftemp>0:return1else:return0defOR(x1,x2):x=np.array([x1,x2])w=np.array([1,1])b=-0.5temp=np.sum(x*w)+biftemp>0:return1e......
  • 囚徒_风云云检测算法改进
    functionmask=code(ref_b2,ref_b3,ref_b4,ref_b5,tmp_7,tmp_9,tmp_13,tmp_15,SC,height,mask_lan)%算法实现%此处提供详细说明sz=size(ref_b2);temp=ref_b4*0;temp(temp~=-999.0)=1;raio=ref_b3./ref_b2;%可信矩阵准备mat_15=T_mat(tmp_15,224,228,"lt");mat_9=T_m......
  • LYNU WIFI Loginer ---- 去xx的六秒等待
    LYNUWIFILoginer是一款方便快捷的小工具,专为洛阳师范学院(LYNU)的WIFI登录而设计。该工具具有以下突出特点:快速登录LYNUWIFILoginer可以帮助用户快速登录校园WIFI,省去了打开浏览器并等待六秒钟的繁琐步骤。只需一键操作,即可轻松连接到WIFI网络。完备的日志监控LYNUWIFI......
  • 20211325 2023-2024-1 《信息安全系统设计与实现(上)》第十周学习笔记
    202113252023-2024-1《信息安全系统设计与实现(上)》第十周学习笔记一、任务要求自学教材第12章,提交学习笔记(10分),评分标准如下1.知识点归纳以及自己最有收获的内容,选择至少2个知识点利用chatgpt等工具进行苏格拉底挑战,并提交过程截图,提示过程参考下面内容(4分)“我在学***X知......
  • 互联网图片抓取
    1.互联网图片抓取 说明:图片、音频、视频在计算机中以二进制方式存储 实现:找到所在图片的URL地址、想图片URL地址发送请求,获取二进制响应内容(bytes)、 正常打开文件,将响应内容以wb方式保存到本地requests模块:html=requests.get(url=url,headers=headers).text 响应对象(......
  • NOIP2023 游记:未来可期
    更好地观看前言人可回天地之心,天地不能夺人之心。大丈夫行事,论是非不论利害,论逆顺不论成败,论万世不论一生。志之所在,气亦随之。气之所在,天地鬼神亦随之。AI定场诗:OI侠客乐无边,代码世界舞飞旋。算法高人传绝技,数据结构展神通。比赛场中争胜负,编程路上展雄风。英雄不问出处......
  • 囚徒4.0_13_梯度
    囚徒4.0_13_梯度这是是关于求取梯度的#coding:utf-8importnumpyasnpimportmatplotlib.pylabaspltfrommpl_toolkits.mplot3dimportAxes3D#非批处理梯度求取(1,2)(x1,x2)def_numerical_gradient_no_batch(f,x):h=1e-4#0.0001grad=np.zeros_like(x)#对x进......
  • 囚徒4.1_12_数值微分近似
    数值微分近似#囚徒4.0_13_数值微分近似importnumpyasnpimportmatplotlib.pylabasplt#求数值微分导数defnumerical_diff(f,x):h=1e-4#0.0001return(f(x+h)-f(x-h))/(2*h)#函数deffunction_1(x):return0.01*x**2+0.1*xdeftangent_line(f,x):d......
  • Halo2简单示例
    Halo2简介[[Halo2]]是使用[[Rust]]语言开发,基于[[PLANK算法]]的,一款开源交互式([[STARKs]]),[[零知识证明(ZKP)]]的[[证明系统]]。GitHub仓库地址:halo2不同于普通的开发框架,Halo2中的功能开发称为电路(Circuit)开发,电路开发使用表格来设计并记录运算,并包含一系列的约束来验证......
  • 面向对象笔记——面向对象分析的过程
    面向对象软件过程简介软件过程的基本概念软件的诞生及其研发整个生命周期是一个过程,这个过程称之为软件过程。包括:需求获取(沟通)、需求分析和设计(建模)、实现和测试(构建)、部署和维护软件过程是描述了实施于软件开发和维护中的阶段、方法、技术、实践及相关产物(计划、文档、模......