当我们采用并口传输数据的时候都会用如下的方法进行数据传输

#define DATAOUT(x) GPIOB->ODR=x;

STM32IO口都是16位的,所以当调用DATAOUT的时候就直接对GPIOB的16个IO口总体进行操作。但是我们如果只是选择高8位或者低8位的时候就需要进行移位操作,到底该怎么移位呢现在我们来看如下代码。

如果我们选择的是0-7位IO口那么传输数据的时候代码如下

void LCD_DrawPoint_16Bit(u16 color)
{
#if LCD_USE8BIT_MODEL==1
LCD_CS_CLR;
LCD_RD_SET;
LCD_RS_SET;//дµØÖ·    
DATAOUT(color>>8); //先传输高8位所以把高8位先往低8位移动
LCD_WR_CLR;
LCD_WR_SET;
DATAOUT(color); //直接传输低8位
LCD_WR_CLR;
LCD_WR_SET;  
LCD_CS_SET;
#else
LCD_WR_DATA(color); 
#endif
}

由上面可以看到如果是选择的低8位数据都是往低8位移动。

void LCD_DrawPoint_16Bit(u16 color)
{
#if LCD_USE8BIT_MODEL==1
LCD_CS_CLR;
LCD_RD_SET;
LCD_RS_SET;//дµØÖ·    
DATAOUT(color); //由于是先传高位所以这里不用移位(io口选择的时候高8位)
LCD_WR_CLR;
LCD_WR_SET;
DATAOUT(color<<8); //低8位的时候需要把低8位数据往高8位移动
LCD_WR_CLR;
LCD_WR_SET;  
LCD_CS_SET;
#else
LCD_WR_DATA(color); 
#endif
}

这是选择高8位IO口代码都是把低8位数据往高8位方向移动。

STM32IO口8位操作移位的方式相关推荐

  1. I/0口输入输出实验 学习IO口的位操作方法,分别选择P0、P1、P2、P3端口中的某一位,该位作为输出使用,连接一只发光二极管,控制器闪烁。

    学习IO口的位操作方法,分别选择P0.P1.P2.P3端口中的某一位,该位作为输出使用,连接一只发光二极管,控制器闪烁. 程序: #include<reg51.h> sbit KEY=P1 ...

  2. IO 口的位操作实现

    一.概念 该部分代码在 sys.h 文件中,实现对 STM32 各个 IO 口的位操作,包括读入和输出.当然在这些函数调用之前,必须先进行 IO 口时钟的使能和 IO 口功能定义.此部分仅仅对 IO ...

  3. STM32 IO口的8中配置方式解读(推挽输出、开漏输出、复用开漏输出、复用推挽输出以及上拉输入、下拉输入、浮空输入、模拟)

    转自:http://blog.csdn.net/u010592722/article/details/45746079 STM32  IO口的8中配置方式: (1)GPIO_Mode_AIN 模拟输入 ...

  4. 【转载】瑞萨CS+ for CC对单片机IO口进行位操作

    出处:https://www.sekorm.com/news/25653139.html 瑞萨科技是世界十大半导体芯片供应商之一,在汽车领域的MCU市场份额更是排在最前列.近日笔者碰到刚接手瑞萨MCU ...

  5. 51单片机STC89C52点亮一个LED(IO口的位操作)

    51单片机点亮一个LED(IO口的位操作)STC89C52 程序源码 /*-----------------------包含头文件区域-------------------------*/ #incl ...

  6. 引脚悬空是什么电平_STM32单片机必须掌握的八种IO口模式和引脚配置方式

    八种IO口模式STM32有八种IO口模式,分别是:模拟输入.浮空输入.上拉输入.下拉输入.开漏输出.推挽输出.复用开漏输出和复用推挽输出.1.模拟输入GPIO_Mode_AIN模拟输入,即关闭施密特触 ...

  7. stm32IO口八种工作模式详细解析(附原理图)

    目录 工作模式介绍 常用IO口工作模式分析 实际应用 很多小伙伴们在初学stm32时都对stm32的IO口工作模式的原理和配置不了解,所以我整理发表此篇文章作为自己复习和他人参考资料.(注:该文章参考 ...

  8. 通过移位的方式实现相加算法

     #include <iostream> //加减乘除,都是靠位运算, //将来从事手机端,嵌入式开发,位操作, class jia;//声明,只能声明指针或者引用 jia  *pji ...

  9. 关于stm32io口保护二极管的作用

    这是在百度上看到的一个答案,写的很清楚,记录一下,侵删 原作者oldmanwsb2 原链接https://www.baidu.com/link?url=yUSvGWG9o5tk1xRvBt6jE360 ...

最新文章

  1. 主席树 | 莫队 ---- Codeforces Round #716 (Div. 2) D. Cut and Stick [主席树or莫队优化] 区间众数问题(静态)
  2. 日周月筛选器_天谕2.09月3日周版本更新维护内容预告
  3. [转载]注册机破解法的原理以及应对方法
  4. TabBarItem图片不显示的原因
  5. 【Python】监控视频中运动目标检测的代码实现及效果展示
  6. python修改父类属性_Python super和设置父类属性
  7. Restlet入门示例
  8. 使用代理同步Chromium代码的心得(V2.0)
  9. Sequence(BZOJ-1345)
  10. Oracle SqlLoader使用
  11. linux安全策略加固文档_系统加固之Linux安全加固
  12. Filter的敏感词汇过滤案例
  13. 点云深度学习——点云配准网络DCP复现
  14. Android低功耗蓝牙通讯
  15. 使用C#的Winform实现图文识别OCR及截图功能
  16. 括号序列(DP优化)
  17. 卡西欧计算机怎么进制转换,卡西欧计算机怎么把十进制转换二进制
  18. Swift函数式编程十三(函子、适用函子、单子)
  19. 【离散数学笔记】逻辑运算之吸收律
  20. linux中C编译命令,linux下命令行下编译c程式

热门文章

  1. MongoDB安装注意事项、安装流程与配置
  2. 苹果se2_苹果SE2双卡双待3月发布,你会买吗?
  3. MICROSOFT OFFICE MSDT操作系统命令注入漏洞(CVE-2022-30190)
  4. 阿尔法编程平台python答案_阿尔法编程python答案
  5. MindSpore:Ascend芯片Mindspore代码实现小样本图像分类,在网络训练时出现错误
  6. [Effective Objective] 熟悉Objective-C
  7. 三次握手过程和四次握手过程
  8. 计算机毕业设计SSM房屋中介管理信息系统【附源码数据库】
  9. ThinkPad 开机总提示找到新硬件 PCI Device
  10. TIFF数据格式实例分析