关于FT和TTa引脚作为数据IO时配置问题
虽然STM32F4内部带了RTC,但公司最近项目还是使用了外部时钟DS1302。以前只在51上用过,本以为在F4上移植只是简单更改一下,没想到却发现了一点问题。
硬件使用的电路和下图类似:
只不过三个IO上拉都使用了10K电阻,上拉所接的是3.3V。
然后发现在同样的配置时,PA5-DIO,PA6-CLK,PA7-RST怎么也读不出来,但是使用PA3-DIO,PA2-CLK,PA1-RST或者PC0-CLK,PC1-RST,PC3-DIO就可以。
最后发现CLK和RST用哪个引脚没关系,只和DIO有关。查了资料发现PA5是TTa,而另外两种是FT。只是耐压值不同,TTa只有3.3V,FT可以有5V。但是引脚在使用时,通过示波器看到应该都是没有超过3.3V的。
配置代码:
#define DS1302_SDA_IN() {GPIOA->MODER &= ~(0x11<<10);GPIOA->MODER |= 0<<10;}
#define DS1302_SDA_OUT() {GPIOA->MODER &= ~(0x11<<10);GPIOA->MODER |= 1<<10;}#define CE PAout(7)
#define SCLK PAout(6)
#define DATA_OUT PAout(5)
#define DATA_IN PAin(5)
void DS1302_Init(void)
{GPIO_InitTypeDef GPIO_InitStructure;RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);RCC_AHB2PeriphClockCmd(RCC_APB2Periph_SPI1,DISABLE);GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7 | GPIO_Pin_6 | GPIO_Pin_5;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;GPIO_InitStructure.GPIO_OType = GPIO_OType_OD;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;//100MHzGPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;GPIO_Init(GPIOA, &GPIO_InitStructure);
}
以上配置TTa类型引脚并不能读出数据,FT却可以。最后偶然发现更改上下拉可以解决:
#define DS1302_SDA_IN() GPIO_Set(GPIOA,PIN5,GPIO_MODE_IN,GPIO_OTYPE_OD,GPIO_SPEED_100M,GPIO_PUPD_PU);
#define DS1302_SDA_OUT() GPIO_Set(GPIOA,PIN5,GPIO_MODE_OUT,GPIO_OTYPE_OD,GPIO_SPEED_100M,GPIO_PUPD_NONE);
//GPIO_Set()见原子F4寄存器版开发例程
更改后成功读出数据,但是具体原因还未找到。
关于FT和TTa引脚作为数据IO时配置问题相关推荐
- 用IO口时注意是FT和TTa
今天遇到这样的一个问题,之前功能都是没有问题的,硬件上面换了一个IO口,这次的IO口是stm32f030的PB0,这个脚作用是使能电源IC,测量开机正常时的这个IO的电压(外部电路给的)有3.7v左右 ...
- r语言提取列名_R语言基础(2)向量|矩阵|数组|数据框|数据IO|实用函数
"pythonic生物人"的第85篇分享. 本文梳理R语言数据结构:向量.矩阵.数据框: 数据IO及实用函数. 本文速览
- 云端TensorFlow读取数据IO的高效方式
低效的IO方式 最近通过观察PAI平台上TensoFlow用户的运行情况,发现大家在数据IO这方面还是有比较大的困惑,主要是因为很多同学没有很好的理解本地执行TensorFlow代码和分布式云端执行T ...
- 手游server之数据IO进化
这里数据IO是指游戏数据存盘和读取. 假设IO处理不好.server在IO时会导致.游戏卡顿较长的时间,严重影响游戏体验. 近期服务端刚好对IO这一块做了优化,把优化过程记录一下. 一 原始版 刚開始 ...
- zynq文档学习之向GPIO引脚写数据
作为实验GPIO连接MIO控制LED的前置知识,摘自ug585的14.3章 首先看14.3.1启动顺序,第一步复位(上电自动复位)和第二步时钟(时钟信号由板子提供,晶振倍频)都不用考虑,重点学习第三步 ...
- STM32F10×××系列的PC13、PC14、PC15引脚用作普通IO口配置方法
1. 引脚定义 2. 引脚用作普通IO口的条件 注:最新文档中已经删除"在同一时间只有一个引脚能作为输出"也就是三个引脚可以同时作为输出引脚,其他条件未变 3. 代码 void g ...
- 深度学习中的TTA(Test Time Augmentation)--测试时数据增强技术
定义:TTA(Test Time Augmentation):测试时数据增强 方法:测试时将原始数据做不同形式的增强,然后取结果的平均值作为最终结果 作用:可以进一步提升最终结果的精度 原因:如果只对 ...
- STM32 PB3 PB4 PA15引脚作为普通IO口使用指南
STM32 PB3 PB4 PA15引脚作为普通IO口使用指南 stm32的PB3 PB4 PA15引脚可以在使用SWD仿真和烧录的情况下释放出来,作为普通IO口使用. 查看数据手册的引脚定义可以看到 ...
- 文件数据IO 的细节分析
文件数据IO 的细节分析: 参考: Linux设备驱动开发详解:基于最新的Linux4.0内核:宋宝华编著. 编程离不开数据, 所以数据获取是编程的第一步. 1.文件打开方式 数据IO可以是阻塞式式的 ...
最新文章
- linux编译安装jpeg,Linux下JPEG库安装脚本(转)
- 【RocketMQ工作原理】
- asp.net oracle参数传递,asp.net – Oracle参数问题中的链接数据库
- 太阳能工程联箱知识_暖通设计|太阳能热水系统设计参考手册(供参考)
- 故人的一份连连看代码,c语言版本
- 盈建科弹性板6计算_硅酸钙板的安装技巧和选购技巧
- DevExpress GridControl 后台设置列
- 二、bootstrap4基础(flex布局)
- easycode不推荐使用_为什么?mysql不推荐使用uuid或者雪花id作为主键?
- 这个坑,坑死职场年轻人
- 编码Ascii;unicode; utf-8;utf-16;utf-32;gb2312;gbk
- 如何使用谷歌云盘下载Kaggle数据集+解压
- 程序员工作几年的一些感悟
- android 获取快捷开关_Android11新功能汇总,悬浮聊天气泡、快捷开关颜色可调整等...
- 2304558-25-4,DBCO-PEG2-acid分子量是464.5的小分子PEG试剂带有PEG连接物和DBCO基团
- Fiddler:显示请求花费的时间
- 如何用Java读取单元格的数据_Java读取Excel中的单元格数据
- html5 jquery paint plugin,5+最好的画板,并在画布上手动绘制JavaScript和jQuery插件
- 百度地图只显示你想要的部分
- Fortify SCA快速入门以及常见问题解决方法
热门文章
- CAD快速看图,如何将CAD转PDF呢?
- android 微信小程序 gps 飘,微信小程序 自带 GPS 定位的坑
- 看雪学院-OllyDBG入门系列(四)内存写入 笔记
- iperf udb_使用PHP脚本通过Zend Core for i5 / OS访问DB2 UDB for iSeries数据
- java eclipse调试提示Source not found 或 一闪而过 解决方法
- 阿里云备案服务号申请方法及申请条件
- GitHub官方代码扫描工具上线,免费查找代码漏洞 !
- *grep -F/f的作用*
- dell主板恢复出厂设置_戴尔dell电脑恢复出厂设置教程(BIOS恢复出厂设置,新版台式机)...
- XML快速入门的保姆级教程!!!