STM32 16位IO口操作的一些教训

发布者:bonbono最新更新时间:2017-09-26 来源: eefocus关键字:STM32  16位  IO口操作 手机看文章 扫描二维码
随时随地手机看文章

最近在用TFT屏的时候走啦不少弯路,因为TFT屏都是16位的,所以大部分的都是采用一组IO口对应16个数据位刚好并口传输数据,最近因为IO口紧缺,所以想要改成串口,但是发现串口刷新屏幕太慢所以最后改成8位的并口,但是STM32操作IO口的寄存器是16位的。也就是说用并口的话一起传输数据进去虽然只用8位但是操作还是16位一起操作,虽然有8位没用到但是还是在传输数据进去的时候被一起操作,会把不用的8位的值一起覆盖。

 #define DATAOUT(x) GPIOB->ODR=x; //数据输出

如上当调用宏的时候整个B端口一起被操作。


方法1: ODR配置法,可以直接使用 GPIO->ODR = value << N;给对应的IO口进行输出操作。
但是此时在硬件上要保证:
1.  该功能口(如GPIOA)上的其余的IO口不作为普通的IO输出口使用
2.  行列之外的GPIO口,要么是普通的IO输入口,要么是功能口。功能口就是UART、USB、PWM、ADC等,对GPIO的ODR进行操作时,不会对功能口产生影响。
也就是说比如现在选择B端口的高8位,那么8--15IO口被选择用来驱动TFT,但是0-7IO口不能在用着普通输出IO口,但是可以设置为输入,或者UART,usb,PWM,ADC等功能。
方法2
可以用位操作的方式单独对IO口进行操作,但是这样操作数据刷新速度很慢。
void WriteData(u8 data)
{
   //分别操作与液晶连接的IO口,顺序是由高位到低位
    GPIO_WriteBit(GPIO号, Pin号,(data & 0x80) >> 7 ); 
    GPIO_WriteBit(GPIO号, Pin号,(data & 0x40) >> 6 ); 
    GPIO_WriteBit(GPIO号, Pin号,(data & 0x20) >> 5 ); 
    GPIO_WriteBit(GPIO号, Pin号,(data & 0x10) >> 4 ); 
    GPIO_WriteBit(GPIO号, Pin号,(data & 0x08) >> 3 ) ; 
    GPIO_WriteBit(GPIO号, Pin号,(data & 0x04) >> 2 ); 
    GPIO_WriteBit(GPIO号, Pin号,(data & 0x02) >> 1 ); 
    GPIO_WriteBit(GPIO号, Pin号,data & 0x01);
 }
使用这种方式就不会影响到底8位,但是这样刷新速度很慢。


关键字:STM32  16位  IO口操作 引用地址:STM32 16位IO口操作的一些教训

上一篇:STM32IO口8位操作移位的方式
下一篇:STM32F103R8T6系统移植到STM32F103RCT6

推荐阅读最新更新时间:2024-03-16 15:38

