转载请注明出处:http://blog.csdn.net/qq_26093511/article/category/6094215

1、在51单片机里 ,下面这两种操作方法都是一样的,没有什么问题!

(1) 、   OUT1_R1 是单片机的一个IO口 , dat是传进来的一个数据

if ( (dat & 0x80) == 0)

OUT1_R1 = 0;
// 0是不亮,1是亮

else 

OUT1_R1 = 1;

(2)、

OUT1_R1 = (dat&0x8000); // stm32里,这样操作不行,因为stm32里没有bit ; 在51里会自动把(dat&0x8000)强制转化为bit 。

2、但是在编译 stm32的keil 里编译上面的两个程序,就发生了不同。

在STM32里, (1) 是可以正常的往IO里输入数据的,但是(2)却不能!我猜测是STM32里不支持位操作( 没有bit )!才导致这种差异!

我在调试LED屏幕的时候,遇到了这个问题,我当时做梦都没想到,这句话竟然有问题。

在此,强烈建议:遇到问题,多使用仿真器!(这种神器,也算是调试必备了!   学生党太穷了,之前自学stm32也没舍得花钱买jlink仿真器!)

再次,感谢郑老师指导!

本人能力有限,若描述有误,请指出。

stm32 奇怪的位赋值问题 出错了的更多相关文章

  1. 用SUMIF对超15位的代码进行条件求和,出错了,原因是....

    用SUMIF对超15位的代码进行条件求和,出错了,原因是.... 2017-10-29 23:01 一.问题 有读者朋友问: 用SUMIF进行条件求和时,如果统计的条件是超15位的代码,就会出错,比如 ...

  2. “出错了”和报告Bug的艺术

    "出错了." 没有那句话能像"出错了"一样让程序员/开发者如此沮丧,心里翻江倒海,怒火一点即燃,还要死掉一大片脑细胞. 这句生硬的开场白通常标志着让开发者恐惧的 ...

  3. 使用VSS2005的时候报错:输入正确的服务器地址依然出错了

    使用VSS2005的时候报错:输入正确的服务器地址依然出错了 使用VSS2005的时候报错: 在安装完vss客户端,进入vss服务器的时候,需要vss服务器的ip和数据库名称.以及初始化文件, 我在进 ...

  4. STM32中的位带(bit-band)操作(转)

    源:STM32中的位带(bit-band)操作 支持了位带操作后,可以使用普通的加载/存储指令来对单一的比特进行读写.在 CM3 中,有两个区中实现了位带.其中一个是 SRAM 区的最低 1MB 范围 ...

  5. eclipse中的出现在打包一次后,后面新建的项目都出错了,出现support_v7下面出现红线及解决方法及为什么eclipse中项目继承ActionBarActivity解决方法一样

    第一次写博客,有什么问题或者想法的希望各位可以进行评论交流,望大家多多包涵! 遇到的问题是在新建的项目都出错了,出现support_v7下面出现红线及解决方法及为什么eclipse中项目继承Actio ...

  6. EXCEL2007出错了无法使用文档中的ActiveX 控件

    EXCEL2007出错了无法使用文档中的ActiveX 控件虽说是很久之前的问题,但是正确的解决方法和原因如下!原因:系统update之后出现的问题解决方法:删除C:\Users\[username] ...

  7. Delphi XE8中开发DataSnap程序常见问题和解决方法 (二)想对DBExpress的TSQLDataSet写对数据库操作的SQL语句出错了!

    当我们搞定DataSnap后,我们进入客户端程序开发阶段了,我们建立了客户端模块后,打算按照刚才开发服务器的步骤开发客户端程序,随后加入了DBExpress的TSQLDataSet,设定数据库连接后, ...

  8. STM32 Option Bytes位 重置为出厂设置

    STM32 Option Bytes位 重置为出厂设置 JLINK 按照说明,在IAR安装目录下找到指定的运行程序JLinkSTM32.exe(D:\Program Files (x86)\IAR S ...

  9. Python中单元测试出错了,会怎么样?

    在上一篇中,我们看到了单元测试正常通过时的情况,如果我们边修改一下要测试的函数,然后再运行单元测试,会出现什么情况. 原say_hello_name.py def hello_name(name): ...

随机推荐

  1. [闲来无事,从头再来][C51篇]导读

    目       的:  通过学习C51,熟悉单片机,熟悉C语言,熟悉单片机系统的外部电路. 方       法:  通过看书和使用板子做实验来进行学习 参考资料: <新概念51单片机C语言教程& ...

  2. xpath中如何使用变量

    xpath (python)xpath中如何使用变量描述: 在xpath中该如何使用变量,想选择id是某个值的元素,这个值是个变量. response.xpath('//div[@id=val]'). ...

  3. YiiFramework(PHP)

    Yii is a high-performance PHP framework best for developing Web 2.0 applications. Ref:http://www.yii ...

  4. 【Mybatis】Insert批量操作

    话不多说,直接上代码. <insert id="pesistRT" parameterType="com.test.model.RTSummarizer" ...

  5. android客户端登录&注册的实现

    MainActivity多线程的实现: package com.example.loginconnect; import java.lang.ref.WeakReference; import jav ...

  6. 一步一步带你分析 requirejs

    详细源代码一共就2000多行,来看我这篇分析的同学应该都下载下来了,好了,话不多说,开始: 代码的开头就出现3个全局变量: requirejs, require, define var require ...

  7. Docker 架构篇

    Docker 的核心组件包括: Docker 客户端 - Client Docker 服务器 - Docker daemon Docker 镜像 - Image Registry Docker 容器 ...

  8. HDU 1800 Flying to the Mars 字典树,STL中的map ,哈希树

    http://acm.hdu.edu.cn/showproblem.php?pid=1800 字典树 #include<iostream> #include<string.h> ...

  9. 剑指offer之 旋转数组的最小数字

    package Problem8; public class MinInReversingList { /* * 题目描述:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转. * 输入 ...

  10. BZOJ 2527 [Poi2011]Meteors:整体二分

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2527 题意: 有n个国家和m个空间站,每个空间站都属于一个国家,一个国家可以有多个空间站, ...