ad7606与stm32连接电路介绍
AD7606/AD7606-6/AD7606-4为Analog Device公司生产的16位同步采样模数数据采集系统(DAS),分别有 8、6、4个采集通道。 输入箝位保护,以承受最高达±16.5V的电压 40 dB 二阶抗混叠滤波器 跟踪保持放大器 16 位电荷再分配逐次逼近型 ADC内核 数字滤波器 2.5V基准电压源及缓冲 高速串行和并行接口 5V单电源供电 支持真正±10V 或±5V 的双极性信号输入 所有的通道均能以高达 200 kSPS 的速率进行采样 内置低噪声、高输入阻抗的信号调理电路,其等效输入阻抗完全独立于采样率且固定为 1MΩ 内置2.5V 带隙电压基准和基准缓冲电路,其温度系数典型值为±10ppm/℃,
[单片机]
ad7606与<font color='red'>stm32</font>连接电路介绍
stm32+neo6m GPS模块定位系统
开发平台:主处理器是意法半导体的stm32f103系列,这款芯片应用广泛,并且资料很多。 主要定位模块:ublox的一款芯片 开发环境:MDK5.0 主要代码还是参考原子的历程,在它的基础上实现了只提取经纬度,海拔等操作 硬件连接:3.3V电源给GPS模块供电,stm32串口2接GPS。 软件实现主要流程:stm32串口初始化,模块初始化,设置更新速率,保存配置,串口2接收消息,对接收到的消息进行字符串处理,提取有用的信息加以利用。 以下给出主要程序: 串口部分: 串口2初始化代码: void USART2_Init_JAVE( u32 bound ) { GPIO_I
[单片机]
STM32中断系统笔记
CM3中 STM32参考教程: STM32开发指南V1.0库函数版
[单片机]
<font color='red'>STM32</font>中断系统笔记
Microchip最低功率大内存16位单片机
2008 年 4 月 1 日, 单片机和模拟半导体供应商 ——Microchip Technology Inc. (美国微芯科技公司)今天宣布 扩展其高性价比 PIC 24F 16 位单片机( MCU ) 系列,新增 9 款全球功率最低( 2.6 µA 待机电流)的大内存(高达 256 KB 闪存及 16 KB RAM 内存) 16 位单片机。 该系列是全球首个具有集成充电时间测量单元( CTMU ) 外设的 16 位单片机系列,配合免版税的 mTouch 传感解决方案 软件开发工具包,可让设计人员无需任何外部组件即可轻松增设电容触摸传
[新品]
stm32内核外设Systick与普通外设中断优先级比较的验证实验
最近又遇到了使用Systick来产生精确计时,然后又涉及到了Systick的中断优先级的问题。我们老板认为Systick属于内核外 设,中断优先级应该比普通外设高。然后我们说,在网上看到的是,Systick的中断优先级ST官方默认设置15(1111b),然 后换算为4位(M4用4位来表示优先级分组)是3(抢占优先级),3(响应优先级),其实是最低的,但老板说虽然它是最低的,但它是跟CPU紧耦合的内核外设,它依然能打断优先级比它高的普通外设,当然我们也有点不确定网上说的就是对的(还是老板说的就是错的,==)。于是就做了一个对比实验,测试到底是Systick到底能否打断中断优先级比它高的。 实验环境条件如下:MDK v5.21a,
[单片机]
STM32中断优先级和开关总中断
一,中断优先级: STM32(Cortex-M3)中的优先级概念 STM32(Cortex-M3)中有两个优先级的概念 抢占式优先级和响应优先级,有人把响应优先级称作'亚优先级'或'副优先级',每个中断源都需要被指定这两种优先级。 具有高抢占式优先级的中断可以在具有低抢占式优先级的中断处理过程中被响应,即中断嵌套,或者说高抢占式优先级的中断可以嵌套低抢占式优先级的中断。 当两个中断源的抢占式优先级相同时,这两个中断将没有嵌套关系,当一个中断到来后,如果正在处理另一个中断,这个后到来的中断就要等到前一个中断处理完之后才能被处理。如果这两个中断同时到达,则中断控制器根据他们的响应优先级高低来决定先处理
[单片机]
ST全新软件包可支持开发Azure RTOS,加快智能产品研发
半导体供应商意法半导体(STMicroelectronics,简称ST;纽约证券交易所代码:STM) 加大对基于Microsoft®Azure RTOS平台的下一代智能物联网设备的开发支持,发布面向产品研发团队的功能丰富的STM32Cube扩展包系列的首个软件包。 意法半导体和微软于2020年宣布,开发者可以从意法半导体的STM32Cube *生态系统直接使用Azure RTOS套件。基于这项合作计划,新软件包提供更多的应用代码示例,帮助工程师克服常见的开发挑战,缩短产品上市时间。 软件包免版税,开发人员可以立即使用和自定义代码示例。 意法半导体副总裁、微控制器事业部总经理Ricardo de Sa Earp表示: “
[单片机]
ST全新软件包可支持开发Azure RTOS,加快智能产品研发
意法半导体STM32微控制器加密算法库通过美国安全标准认证
中国,2016年7月19日 横跨多重电子应用领域、全球领先的半导体供应商意法半导体(STMicroelectronics,简称ST;纽约证券交易所代码:STM)的STM32微控制器加密算法库成功通过美国密码算法验证体系(US Cryptographic Algorithm Validation Program,CAVP)验证,有助于客户快速、经济地提高新产品的安全性。 作为STM32Cube软件包的扩展模块,X-CUBE-CRYPTOLIB算法库可直接用于基于STM32的注重安全的产品,包括物联网(IoT)硬件、销售终端设备、智能表计、门禁系统和指纹识别模块。CAVP认证免除了企业的算法验证负担,让那些想要获取美国联邦信息处理
[半导体设计/制造]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved